Вход Регистрация
Файл: CMS/core/modules/users_files_add_file.php
Строк: 129
<?php

if (!defined('CMS')) { die('Access Denied!'); }

$data $db->selectRow("SELECT * FROM ?_users WHERE LOWER(`users_login`) = ? LIMIT 1;"cms_tolower($uz));

if (empty(
$data) || !is_array($data)) {

    
$inSes->addMessage('Ошибка! Пользователь с данным логином не найден!');
    
redirect($config['site_url']);
}

if (
$data['users_ban'] == 1) {

    
$inSes->addMessage('Ошибка! Пользователь заблокирован!');
    
redirect($config['site_url']);
}

if (
$config['allow_regkeys'] > && $data['users_confirmreg'] > 0) {

    
$inSes->addMessage('Ошибка! Пользователя не существует!');
    
redirect($config['site_url']);
}

$error '';

if (
$is_logged) {

    if (
$data['users_login'] == $log) {

        
$files_path ROOTPATH DS $config['files_folder'];

        if (!
is_dir($files_path)) {

            
mkdir($files_path0755);
        }

        if (!
is_file($files_path '/.htaccess')) {

            
file_put_contents($files_path '/.htaccess'"php_flag engine offn<Files ~ ".(php|php3|php4|php5|pl|cgi|phtml)$">n   Order allow,denyn   Deny from alln</Files>");
            @
chmod($files_path '/.htaccess'0111);
        }

        
$count = (int) $db->selectCell("SELECT COUNT(1) FROM ?_downs WHERE `downs_user` = ? LIMIT 1;"$log);

        if (
$count $uset['users_uploads']) {

            
$inSes->addMessage('Ошибка! Превышен лимит на загрузку файлов!''info');
            
gen_red('place'''RND);
        }

        
$row = array();
        
$row $db->selectRow("SELECT * FROM ?_downs_category WHERE `cats_user` = ? AND `cats_id` = ? LIMIT 1;"$log$id);

        if (empty(
$row) || !is_array($row)) {

            
$inSes->addMessage('Ошибка! Папка не найдена или ссылка неверна!');
            
gen_red('files'''RND);
        }

        if (!empty(
$_POST['cancel'])) {

            
gen_red('files'$idRND);
        }

        if (!empty(
$_POST['upload'])) {

          
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
          
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
          
$sex  = !empty($_POST['sex'])  ? 0;

          if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            if (
cms_strlen($name) >= && cms_strlen($name) <= 100) {

              if (
cms_strlen($text) >= && cms_strlen($text) <= 1000) {

                if (
is_quarantine($log)) {

                  if (
is_flood($log)) {

                    if (
$config['users_upload_file'] == || is_admin(array(101))) {

                      if (
is_uploaded_file($_FILES['loadfile']['tmp_name'])) {

                        
$filename check(strtolower($_FILES['loadfile']['name']));
                        
$filename tr(str_replace(' '''$filename), 1);

                        if (
cms_strlen($filename) <= 50) {

                          if (
preg_match('|^[a-z0-9_.-]+$|i'$filename)) {

                            
$arrext explode(','$config['upload_ext_file']);
                            
$ext    strtolower(substr(strrchr($filename'.'), 1));

                            if (
in_array($ext$arrext) && $ext != 'php') {

                              if (!
preg_match('/.(php|pl|cgi|phtml|htaccess)/i'$filename)) {

                                if (
$_FILES['loadfile']['size'] > && $_FILES['loadfile']['size'] <= $config['max_users_file_size']) {

                                  
$lastid = (int) $db->query("INSERT INTO ?_downs SET `downs_title` = ?, `downs_text` = ?, `downs_user` = ?, `downs_user_cat` = ?, `downs_time` = ?, `downs_user_sex` = ?"$name$text$log$idSITE_TIME$sex);

                                  if (
$lastid 0) {

                                    if (!
is_dir($files_path DS $lastid)) {

                                      
mkdir($files_path DS $lastid,0755);
                                    }

                                    
$fpath $files_path DS $lastid DS $filename;

                                    
move_uploaded_file($_FILES['loadfile']['tmp_name'], $fpath);

                                    @
chmod($files_path0644);

                                    
$db->query("UPDATE ?_downs SET `downs_link` = ? WHERE `downs_id` = ?"$filename$lastid);

                                    
$db->query("UPDATE ?_downs_category SET `cats_count` = (`cats_count` + 1) 
                                                WHERE `cats_user` = ? AND `cats_id` IN(" 
$row['cats_parent_all'] . ");"$log);

                                    
$subs $db->select("SELECT * FROM ?_users_lenta_subscribe
                                                         WHERE `sub_publisher` = ?"
$log);

                                    if (!empty(
$subs) && count($subs) > 0) {

                                        
$sex   = ($uset['users_gender'] == 1) ? 'добавил' 'добавила';
                                        
$text  $sex " новый файл <b>" $name "</b> в загруз-центр.n";
                                        
$text .= "[files=" $lastid "]Подробнее &gt;&gt;[/files]";

                                        foreach(
$subs as $sub) {

                                            
$db->query("INSERT INTO ?_users_lenta SET `lenta_subscriber` = ?, `lenta_publisher` = ?, `lenta_time` = ?, `lenta_message` = ?"$sub['sub_subscriber'], $logSITE_TIME$text);
                                        }
                                    }

                                    
set_lider_files($log);

                                    
$inSes->addMessage('Файл успешно загружен!''ok');

                                    
gen_red('file'$lastidRND);
                                  }
                                  else 
$error 'Произошла Ошибка! В данный момент не удалось загрузить файл!';
                                }
                                else 
$error 'Ошибка! Максимальный размер загружаемого файла ' size($config['max_users_file_size']) . '!';
                              }
                              else 
$error 'Ошибка! В названии файла присутствуют недопустимые расширения!';
                            }
                            else 
$error 'Ошибка! Недопустимое расширение файла!';
                          }
                          else 
$error 'Ошибка! В названии файла присутствуют недопустимые символы!';
                        }
                        else 
$error 'Ошибка! Слишком длинное имя файла (не более 50 символов)!';
                      }
                      else 
$error 'Ошибка! Не удалось загрузить файл!'
                    }
                    else 
$error 'Ошибка! Загрузка файлов запрещена администратором!';
                  }
                  else 
$error 'Антифлуд! Вы слишком часто добавляете файлы!';
                }
                else 
$error 'Карантин! Вы не можете добавлять файлы в течении ' round($config['allow_karantin'] / 3600) . ' часов!';
              }
              else 
$error 'Ошибка! Слишком длинное или короткое описание к файлу (от 5 до 1000 символов)!';
            }
            else 
$error 'Ошибка! Слишком длинный или короткий заголовок (от 5 до 100 символов)!';
          }
          else 
$error 'Ошибка! Неверный идентификатор сессии, повторите действие!';

          if (!empty(
$error)) $inSes->addMessage($error'error');
        }

        
show_header('Добавление файла');
        echo 
'<div class="b"><span style="color:red;">Внимание! Перед добавлением файла внимательно прочитайте</span> ';
        echo 
'<a href="' gen_uri('rules_files'$idRND) . '">Правила размещения файлов</a>.<br />';
        echo 
'<span style="color:red;">За нарушение правил, ваш ник может быть заблокирован навсегда.</span></div>';
        
$form = new cmsForm(gen_uri('add_file'$id'rnd=' $_SESSION['token']), 'post');
        
$form->addFile('Выберите файл:''loadfile');
        
$form->addText('Название: (Макс. 100 символов)''name'request('name'));
        
$form->addTextarea('Описание: (Макс. 1000 символов)''text'request('text'));
        
$form->addCheckBox(array('''Файл для взрослых (18+)'), 'sex'request('sex'));
        echo 
$form->Submit(array('Загрузить''Отмена'), array('upload''cancel'));
        unset(
$form);
        echo 
'<div class="b">';
        echo 
'Разрешается добавлять файлы с расширением ' str_replace(','', '$config['upload_ext_file']) . '<br />';
        echo 
'Весом не более ' size($config['max_users_file_size']) . '<br />';
        echo 
'Ваш лимит файлов ' num2name($uset['users_uploads'],array('файлов','файла','файл')) . '<br />';
        echo 
'Увеличить кол-во файлов можно <a href="' gen_uri('place'''RND) . '">тут</a>.';
        echo 
'</div>';
    }
    else {

        
redirect(gen_users($log'add_file'$idRND));
    }

}
else {

    
show_header('Добавление файла');
    
show_login('Вы не авторизованы, для добавления файлов, необходимо');
}

echo 
'<div class="b">' icon('return.png');
echo 
'<a href="' gen_uri('files'''RND) . '">Файлы</a><br /></div>';

?>
Онлайн: 0
Реклама