Файл: CMS/core/modules/users_upload.php
Строк: 85
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ($is_logged) {
if (!empty($_POST['submit'])) {
if (!empty($_FILES['photo']['name'])) {
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (is_uploaded_file($_FILES['photo']['tmp_name'])) {
$photoname = check(strtolower($_FILES['photo']['name']));
$photosize = getimagesize($_FILES['photo']['tmp_name']);
$ext = strtolower(substr(strrchr($photoname, '.'), 1));
if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'png') {
if ($_FILES['photo']['size'] > 0 && $_FILES['photo']['size'] <= $config['photos_max_weight']) {
if ($photosize[0] <= $config['photos_max_size'] && $photosize[1] <= $config['photos_max_size'] && $photosize[0] >= 100 && $photosize[1] >= 100) {
if (is_quarantine($log)) {
if (is_flood($log)) {
require_once( ENGINE . '/classes/upload.class.php' );
$handle = new upload($_FILES['photo']);
if ($handle -> uploaded) {
$handle -> file_new_name_body = $log;
$handle -> image_resize = true;
$handle -> image_ratio = true;
$handle -> image_ratio_no_zoom_in = true;
$handle -> image_y = $config['photos_max_size'];
$handle -> image_x = $config['photos_max_size'];
$handle -> file_overwrite = true;
if (!empty($config['photos_watermark'])) {
$handle -> image_watermark = ROOTPATH . $config['photos_watermark'];
$handle -> image_watermark_position = 'BR';
}
$pic = $db->selectRow("SELECT `users_picture` FROM ?_users WHERE `users_login` = ? LIMIT 1;", $log);
if (!empty($pic['users_picture'])) {
unlink_image('upload/photos/', $pic['users_picture']);
$db->query("UPDATE ?_users SET `users_picture` = '' WHERE `users_login` = ?", $log);
}
$handle -> process( ROOTPATH . '/upload/photos/' );
if ($handle -> processed) {
$db->query("UPDATE ?_users SET `users_picture` = ? WHERE `users_login` = ?;", $log . '.' . $ext, $log);
$handle -> clean();
$inSes->addMessage('Фотография успешно загружена!', 'ok');
gen_red('profil', '', RND);
}
else $inSes->addMessage('Произошла Ошибка! ' . $handle -> error);
}
else $inSes->addMessage('Ошибка! Не удалось загрузить изображение!');
}
else $inSes->addMessage('Антифлуд! Вы слишком часто добавляете фотографии!');
}
else $inSes->addMessage('Карантин! Вы не можете добавлять фото в течении ' . round($config['allow_karantin'] / 3600) . ' часов!');
}
else $inSes->addMessage('Ошибка! Размер изображение должен быть от 100 до ' . $config['photos_max_size'] . ' px');
}
else $inSes->addMessage('Ошибка! Вес изображения должен быть не более ' . size($config['photos_max_weight']));
}
else $inSes->addMessage('Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!');
}
else $inSes->addMessage('Ошибка! Не удалось загрузить фотографию!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
else $inSes->addMessage('Ошибка! Вы не выбрали фотографию!');
gen_red('profil', '', RND);
}
show_header('Загрузка фотографии');
$form = new cmsForm(gen_uri('upload', '', 'rnd=' . $_SESSION['token']), 'post');
$form->addFile('- Прикрепить фото:', 'photo', ' accept="image/jpeg,image/gif,image/png"');
echo $form->Submit('Загрузить', 'submit');
unset($form);
echo '<div class="b">';
echo 'Разрешается добавлять фото с расширением jpg, jpeg, gif и png<br />';
echo 'Весом не более ' . size($config['photos_max_weight']) . ' и размером от 100 до ' . num($config['photos_max_size']) . ' px<br /></div>';
echo '<div class="b">' . icon('return.png') . ' <a href="' . gen_uri('profil', '', RND) . '">Вернуться</a><br /></div>';
}
else {
show_header('Загрузка фотографии');
show_login('Вы не авторизованы, чтобы загружать фотографии, необходимо');
}
?>