Файл: dpanel/adt.edit.php
Строк: 260
<?php
include_once '../sys/inc/start.php';
dpanel::check_access();
$advertisement = new adt();
$doc = new document(5);
$doc->title = 'Изменение рекламы';
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
header('Refresh: 1; url=adt.settings.php');
$doc->ret('Реклама и баннеры', 'adt.settings.php');
$doc->ret('Админка', '/dpanel/');
$doc->err('Ошибка выбора рекламы');
exit;
}
$id_adt = (int)$_GET['id'];
$q = mysql_query("SELECT * FROM `advertising` WHERE `id` = '$id_adt'");
if (!mysql_num_rows($q)) {
header('Refresh: 1; url=adt.settings.php?id=' . $id_adt);
$doc->ret('Вернуться', 'adt.settings.php?id=' . $id_adt);
$doc->ret('Реклама и баннеры', 'adt.settings.php');
$doc->ret('Админка', '/dpanel/');
$doc->err('Рекламная позиция не найдена');
exit;
}
$adt = mysql_fetch_assoc($q);
if (isset($_POST['delete'])) {
if (empty($_POST['captcha']) || empty($_POST['captcha_session']) || !captcha::check($_POST['captcha'], $_POST['captcha_session'])) {
$design->err('Проверочное число введено неверно');
}else {
mysql_query("DELETE FROM `advertising` WHERE `id` = '$adt[id]'");
header('Refresh: 1; url=adt.settings.php?id=' . $adt['space']);
$doc->msg('Рекламная площадка успешно удалена');
$dcms->log('Реклама', 'Удаление рекламной площадки ' . $adt['name'] . ' (' . $adt['url_link'] . ')');
$doc->ret('Вернуться', "adt.settings.php?id=$adt[space]");
$doc->ret('Рекламные позиции', 'adt.settings.php');
$doc->ret('Админка', '/dpanel/');
exit;
}
}
if (isset($_POST['common'])) {
if (isset($_POST['name'])) {
$name = text::input_text($_POST['name']);
if ($name && $name != $adt['name']) {
$dcms->log('Реклама', 'Изменение названия рекламной площадки ' . $adt['name'] . ' на [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url]');
$adt['name'] = $name;
mysql_query("UPDATE `advertising` SET `name` = '" . my_esc($adt['name']) . "' WHERE `id` = '$id_adt' LIMIT 1");
$doc->msg('Название успешно изменено');
}elseif (!$name)$doc->err('Название не может быть пустым');
}
$bold = (int)!empty($_POST['bold']);
if ($adt['bold'] != $bold) {
$adt['bold'] = $bold;
mysql_query("UPDATE `advertising` SET `bold` = '$bold' WHERE `id` = '$id_adt' LIMIT 1");
if ($adt['bold']) {
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (установка жирности)');
$doc->msg('Реклама будет выделяться жирным шрифтом');
}else {
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (снятие жирности)');
$doc->msg('Реклама не будет выделяться жирным шрифтом');
}
}
if (isset($_POST['color']))
{
if(preg_match("#^([A-z0-9# ])+$#ui", $_POST['color']))
{
$color = text::input_text($_POST['color']);
$dcms->log('Реклама', 'Изменение цвета рекламной площадки ' . $adt['color'] . ' на [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $color . '[/url]');
$adt['color'] = $color;
mysql_query("UPDATE `advertising` SET `color` = '" . my_esc($adt['color']) . "' WHERE `id` = '$id_adt' LIMIT 1");
$doc->msg('Цвет успешно изменен');
}
else
$doc->err('Запрещенные символы');
}
$on_color = (int)!empty($_POST['on_color']);
if ($adt['on_color'] != $on_color)
{
$adt['on_color'] = $on_color;
mysql_query("UPDATE `advertising` SET `on_color` = '$on_color' WHERE `id` = '$id_adt' LIMIT 1");
if ($adt['on_color'])
{
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (включение цвета)');
$doc->msg('Реклама будет выделяться другим цветом');
}
else
{
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (выключение цвета)');
$doc->msg('Реклама не будет выделяться цветом');
}
}
if (isset($_POST['url_link'])) {
$url_link = text::input_text($_POST['url_link']);
if ($url_link && $url_link != $adt['url_link']) {
$adt['url_link'] = $url_link;
mysql_query("UPDATE `advertising` SET `url_link` = '" . my_esc($adt['url_link']) . "' WHERE `id` = '$id_adt' LIMIT 1");
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (ссылка: ' . $adt['url_link'] . ')');
$doc->msg('Адрес ссылки успешно изменен');
}elseif (!$url_link)$doc->err('Адрес ссылки не может быть пуст');
}
if (isset($_POST['url_img'])) {
$url_img = text::input_text($_POST['url_img']);
if ($url_img != $adt['url_img']) {
$adt['url_img'] = $url_img;
mysql_query("UPDATE `advertising` SET `url_img` = '" . my_esc($adt['url_img']) . "' WHERE `id` = '$id_adt' LIMIT 1");
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (адрес изображения: ' . $adt['url_img'] . ')');
$doc->msg('Адрес изображения успешно изменен');
}
}
$page_main = (int)(isset($_POST['page_main']) && $_POST['page_main']);
$page_other = (int)(isset($_POST['page_other']) && $_POST['page_other']);
if (!$page_main && !$page_other)$doc->err('Реклама должна же где-то отображаться');
elseif ($page_main != $adt['page_main'] || $page_other != $adt['page_other']) {
$adt['page_main'] = $page_main;
$adt['page_other'] = $page_other;
mysql_query("UPDATE `advertising` SET `page_main` = '{$adt['page_main']}', `page_other` = '{$adt['page_other']}' WHERE `id` = '$id_adt' LIMIT 1");
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (место отображения)');
$doc->msg('Место отображения рекламы изменено');
}
}
if (isset($_POST['time'])) {
$always = (int)(isset($_POST['always']) && $_POST['always']);
if ($adt['time_end']) {
if ($always) {
$adt['time_end'] = 0;
mysql_query("UPDATE `advertising` SET `time_end` = '0' WHERE `id` = '$id_adt' LIMIT 1");
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (вечный показ)');
$doc->msg('Вечный показ включен');
}else {
if (isset($_POST['add']) && isset($_POST['mn'])) {
$add = (int)$_POST['add'];
$mn = (int)$_POST['mn'];
// сбрасываем счетчики, если реклама была не активна
if ($adt['time_start'] && $adt['time_start'] > TIME || $adt['time_end'] && $adt['time_end'] < TIME) {
$doc->msg('Счетчики показов и переходов сброшены');
$clear_counters_sql = "`count_show_wap` = '0', `count_out_wap` = '0', `count_show_pda` = '0', `count_out_pda` = '0', `count_show_web` = '0', `count_out_web` = '0', ";
}else $clear_counters_sql = '';
if ($add && $mn) {
if ($adt['time_end'] > TIME)
$adt['time_end'] = $adt['time_end'] + $add * $mn * 60 * 60 * 24;
else {
$adt['time_start'] = TIME;
$adt['time_end'] = TIME + $add * $mn * 60 * 60 * 24;
}
mysql_query("UPDATE `advertising` SET $clear_counters_sql`time_end` = '{$adt['time_end']}', `time_start` = '{$adt['time_start']}' WHERE `id` = '$id_adt' LIMIT 1");
$doc->msg('Время завершения показа обновлено');
}else
$doc->err('Не корректное время показа');
}
}
}else {
if (!$always) {
$adt['time_end'] = TIME;
$dcms->log('Реклама', 'Изменение рекламной площадки [url="/dpanel/adt.edit.php?id=' . $id_adt . '"]' . $name . '[/url] (вечный показ отключен)');
mysql_query("UPDATE `advertising` SET `time_end` = '" . TIME . "' WHERE `id` = '$id_adt' LIMIT 1");
$doc->msg('Вечный показ отключен');
}
}
}
if ($adt['time_create'])echo "Позиция создана: " . vremja($adt['time_create']) . "<br />n";
if (!$adt['time_start'])
echo "Начало показа неизвестно<br />n";
elseif ($adt['time_start'] > TIME)
echo "<b>Начало показа</b>: " . vremja($adt['time_start']) . "<br />n";
else
echo "Показ начался: " . vremja($adt['time_start']) . "<br />n";
if (!$adt['time_end'])
echo "Конец показа не обозначен<br />n";
elseif ($adt['time_end'] > TIME)
echo "Конец показа: " . vremja($adt['time_end']) . "<br />n";
else
echo "<b>Показ истек</b>: " . vremja($adt['time_end']) . "<br />n";
if (!isset($_GET['delete'])) {
$form = new design();
$form->assign('method', 'post');
$form->assign('action', "?id=$id_adt&" . passgen());
$elements = array();
$elements[] = array('type' => 'input_text', 'title' => 'Название', 'br' => 1, 'info' => array('name' => 'name', 'value' => $adt['name']));
$elements[] = array('type' => 'checkbox', 'br' => 1, 'info' => array('value' => 1, 'checked' => $adt['bold'], 'name' => 'bold', 'text' => 'Выделять жирным'));
$elements[] = array('type' => 'checkbox', 'br' => 1, 'info' => array('value' => 1, 'checked' => $adt['on_color'], 'name' => 'on_color', 'text' => 'Включить цвет'));
$elements[] = array('type' => 'input_text', 'title' => 'Цвет > пример: (#ff0000)', 'br' => 1, 'info' => array('name' => 'color', 'value' => $adt['color']));
$elements[] = array('type' => 'input_text', 'title' => 'URL', 'br' => 1, 'info' => array('name' => 'url_link', 'value' => $adt['url_link']));
$elements[] = array('type' => 'input_text', 'title' => 'Изображение', 'br' => 1, 'info' => array('name' => 'url_img', 'value' => $adt['url_img']));
$elements[] = array('type' => 'checkbox', 'br' => 1, 'info' => array('value' => 1, 'checked' => $adt['page_main'], 'name' => 'page_main', 'text' => 'На главной'));
$elements[] = array('type' => 'checkbox', 'br' => 1, 'info' => array('value' => 1, 'checked' => $adt['page_other'], 'name' => 'page_other', 'text' => 'На остальных'));
$elements[] = array('type' => 'submit', 'br' => 0, 'info' => array('name' => 'common', 'value' => 'Применить')); // кнопка
$form->assign('el', $elements);
$form->display('input.form.tpl');
$form = new design();
$form->assign('method', 'post');
$form->assign('action', "?id=$id_adt&" . passgen());
$elements = array();
if ($adt['time_end']) {
$elements[] = array('type' => 'input_text', 'title' => 'Добавить к времени отображения', 'br' => 0, 'info' => array('size' => 3, 'name' => 'add', 'value' => 1));
$options = array();
$options[] = array('1', 'Дней');
$options[] = array('7', 'Недель', 1);
$options[] = array('31', 'Месяцев');
$elements[] = array('type' => 'select', 'br' => 1, 'info' => array('name' => 'mn', 'options' => $options));
}
$elements[] = array('type' => 'checkbox', 'br' => 1, 'info' => array('value' => 1, 'checked' => !$adt['time_end'], 'name' => 'always', 'text' => 'Отображать бесконечно'));
if ($adt['time_start'] && $adt['time_start'] >= TIME || $adt['time_end'] && $adt['time_end'] <= TIME)
$elements[] = array('type' => 'text', 'br' => 1, 'value' => '* Счетчики показов и переходов будут сброшены');
$elements[] = array('type' => 'submit', 'br' => 0, 'info' => array('name' => 'time', 'value' => 'Применить')); // кнопка
$form->assign('el', $elements);
$form->display('input.form.tpl');
}else {
$form = new design();
$form->assign('method', 'post');
$form->assign('action', "?id=$id_adt&delete&" . passgen());
$elements = array();
$elements[] = array('type' => 'captcha', 'session' => captcha::gen(), 'br' => 1);
$elements[] = array('type' => 'text', 'value' => 'Подтвердите удаление рекламной позиции', 'br' => 1);
$elements[] = array('type' => 'submit', 'br' => 0, 'info' => array('name' => 'delete', 'value' => 'Удалить')); // кнопка
$form->assign('el', $elements);
$form->display('input.form.tpl');
}
$doc->ret('Вернуться', "adt.settings.php?id=$adt[space]");
$doc->ret('Рекламные площадки', 'adt.settings.php');
$doc->ret('Админка', '/dpanel/');
?>