<?php
// Системный файл для надстроек
require('../flowap/system.php');
if (empty($user['id'])): header('location: /'); exit; endif;
// Системная настройка
define('R', $_SERVER['DOCUMENT_ROOT']);
// Основные разделы
switch ($act) {
default:
header('location: /'); exit;
break;
case 'fotos':
if(!empty($_FILES['file']['name'])):
$name = functions::htmlred(basename($_FILES['file']['name'])); // фильтруем
$maxsize = 10; // максимальный размер в мегабайтах
$whitelist = ['jpg', 'jpeg', 'png', 'svg', 'gif']; // разрешения
$dir = R.'/files/fotos'; // куда загружаем
$dirm = R.'/files/fotos/m'; // куда загружаем меньше версию
$indos = new SplFileInfo($name);
$ext = $indos->getExtension();
$size = $_FILES['file']['size']; // вес файла
//$raz = getimagesize($_FILES['file']['tmp_name']); // размеры изображения
if ($size > (1048576 * $maxsize)): // если большой размер
$err = "Максимальный вес файла $maxsize МБ.";
elseif(!in_array($ext, $whitelist)): // если расширение файла не допустимо
$err = 'Такое разрешение не допустимо.';
endif;
if(isset($err)):
$_SESSION['err'] = $err;
header('location: /sett/lic/'); exit;
else:
/*
if(isset($user['fotos'])): // Если есть фото то старое удаляем
unlink($dir.'/'.$user['fotos']);
unlink($dirm.'/'.$user['fotos']);
endif;
*/
$tmp_name = functions::htmlred($_FILES["file"]["tmp_name"]);
$avas = mt_rand(1,999).time().'.'.$ext;
move_uploaded_file($tmp_name, "$dir/$avas");
if (functions::img_resize($dir.'/'.$avas, $dirm.'/'.$avas, 60, 60)):
DB::$dbs->query('INSERT INTO `fotos` SET `file` = ?, `idus` = ?, `time` = ?',[$avas,$user['id'],time()]);
$idl = DB::$dbs->lastInsertId();
DB::$dbs->query('UPDATE `user` SET `fotos` = ? WHERE `id` = ?',[$idl,$user['id']]);
else:
unlink($dir.'/'.$avas);
$_SESSION['err'] = 'Ошибка обработки изображений.';
header('location: /sett/lic/'); exit;
endif;
$_SESSION['good'] = 'Успешно добавлено.';
header('location: /sett/lic/'); exit;
endif;
else:
header('location: /'); exit;
endif;
break;
case 'them':
$sql = DB::$dbs->queryFetch('SELECT `id`,`status`,`idus` FROM `forum_them` WHERE `id` = ? LIMIT 1', [$id]);
if (empty($sql['id']) or $sql['status'] == 2 or $user['id'] != $sql['idus']): $_SESSION['err'] = 'Ошибка добавления.'; header('location: /'); exit; endif;
if(!empty($_FILES['file']['name'])):
$name = functions::htmlred(basename($_FILES['file']['name'])); // фильтруем
$maxsize = 20; // максимальный размер в мегабайтах
$whitelist = ['jpg', 'jpeg', 'png', 'svg', 'gif', 'zip', 'rar']; // разрешения
$dir = R.'/files/them'; // куда загружаем
$indos = new SplFileInfo($name);
$ext = $indos->getExtension();
$size = $_FILES['file']['size']; // вес файла
if ($size > (1048576 * $maxsize)): // если большой размер
$err = "Максимальный вес файла $maxsize МБ.";
elseif(!in_array($ext, $whitelist)): // если расширение файла не допустимо
$err = 'Такое разрешение не допустимо.';
endif;
if(isset($err)):
$_SESSION['err'] = $err;
header('location: /forum/t/'.$id.'/'); exit;
else:
$tmp_name = functions::htmlred($_FILES["file"]["tmp_name"]);
$avas = mt_rand(1,999).time().'.'.$ext;
move_uploaded_file($tmp_name, "$dir/$avas");
DB::$dbs->query('INSERT INTO `forum_files` SET `idus` = ?, `idthem` = ?, `time` = ?, `file` = ?, `raz` = ?, `size` = ?',[$user['id'],$id,time(),$avas,$ext,$size]);
$_SESSION['good'] = 'Успешно добавлено.';
header('location: /forum/t/'.$id.'/'); exit;
endif;
else:
header('location: /'); exit;
endif;
break;
}
?>