Файл: CMS/core/admin/present.php
Строк: 162
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$presents = array(
1 => '10 монет',
2 => '25 монет',
3 => '50 монет',
4 => 'Зверушки',
);
$ipath = ROOTPATH . '/images/present/'; // Путь к подаркам
if (is_admin(array(101,102))) {
switch ($mod):
default:
show_header('Управление подарками');
$sort = !empty($_GET['sort']) ? num($_GET['sort']) : 1;
$show = array();
foreach($presents as $key => $val) {
if ($key == $sort) {
$show[] = '<b>' . $val . '</b>';
}
else {
$show[] = '<a href="?m=present&sort=' . $key . '&' . RND . '">' . $val . '</a>';
}
}
echo '<div class="b">' . implode(' | ', $show) . '</div>';
$onpage = !empty($config['photos_num']) ? num($config['photos_num']) : 10;
if ($page > 1) $from = ($page - 1) * $onpage; else $from = 0;
$rows = $db->selectPage($total, "SELECT * FROM ?_present_files WHERE `cid` = ?
ORDER BY `name` ASC LIMIT ?d, ?d", $sort, $from, $onpage);
if (!empty($rows) && $total > 0) {
foreach($rows as $row) {
$row['price'] = !empty($row['price']) ? $row['price'] : '00.00';
if ( @file_exists( ROOTPATH . '/images/present/' . $row['file'] ) ) {
echo '<div class="b" style="min-height:25px;">';
echo '<div class="img"><img src="/images/present/' . $row['file'] . '" alt="" /></div>';
echo '<a href="?m=edit_present&id=' . $row['id'] . '&' . RND . '">' . $row['name'] . '</a> (' . moneys($row['price']) . ')';
echo '</div>';
}
else show_error('Файл не найден!');
}
echo show_pages('?m=present&sort=' . $sort . '&' . RND);
}
else show_error('К сожалению подарки не найдены!');
echo '<div class="b">' . icon('add.png');
echo '<a href="?m=add_present&' . RND . '">Добавить подарок</a></div>';
break;
case 'add_present':
if (!empty($_POST['cancel'])) {
redirect('?m=present&' . RND);
}
if (!empty($_POST['submit'])) {
$cid = !empty($_POST['cid']) ? num($_POST['cid']) : 0;
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
$price = !empty($_POST['price']) ? check($_POST['price']) : '';
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (cms_strlen($name) >= 3 && cms_strlen($name) <= 55) {
if (array_key_exists($cid,$presents)) {
if (!empty($price)) {
$lastid = (int) $db->query("INSERT INTO ?_present_files SET `cid` = ?, `name` = ?, `price` = ?", $cid, $name, $price);
if ($lastid > 0) {
include_once( ENGINE . '/classes/upload.class.php' );
if (!empty($_FILES['large']['name'])) {
$handle = new upload($_FILES['large']);
if ($handle -> uploaded) {
$handle -> file_name_body_pre = 'gift_large_';
$handle -> image_resize = true;
$handle -> image_ratio = true;
$handle -> image_ratio_no_zoom_in = true;
$handle -> image_y = 100;
$handle -> image_x = 100;
$handle -> file_overwrite = true;
$handle -> process( $ipath );
if ($handle -> processed) {
$handle -> file_name_body_pre = 'gift_small_';
$handle -> image_resize = true;
$handle -> image_ratio = true;
$handle -> image_ratio_no_zoom_in = true;
$handle -> image_y = 25;
$handle -> image_x = 25;
$handle -> file_overwrite = true;
$handle -> process( $ipath );
$db->query("UPDATE ?_present_files SET `file` = ? WHERE `id` = ?", $handle -> file_dst_name, $lastid);
$handle -> clean();
$inSes->addMessage('Подарок успешно добавлен!', 'ok');
redirect('?m=present&sort=' . $cid . '&' . RND);
}
else $inSes->addMessage('Ошибка! ' . $handle -> error);
}
else $inSes->addMessage('Ошибка! Не удалось загрузить изображение!');
}
else $inSes->addMessage('Ошибка! Вы не выбрали изображение!');
}
else $inSes->addMessage('Ошибка! В данный момент не удалось добавить подарок!');
}
else $inSes->addMessage('Ошибка! Цена подарока должна быть больше нуля!');
}
else $inSes->addMessage('Ошибка! Категория не найдена!');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое название!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
show_header('Добавление подарка');
$form = new cmsForm('?m=add_present&rnd=' . $_SESSION['token'] . '&' . RND, 'post');
$form->addText('Название:', 'name', request('name'));
$form->addText('Цена:', 'price', request('price'));
$form->addSelect('Категория:', 'cid', request('cid'), $presents);
$form->addFile('Основное изображение:','large');
echo $form->Submit(array('Добавить','Отмена'), array('submit','cancel'));
unset($form);
echo '<div class="b">' . blink('[!]') . ' Если Вам не понравились созданные картинки автоматически, то можете загрузить их по FTP :)<br />';
echo 'Все подарки находятся по пути ' . $config['site_url'] . '/images/present/<br />';
echo 'Обязательно должно быть 2-ва файла, один gift_small_название.gif и второй gift_large_название.gif</div>';
break;
case 'edit_present':
$row = $db->selectRow("SELECT * FROM ?_present_files WHERE `id` = ? LIMIT 1;", $id);
if (!empty($row)) {
if (!empty($_POST['cancel'])) {
redirect('?m=present&' . RND);
}
if (!empty($_GET['delete'])) {
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$small = str_replace('_small_', '_large_', $row['file']);
$db->query("DELETE FROM ?_present_files WHERE `id` = ? LIMIT 1;", $id);
@unlink( $ipath . $row['file'] );
@unlink( $ipath . $small );
$inSes->addMessage('Подарок успешно удалён!', 'ok');
redirect('?m=present&' . RND);
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
if (!empty($_POST['submit'])) {
$cid = !empty($_POST['cid']) ? num($_POST['cid']) : 0;
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
$file = !empty($_POST['file']) ? check($_POST['file']) : '';
$price = !empty($_POST['price']) ? check($_POST['price']) : '';
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (cms_strlen($name) >= 3 && cms_strlen($name) <= 55) {
if (array_key_exists($cid,$presents)) {
if ( @file_exists( $ipath . $file ) ) {
$db->query("UPDATE ?_present_files SET `cid` = ?, `name` = ?, `price` = ?
WHERE `id` = ?;", $cid, $name, $price, $id);
$inSes->addMessage('Подарок успешно отредактирован!', 'ok');
redirect('?m=present&sort=' . $cid . '&' . RND);
}
else $inSes->addMessage('Ошибка! Файл не найден!');
}
else $inSes->addMessage('Ошибка! Категория не найдена!');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое название!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
show_header('Редактирование подарка');
echo '<div class="imgright"><img src="/images/present/' . str_replace('_small_', '_large_', $row['file']) . '" alt="" /></div>';
$form = new cmsForm('?m=edit_present&id=' . $id . '&rnd=' . $_SESSION['token'] . '&' . RND, 'post');
$form->addText('Название:', 'name', $row['name']);
$form->addText('Файл:', 'file', $row['file']);
$form->addText('Цена:', 'price', $row['price']);
$form->addSelect('Категория:', 'cid', $row['cid'], $presents);
echo $form->Submit(array('Изменить','Отмена'), array('submit','cancel'));
unset($form);
echo '<div class="b">' . icon('error.gif', 'icons');
echo '<a href="?m=edit_present&id=' . $id . '&rnd=' . $_SESSION['token'] . '&delete=1">Удалить подарок</a></div>';
}
else {
$inSes->addMessage('Ошибка! Данного подарка не существует!');
redirect('?m=present&page=' . $page . '&' . RND);
}
break;
endswitch;
echo '<div class="b">' . icon('return.png') . ' <a href="?' . RND . '">В админку</a><br /></div>';
show_footer();
}
else {
redirect('/?' . RND);
}
?>