Вход Регистрация
Файл: download/add_file.php
Строк: 114
<?php
/*
Скрипт загруз центра для JohnCMS
Автор: Максим (simba)
ICQ: 61590077
Сайт: http://symbos.su
R866920725287
Z117468354234
*/

define('_IN_JOHNCMS'1);
$headmod 'load';
$textl 'Добавить файл';
require_once 
'../incfiles/core.php';
require_once 
'../incfiles/head.php';
require_once 
'functions.php';
$cat intval($_GET['cat']);
$dost mysql_query("select * from `downpath` where id = '" $cat "';");
$dost mysql_fetch_array($dost);
echo
'<div class="phdr">Добавление файла</div>';
if(
$dost['dost'] && $user_id 0){
    
    if(!empty(
$ban)){
        echo
'<div class="rmenu">У вас есть бан!<br/> Во время бана к загрузке файлов доступа нет!</div>';
        include_once 
'../incfiles/end.php';
    exit; 
    }
    
    

    if (isset(
$_POST['submit'])){
    
///////////////////////////////////////////////
    ////// Обработка отправленного файла //////////
    ///////////////////////////////////////////////
    
    
$error false;
    
    
$fname $_FILES['fail']['name'];
    
$fsize $_FILES['fail']['size'];
    
$scrname $_FILES['screen']['name'];
    
$scrsize $_FILES['screen']['size'];
    
$opis mysql_real_escape_string(trim($_POST['desc']));
    
$name functions::check($_POST['name']);
    
$linkname functions::check($_POST['linkname']);
    
$loaddir $loadroot.'/'.$dost['way'];
    
$scrf pathinfo($scrnamePATHINFO_EXTENSION);
    
//// ^получаем всё что нужно^ //////
    
    //////////// Транслитируем имя файла в пригодное для сохранения в фс ///////
    
$ftp name_replace($name);
    
/////// Определяем тип файла ///////
    
$typ pathinfo($fnamePATHINFO_EXTENSION);
    
//////// Конечное имя файла для сохранения /////////
    
$ftp $ftp.'.'.$typ;
    
    if(
is_file($loaddir.$ftp)) // Если файл существует, дописываем время в имя.
       
$ftp time().$ftp;

    
$ftypes explode(',',$dost['types']);
    
    if(isset(
$opis) && $opis != '')
        
$opis '[b]Описание:[/b] '.$opis;

    if(empty(
$name))
        
$error[] = 'Не введено имя файла для отображения!';

    if (!
in_array('all'$ftypes) && !in_array($typ$ftypes))
           
$error[] = 'Тип отправляемого вами файла ('.$typ.') не разрешён к загрузке!';

    
$ftypes = array('jpg''gif''png''jpeg'); // Типы скриншотов. Если нужны другие, пропишите через запятую.
    
    
if ($scrf && !in_array($scrf$ftypes))
           
$error[] = 'Тип отправляемого вами скриншота ('.$scrf.') не разрешён к загрузке!';

    
$filesize 1024$down_setting['filesize'];
    
////// Проверяем размер файла ///////
    
if ($fsize $filesize)
           
$error[] = 'Размер вашего файла ('.size_convert($fsize).') превышает допустимый размер ('.size_convert($filesize).')';

    
///// Проверяем размер скриншота /////
    
if ($scrsize $filesize)
           
$error[] = 'Размер вашего скриншота ('.size_convert($scrsize).') превышает допустимый размер ('.size_convert($filesize).')';

    
////// На всякий случай проверяем название файла если не справился фильтр ///////
    
if (preg_match("/[^a-z0-9.()+_-]/i"$ftp))
            
$error[] = 'В названии файла <b>'.$ftp.'</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )';


    if(!
$error){
    
// Сохраняем всё если нет ошибок.
    
if ((move_uploaded_file($_FILES["screen"]["tmp_name"], $filesroot.'/screens/'.$ftp.'.'.$scrf)) == true){
            @
chmod("screens/$ftp.$scrf"0777);
            echo 
"<div class='gmenu'>Скриншот загружен!</div>";
        }
    if ((
move_uploaded_file($_FILES["fail"]["tmp_name"], $loaddir.$ftp)) == true){
            @
chmod("$save"0777);
            echo 
"<div class='gmenu'>Спасибо! Файл успешно загружен!</div>";
            echo 
"<div class='rmenu'>После прохождения модерации файл будет доступен для просмотре всем пользователям!</div>";
            
$name $name.'||||'.$linkname;
            
mysql_query("INSERT INTO `downfiles` SET
            `pathid` = '" 
$cat "',
            `way` = '"
.$dost[way].$ftp."',
            `name` = '"
.$name."',
            `desc` = '"
.$opis."',
            `time` = '" 
time() . "',
            `gol` = '',
            `login` = '"
.$login."',
            `user_id` = '"
.$user_id."',
            `status` = 0;"
);
            
$rid mysql_insert_id();
    if(
$scrf){
    
mysql_query("INSERT INTO `downscreen` SET
    `fileid` = '"
.$rid."',
    `way` = '"
.$ftp.".".$scrf."';");
    }
    }else{
    echo 
"<div class='rmenu'>Ошибка при загрузке файла</div>";
    }
    
    }else{
    
// Найдены ошибки. Уведомляем юзера о них.
    
echo functions::display_error($error);
    echo 
'<div class="menu"><a href="add_file.php?cat='.$cat.'">Повторить</a></div>';
    include_once 
'../incfiles/end.php';
    exit;    
    }    
    }else{
    
///////////////////////////////////////////////
    ////////////// Форма выбора файла /////////////
    ///////////////////////////////////////////////
    
$set_download unserialize($datauser['set_forum']);
    echo 
'<div class="rmenu">Обязательные поля отмечены звёздочкой! (*)</div>';
    echo 
'<form name="add_file" action="add_file.php?cat='.$cat.'" method="post" enctype="multipart/form-data">';
    echo
'<div class="menu"><b>*</b> Выберите файл:<br/><input type="file" name="fail"/><br/>
    <small>[!] Допустимые типы файлов в данной папке: <b>'
.$dost['types'].'</b></small></div><div class="menu">
    Выберите скриншот:<br/><input type="file" name="screen"/><br/>
    <small>[!] Допустимые типы файлов: <b>jpg,gif,png</b></small></div><div class="menu">
    <b>*</b> Имя для отображения:<br/><input type="text" name="name" value=""/></div>
    <div class="menu">
    Имя для ссылки скачать:<br/><input type="text" name="linkname" value=""/><br/><small>Отображается вместо "Скачать основной файл"</small></div>
    <div class="menu"><b>*</b> Описание файла: <br/>
    <small>Пожалуйста, описывайте файл максимально точно! Не заставляйте качающих догадываться. :)</small><br />'
;
    if(!
$is_mobile)
    echo 
bbcode::auto_bb('add_file''desc');
    echo 
'<textarea cols="' $set_user['field_w'] . '" rows="' $set_user['field_h'] . '" name="desc"></textarea><br/>
    </div><div class="menu">
    
    <small>[!] Размеры данного поля настроиваются в настройках форума</small></div>'
;
    echo
'<div class="menu"><input type="submit" name="submit" value="Загрузить"/></div></form>';
    }
    echo
'<div class="gmenu"><a href="dir_' $cat '.html">Назад в папку</a></div>';

}else{
    echo
'<div class="rmenu">Вы не авторизованы или загрузка файлов в данную директорию запрещена!</div>';
}

require_once 
'../incfiles/end.php';
?>
Онлайн: 2
Реклама