Файл: CMS/core/modules/users_files_add_screen.php
Строк: 117
<?php
if (!defined('CMS')) { die('Access Denied!'); }
include( dirname(__FILE__) . '/users_files.inc.php' );
if ($id < 1) {
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
gen_red('files', '', RND);
}
if ($is_logged) {
$row = '';
$row = $db->selectRow("SELECT ?_downs.*, ?_downs_category.*
FROM ?_downs LEFT JOIN ?_downs_category
ON ?_downs.`downs_user_cat` = ?_downs_category.`cats_id`
WHERE `downs_user` = ? AND `downs_id` = ? LIMIT 1;", $log, $id);
if (empty($row) || !is_array($row)) {
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
gen_red('files', '', RND);
}
if (!empty($_POST['cancel'])) {
gen_red('file', $id, RND);
}
$files_path = ROOTPATH . DS . $config['files_folder'] . DS . $id . DS;
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']));
$photoname = tr($photoname,1);
$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['screen_file_size']) {
if ($photosize[0] <= $config['photos_max_size'] && $photosize[1] <= $config['photos_max_size'] && $photosize[0] >= 100 && $photosize[1] >= 100) {
if (is_flood($log)) {
require_once( ENGINE . '/classes/upload.class.php' );
$handle = new upload($_FILES['photo']);
if ($handle -> uploaded) {
//$handle -> file_new_name_body = 'screenshot';
$handle -> file_src_name = $photoname;
$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['screen_watermark'])) {
$handle -> image_watermark = ROOTPATH . $config['screen_watermark'];
$handle -> image_watermark_position = 'BR';
}
if (!empty($row['downs_screen'])) {
unlink_screen($files_path, $row['downs_screen']);
$db->query("UPDATE ?_downs SET `downs_screen` = '' WHERE `downs_user` = ? AND `downs_id` = ?", $log, $id);
}
$handle -> process( $files_path );
if ($handle -> processed) {
$db->query("UPDATE ?_downs SET `downs_screen` = ?
WHERE `downs_user` = ? AND `downs_id` = ?", $handle -> file_dst_name, $log, $id);
$handle -> clean();
$inSes->addMessage('Фотография успешно загружена!', 'ok');
gen_red('file', $id, RND);
}
else $error = 'Произошла Ошибка! ' . $handle -> error;
}
else $error = 'Ошибка! Не удалось загрузить изображение!';
}
else $error = 'Антифлуд! Вы слишком часто добавляете скриншоты!';
}
else $error = 'Ошибка! Размер изображение должен быть от 100 до ' . $config['photos_max_size'] . ' px';
}
else $error = 'Ошибка! Вес изображения должен быть не более ' . size($config['screen_file_size']);
}
else $error = 'Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!';
}
else $error = 'Ошибка! Не удалось загрузить изображение!';
}
else $error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';
}
else $error = 'Ошибка! Вы не выбрали изображение!';
if (!empty($error)) $inSes->addMessage($error, 'error');
}
show_header('Загрузка скриншота к ' . $row['downs_title']);
$form = new cmsForm(gen_uri('add_screen', $id, 'rnd=' . $_SESSION['token']), 'post');
$form->addFile('Прикрепить фото:', 'photo', ' accept="image/jpeg,image/gif,image/png"');
echo $form->Submit(array('Загрузить', 'Отмена'), array('submit', 'cancel'));
unset($form);
echo '<div class="b">';
echo 'Разрешается добавлять фото с расширением jpg, jpeg, gif и png<br />';
echo 'Весом не более ' . size($config['screen_file_size']) . ' и размером от 100 до ' . num($config['photos_max_size']) . ' px<br /></div>';
echo '<div class="b">' . icon('return.png') . ' ' . show_back_link($row['cats_parent_all'] . ',' . $row['cats_id'], $uz) . '</div>';
}
else {
show_header('Управление файлами');
show_login('Вы не авторизованы, для управления файлами, необходимо');
}
?>