Файл: soc-set/moduls/files/upload.php
Строк: 46
<?php
require_once('../../core/start.php');
require_once('func.php');
check_auth();
$id = abs(num($_GET['user']));
$ank = DB::$dbs->queryFetch("SELECT * FROM ".USERS." WHERE `user_id` = ? ", array($id));
if (empty($ank)) {
head('Пользователь не найден');
echo DIV_TITLE . 'Пользователь не найден' . CLOSE_DIV;
echo DIV_BLOCK . 'Ошибка!' . CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">На главную</a> / <b>Пользователь не найден</b>' . CLOSE_DIV;
exit();
}
$folder = DB::$dbs->queryFetch("SELECT * FROM ".FILES." WHERE `id` = ? && `user_id` = ? ", array(abs(num($_GET['folder'])), $ank['user_id']));
if (empty($folder)) {
head('Каталог не найден');
echo DIV_TITLE . 'Каталог не найден' . CLOSE_DIV;
echo DIV_ERROR . 'Ошибка!' . CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/id'.$ank['user_id'].'">'.$ank['nick'].'</a> / <a href="'.HOME.'/files/'.$ank['user_id'].'/">Личные файлы</a> / <b>Каталог не найден</b>' . CLOSE_DIV;
require_once('../../core/stop.php');
exit();
}
/* **** */
head('Загрузка файла');
echo DIV_TITLE . 'Загрузка файла' . CLOSE_DIV;
if (!empty($_POST['upload'])) {
$new_name = html($_POST['name']);
$whitelist = type($folder['type']);
$name = html($_FILES['file']['name']);
$ext = strtolower(strrchr($name, '.')); # Расширение файла
$size = $_FILES['file']['size'];
if (preg_match('/.phtml/i', $name) || preg_match('/.php/i', $name) || preg_match('/.pl/i', $name) || $name == '.htaccess' || !in_array($ext, $whitelist)) {
echo 'Не верное расширение файла.<br />';
require_once('../../core/stop.php');
exit();
}
/* Имя файла при отображении */
if (!empty($new_name)) {
$view_name = $new_name;
} else {
$view_name = html($name);
}
/* Генерируем название файла */
if ($folder['type'] == 1) {
$name_file = SITE . '_' . time().$ext;
} else {
$name_file = time().$ext;
}
if (!empty($err)) {
echo DIV_BLOCK . $err . CLOSE_DIV;
} else {
copy($_FILES['file']['tmp_name'], '../../files/usfiles/'.$name_file);
/* Запись в БД */
DB::$dbs->query("INSERT INTO ".FILES_FILE." (`folder_id`, `user_id`, `name`, `url`, `time`, `size`, `type`, `loads`, `status`) VALUES
(?,?,?,?,?,?,?,?,?)", array($folder['id'], $ank['user_id'], $view_name, $name_file, time(), $size, $ext, 0, 1));
balls_operation(10);
#$lastid = DB::$dbs->lastInsertId();
#header("Location: ".HOME."/files/".$ank['user_id']."/".$folder['id']."/".$lastid."/");
echo DIV_BLOCK . 'Файл загружен. Файл будет показан в списке, после проверки модератора.' . CLOSE_DIV;
}
}
/* *** */
require_once('../../core/stop.php');
?>