' . $lng['back'] . '');
require('../incfiles/end.php');
exit;
}
// Проверяем, был ли файл уже загружен
$exist = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_files` WHERE `post` = '$id'"), 0);
if ($exist) {
echo functions::display_error($lng_forum['error_file_uploaded']);
require('../incfiles/end.php');
exit;
}
if (isset($_POST['submit'])) {
/*
-----------------------------------------------------------------
Проверка, был ли выгружен файл и с какого браузера
-----------------------------------------------------------------
*/
$do_file = false;
$file = '';
if ($_FILES['fail']['size'] > 0) {
// Проверка загрузки с обычного браузера
$do_file = true;
$file = functions::rus_lat(mb_strtolower($_FILES['fail']['name']));
$fsize = $_FILES['fail']['size'];
}
/*
-----------------------------------------------------------------
Обработка файла (если есть), проверка на ошибки
-----------------------------------------------------------------
*/
if ($do_file) {
// Список допустимых расширений файлов.
$al_ext = array_merge($ext_win, $ext_java, $ext_sis, $ext_doc, $ext_pic, $ext_arch, $ext_video, $ext_audio, $ext_other);
$ext = explode(".", $file);
$error = array();
// Проверка на допустимый размер файла
if ($fsize > 1024 * $set['flsz'])
$error[] = $lng_forum['error_file_size'] . ' ' . $set['flsz'] . 'kb.';
// Проверка файла на наличие только одного расширения
if (count($ext) != 2)
$error[] = $lng_forum['error_file_name'];
// Проверка допустимых расширений файлов
if (!in_array($ext[1], $al_ext))
$error[] = $lng_forum['error_file_ext'] . ':
' . implode(', ', $al_ext);
// Обработка названия файла
if(mb_strlen($ext[0]) == 0){
$ext[0] = '---';
}
$ext[0] = str_replace(" ", "_", $ext[0]);
$fname = mb_substr($ext[0], 0, 32) . '.' . $ext[1];
// Проверка на запрещенные символы
if (preg_match("/[^\da-z_\-.]+/", $fname))
$error[] = $lng_forum['error_file_symbols'];
// Проверка наличия файла с таким же именем
if (file_exists("../files/forum/attach/$fname")) {
$fname = time() . $fname;
}
// Окончательная обработка
if (!$error && $do_file) {
// Для обычного браузера
if ((move_uploaded_file($_FILES["fail"]["tmp_name"], "../files/forum/attach/$fname")) == true) {
@chmod("$fname", 0777);
@chmod("../files/forum/attach/$fname", 0777);
echo $lng_forum['file_uploaded'] . '
';
} else {
$error[] = $lng_forum['error_upload_error'];
}
}
if (!$error) {
// Определяем тип файла
$ext = strtolower($ext[1]);
if (in_array($ext, $ext_win)) $type = 1;
elseif (in_array($ext, $ext_java)) $type = 2; elseif (in_array($ext, $ext_sis)) $type = 3; elseif (in_array($ext, $ext_doc)) $type = 4; elseif (in_array($ext, $ext_pic)) $type = 5; elseif (in_array($ext, $ext_arch)) $type = 6; elseif (in_array($ext, $ext_video)) $type = 7; elseif (in_array($ext, $ext_audio)) $type = 8; else $type = 9;
// Определяем ID субкатегории и категории
$req2 = mysql_query("SELECT * FROM `forum` WHERE `id` = '" . $res['refid'] . "'");
$res2 = mysql_fetch_array($req2);
$req3 = mysql_query("SELECT * FROM `forum` WHERE `id` = '" . $res2['refid'] . "'");
$res3 = mysql_fetch_array($req3);
// Заносим данные в базу
mysql_query("INSERT INTO `cms_forum_files` SET
`cat` = '" . $res3['refid'] . "',
`subcat` = '" . $res2['refid'] . "',
`topic` = '" . $res['refid'] . "',
`post` = '$id',
`time` = '" . $res['time'] . "',
`filename` = '" . mysql_real_escape_string($fname) . "',
`filetype` = '$type'
");
} else {
echo functions::display_error($error, '' . $lng['repeat'] . '');
}
} else {
echo $lng_forum['error_upload_error'] . '
';
}
$pa = mysql_query("SELECT `id` FROM `forum` WHERE `type` = 'm' AND `refid` = '" . $res['refid'] . "'");
$pa2 = mysql_num_rows($pa);
$page = ceil($pa2 / $kmess);
echo '
' . $lng['continue'] . '
';
} else {
/*
-----------------------------------------------------------------
Форма выбора файла для выгрузки
-----------------------------------------------------------------
*/
echo '