Вход Регистрация
Файл: modules/forum/add_files.php
Строк: 94
<?php
/****
* @package LiveCMS
* @link livecms.org
* @author MyZik
* @version See attached file VERSION.txt
* @license See attached file LICENSE.txt
* @copyright Copyright (C) LiveCMS Development Team
****/

ob_start();
$lang_forum load_lng('forum'); // Подключаем файл языка

$title $lang_forum['forum']; // Заголовок страницы
$module 'forum'// Модуль

  /**
    * Проверка наличия авторизации
  **/
  
if (!isset($user)) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang['only_users'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="/index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
/**
    * Проверяем, задан ли параметр
  **/
  
if (!isset($_GET['id']) || empty($_GET['id']) || !is_numeric($_GET['id'])) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang['error_parameter'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="/index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
/**
    * Проверяем существование сообщения
  **/
  
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `id` = '" num($_GET['id']) . "'"), 0) == 0) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang_forum['message_not_exists'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
$ID num($_GET['id']);
  
$post mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_forum_messages` WHERE `id` = '$ID' LIMIT 1"));

  
/**
    * Проверяем, закрыта ли тема
  **/
  
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_topics` WHERE `id` = '" $post['topic_id'] . "' AND `close` = 'yes'"), 0) != 0) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang_forum['topic_closed'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  require_once(
HOME .'/incfiles/header.php');
  
$pagesMess mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `topic_id` = '" $post['topic_id'] . "'"), 0);
  
$ceil ceil($pagesMess $countMess);
  
$end_page = ($ceil '&page=' $ceil '');
  if (isset(
$_POST['add'])) {
      
/**
        * Добавляем файл, если он был. За основу позаимствована функция из JohnCMS 3.x.x, доработанная мной
      **/
      
$do_file false;
      if (isset(
$_FILES['file'])) {
        
$do_file true;
        
$name $_FILES['file']['name']; // название файла
        
define('SIZE'$_FILES['file']['size']); // размер файла
      
}
      if (
$do_file) {
        
$al_ext = array('zip', 'rar', '7z', 'tar', 'gz', 'apk''ipa''mp3', 'amr''txt', 'pdf', 'doc', 'rtf', 'djvu''xls''sql''jar', 'jad''jpg', 'jpeg', 'gif''png''bmp''sis', 'sisx''3gp', 'avi', 'flv', 'mpeg''mp4''exe''msi'); // допустимые расширения
        
$ext explode("."$name);

        
/**
          *  Проверяем размер файла
        **/
        
if (SIZE 1024 200)
          
$err[] = $lang_forum['error_uploaded_file_size'];

        
/**
          *  Проверяем на недопустимое расширение
        **/
        
if (!in_array($ext[1], $al_ext))
          
$err[] = $lang_forum['error_uploaded_file_ext'] . ':<br />' implode(', '$al_ext);

        
/**
          *  Проверяем длину названия файла
        **/
        
if (mb_strlen($name) > 35)
          
$err[] = $lang_forum['error_uploaded_file_name'];

        
/**
          *  Проверяем название файла на недопустимые символы
        **/
        
if (preg_match("/[^da-z_-.()]+/"$name))
          
$err[] = $lang_forum['error_uploaded_file_symbols'];

        
/**
          *  Если файл с таким названием есть, переименовываем
        **/
        
if (file_exists(HOME "/files/forum/$name"))
          
$name $name '_' time();

        
/**
          *  Загружаем файл
        **/
        
if ($do_file) {
          if (
move_uploaded_file($_FILES["file"]["tmp_name"], HOME "/files/forum/$name") == true) {
            @
chmod("$name"0777);
            @
chmod(HOME "/files/forum/$name"0777);
          }
        }

      
/**
        * Если не было ошибок, заносим данные
      **/
      
if (!isset($err)) {
        
mysql_query("INSERT INTO `forum_files` (`topic_id`, `post_id`, `time`, `name`) VALUES ('" $post['topic_id'] . "', '$ID', '" time() . "', '" input($name) . "')");
        
header("Location: topic.php?id=$post[topic_id]$end_page);
          } else {
        echo 
error($err); // показываем ошибки, если они имеются
          
}
        }
      }

    
/**
      * Форма
    **/
    
echo '<div class="main"><form method="post" action="add_files.php?id=' $ID '" enctype="multipart/form-data">' .
    
'<input type="file" name="file" /><br />' .
    
'<input type="submit" name="add" value="' $lang['add'] . '" />' .
    
'</form></div>';

    
/**
      * Нижняя панель навигации
    **/
    
echo '<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="topic.php?id=' $post['topic_id'] . '">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php'); // подключаем ноги
ob_end_flush();
?>
Онлайн: 0
Реклама