Файл: users/ava.php
Строк: 32
<?php
define('R', $_SERVER['DOCUMENT_ROOT']);
define('S', R.'/system');
require_once(R.'/system/kernel.php');
$tmp->header('ava');
$tmp->div('title', Language::config('ava'));
User::panel();
/* Настройки */
$whitelist = array('.jpg', '.jpeg', '.gif', '.png'); # Допустимые расширения
$maxsize = 4; # В мегабайтах
$dir = R.'/files/ava'; // Папка, в которую будут загружаться файлы
if (!empty($_POST['send'])) { # Если нажата кнопка, то пытается загрузить файл.
$name = $_FILES['file']['name']; # Название файла
$ext = strtolower(strrchr($name, '.')); # Расширение файла
$size = $_FILES['file']['size']; # Вес файла
if ($size > (1048576 * $maxsize)) {
$error .= 'Размер смайла превышает допустимое значение. [Max. '.$maxsize.'mb.]<br />';
}
if (preg_match('/.php/i', $name) || preg_match('/.pl/i', $name) || $name == '.htaccess' || !in_array($ext, $whitelist)) {
$error .= 'Не верное расширение файла.<br />';
}
$avatar = rand(1,999).'_NOMICMS_'.rand(1,999). $ext;
copy($_FILES['file']['tmp_name'], $dir . '/' . $avatar ); # Копируем файл в папку
if(!isset($error))
{
$db->query("update `users` set `ava` = '".$db->escape($avatar)."' WHERE `id`='".$db->escape(User::ID())."' ");
}
}
$b=$db->query("select * from `users` where `id` = '".User::ID()."' ")->fetch_assoc();
echo (empty($b['ava']) ? '<div class="menu"><img src="files/ava/no_ava.png" alt="*" style="max-width: 210px; max-height: 210px;"></div>' : '<div class="menu"><img src="files/ava/'.$b['ava'].'" alt="*" style="max-width: 210px; max-height: 210px;"></div>');
$tmp->div('menu', '<form action="#" enctype="multipart/form-data" method="POST">
<b>Загрузка файла:</b> [max. '.$maxsize.'mb]<br /><input type="file" name="file"/><br />
<input type="submit" name="send" value="Загрузить"/>
</form>');
$tmp->footer();
?>