Файл: modules/dpanel/ads.php
Строк: 544
<?php
/****
* @package LiveCMS
* @link livecms.org
* @author MyZik
* @version See attached file VERSION.txt
* @license See attached file LICENSE.txt
* @copyright Copyright (C) LiveCMS Development Team
****/
ob_start();
$lang_dpanel = load_lng('direct_panel'); // Подключаем файл языка
$title = $lang_dpanel['ads']; // Заголовок страницы
$module = 'dpanel'; // Модуль
/**
* Проверка прав доступа
**/
if (!isset($user) || $user['rights'] < 8) {
require_once(HOME .'/incfiles/header.php');
echo '<div class="error">' . $lang['error_rights'] . '</div>';
echo '<div class="home">' .
'<img src="/design/themes/' . $set_user['theme'] . '/images/back.png" alt="" /> <a href="/index.php">' . $lang['back'] . '</a>' .
'</div>';
require_once(HOME .'/incfiles/footer.php');
}
/**
* Добавляем ссылку
**/
if (isset($_GET['add'])) {
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
/**
* Небольшая панель навигации
**/
echo '<div class="title"><a href="/dpanel/">' . $lang['direct_panel'] . '</a> | <b>' . $lang_dpanel['ads'] . '</b></div>';
if (isset($_POST['add'])) {
/**
* Проверяем формат времени
**/
if (empty($_POST['link_time']) || !is_numeric($_POST['link_time']))
$err[] = $lang_dpanel['error_time_formate'];
/**
* Проверяем длину названия ссылки
**/
if (empty($_POST['link_name']))
$err[] = $lang_dpanel['long_ads_link_name'];
/**
* Проверяем длину адреса ссылки
**/
if (empty($_POST['link_link']))
$err[] = $lang_dpanel['long_ads_link_link'];
$link_name = input($_POST['link_name']); // название ссылки
$link_link = input($_POST['link_link']); // адрес ссылки
$time_type = $_POST['time_type']; // срок действия (часы, дни, недели или месяцы)
$time_value = intval($_POST['link_time']);
if ($time_type == 'hours') $time = $time_value * 60 * 60;
if ($time_type == 'days') $time = $time_value * 60 * 60 * 24;
if ($time_type == 'weeks') $time = $time_value * 60 * 60 * 24 * 7;
if ($time_type == 'months') $time = $time_value * 60 * 60 * 24 * 30;
$position = input($_POST['position']); // расположение (верх или низ)
$pages = input($_POST['pages']); // страницы (все, только главная, все кроме главной)
$color = (!empty($_POST['link_color']) ? input($_POST['link_color']) : '');
$strong = (isset($_POST['link_strong']) ? 'yes' : 'no'); // выделение ссылки жирным
$underline = (isset($_POST['link_underline']) ? 'yes' : 'no'); // выделение ссылки подчеркиванием
$italic = (isset($_POST['link_italic']) ? 'yes' : 'no'); // выделение ссылки курсивом
/**
* Если нет ошибок, заносим данные
**/
if (!isset($err)) {
mysql_query("INSERT INTO `cms_ads` (`link_name`, `link_link`, `link_time`, `time`, `position`, `pages`, `color`, `strong`, `underline`, `italic`) VALUES ('$link_name', '$link_link', '" . (time() + $time) . "', '" . time() . "', '$position', '$pages', '$color', '$strong', '$underline', '$italic')");
header("Location: ads.php");
} else {
echo error($err); // показываем ошибки
}
}
/**
* Форма
**/
echo '<div class="main"><form method="post" action="ads.php?add">' .
// Название ссылки
'<b>' . $lang_dpanel['link_name'] . ' [max. 30]</b><br />' .
'<input type="text" name="link_name" /><br/>' .
// Адрес ссылки
'<b>' . $lang_dpanel['link_link'] . '</b><br />' .
'<input type="text" name="link_link" /><br/>' .
$lang_dpanel['link_link_info'] . '<br />' .
// Срок показа ссылки
'<b>' . $lang_dpanel['link_time'] . '</b><br />' .
'<input type="text" name="link_time" size="3" value="1" maxlength="2" /><br/>' .
'<input name="time_type" type="radio" value="hours" /> ' . $lang_dpanel['hours'] . '<br />' .
'<input name="time_type" type="radio" value="days" /> ' . $lang_dpanel['days'] . '<br />' .
'<input name="time_type" type="radio" value="weeks" checked="checked" /> ' . $lang_dpanel['weeks'] . '<br />' .
'<input name="time_type" type="radio" value="months" /> ' . $lang_dpanel['months'] . '<br />' .
// Позиция
'<b>' . $lang_dpanel['position'] . '</b><br />' .
'<input name="position" type="radio" value="up" checked="checked"/> ' . $lang_dpanel['up'] . '<br />' .
'<input name="position" type="radio" value="down" /> ' . $lang_dpanel['down'] . '<br />' .
// Расположение (страницы)
'<b>' . $lang_dpanel['pages'] . '</b><br />' .
'<input name="pages" type="radio" value="all" checked="checked" /> ' . $lang_dpanel['all_pages'] . '<br />' .
'<input name="pages" type="radio" value="index" /> ' . $lang_dpanel['index_page'] . '<br />' .
'<input name="pages" type="radio" value="other" /> ' . $lang_dpanel['other_pages'] . '<br />' .
// Цвет
'<b>' . $lang_dpanel['link_color'] . '</b><br />' .
'<input type="text" name="link_color" /><br/>' .
$lang_dpanel['link_color_info'] . '<br />' .
// Жирный шрифт
'<input type="checkbox" name="link_strong" /> ' . $lang_dpanel['link_strong'] . '<br />' .
// Подчеркнутый шрифт
'<input type="checkbox" name="link_underline" /> ' . $lang_dpanel['link_underline'] . '<br />' .
// Курсивный шрифт
'<input type="checkbox" name="link_italic" /> ' . $lang_dpanel['link_italic'] . '<br />' .
'<input type="submit" name="add" value="' . $lang['add'] . '" />' .
'</form></div>';
require_once(HOME .'/incfiles/footer.php'); // подключаем ноги
}
/**
* Редактирование ссылки
**/
elseif (isset($_GET['edit'])) {
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
/**
* Проверяем введенный параметр
**/
if (empty($_GET['edit']) || !is_numeric($_GET['edit'])) {
echo '<div class="error">' . $lang['error_parameter'] . '</div>';
require_once(HOME .'/incfiles/footer.php');
}
/**
* Проверяем наличие ссылки
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_ads` WHERE `id` = '" . num($_GET['edit']) . "'"), 0) == 0)
$err[] = $lang_ads['link_not_exists'];
$ID = num($_GET['edit']);
$link = mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_ads` WHERE `id` = '$ID' LIMIT 1"));
/**
* Небольшая панель навигации
**/
echo '<div class="title"><a href="/dpanel/">' . $lang['direct_panel'] . '</a> | <b>' . $lang_dpanel['ads'] . '</b></div>';
if (isset($_POST['save'])) {
/**
* Проверяем формат времени
**/
if (empty($_POST['link_time']) || !is_numeric($_POST['link_time']))
$err[] = $lang_dpanel['error_time_formate'];
/**
* Проверяем длину названия ссылки
**/
if (empty($_POST['link_name']))
$err[] = $lang_dpanel['long_ads_link_name'];
/**
* Проверяем длину адреса ссылки
**/
if (empty($_POST['link_link']))
$err[] = $lang_dpanel['long_ads_link_link'];
$link_name = input($_POST['link_name']); // название ссылки
$link_link = input($_POST['link_link']); // адрес ссылки
$time_type = $_POST['time_type']; // срок действия (часы, дни, недели или месяцы)
$time_value = intval($_POST['link_time']);
if ($time_type == 'hours') $time = $time_value * 60 * 60;
if ($time_type == 'days') $time = $time_value * 60 * 60 * 24;
if ($time_type == 'weeks') $time = $time_value * 60 * 60 * 24 * 7;
if ($time_type == 'months') $time = $time_value * 60 * 60 * 24 * 30;
if ($link['link_time'] > time())
$time_last = $link['link_time'] + $time;
else
$time_last = time() + $time;;
$position = input($_POST['position']); // расположение (верх или низ)
$pages = input($_POST['pages']); // страницы (все, только главная, все кроме главной)
$color = (!empty($_POST['link_color']) ? input($_POST['link_color']) : '');
$strong = (isset($_POST['link_strong']) ? 'yes' : 'no'); // выделение ссылки жирным
$underline = (isset($_POST['link_underline']) ? 'yes' : 'no'); // выделение ссылки подчеркиванием
$italic = (isset($_POST['link_italic']) ? 'yes' : 'no'); // выделение ссылки курсивом
/**
* Если нет ошибок, заносим данные
**/
if (!isset($err)) {
mysql_query("UPDATE `cms_ads` SET
`link_name` = '$link_name',
`link_link` = '$link_link',
`link_time` = '$time_last',
`position` = '$position',
`pages` = '$pages',
`color` = '$color',
`strong` = '$strong',
`underline` = '$underline',
`italic` = '$italic'
");
header("Location: ads.php");
} else {
echo error($err); // показываем ошибки
}
}
/**
* Форма
**/
echo '<div class="main"><form method="post" action="ads.php?edit=' . $ID . '">' .
// Название ссылки
'<b>' . $lang_dpanel['link_name'] . ' [max. 30]</b><br />' .
'<input type="text" name="link_name" value="' . $link['link_name'] . '" /><br/>' .
// Адрес ссылки
'<b>' . $lang_dpanel['link_link'] . '</b><br />' .
'<input type="text" name="link_link" value="' . $link['link_link'] . '" /><br/>' .
$lang_dpanel['link_link_info'] . '<br />' .
// Срок показа ссылки
'<b>' . $lang_dpanel['link_time_add'] . '</b><br />' .
'<input type="text" name="link_time" size="3" value="1" maxlength="2" /><br/>' .
'<input name="time_type" type="radio" value="hours" /> ' . $lang_dpanel['hours'] . '<br />' .
'<input name="time_type" type="radio" value="days" /> ' . $lang_dpanel['days'] . '<br />' .
'<input name="time_type" type="radio" value="weeks" checked="checked" /> ' . $lang_dpanel['weeks'] . '<br />' .
'<input name="time_type" type="radio" value="months" /> ' . $lang_dpanel['months'] . '<br />' .
// Позиция
'<b>' . $lang_dpanel['position'] . '</b><br />' .
'<input name="position" type="radio" value="up" ' . ($link['position'] == 'up' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['up'] . '<br />' .
'<input name="position" type="radio" value="down" ' . ($link['position'] == 'down' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['down'] . '<br />' .
// Расположение (страницы)
'<b>' . $lang_dpanel['pages'] . '</b><br />' .
'<input name="pages" type="radio" value="all" ' . ($link['pages'] == 'all' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['all_pages'] . '<br />' .
'<input name="pages" type="radio" value="index" ' . ($link['pages'] == 'index' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['index_page'] . '<br />' .
'<input name="pages" type="radio" value="other" ' . ($link['pages'] == 'other' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['other_pages'] . '<br />' .
// Цвет
'<b>' . $lang_dpanel['link_color'] . '</b><br />' .
'<input type="text" name="link_color" value="' . $link['color'] . '" /><br/>' .
$lang_dpanel['link_color_info'] . '<br />' .
// Жирный шрифт
'<input type="checkbox" name="link_strong" ' . ($link['strong'] == 'yes' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['link_strong'] . '<br />' .
// Подчеркнутый шрифт
'<input type="checkbox" name="link_underline" value="' . $link['underline'] . '" ' . ($link['underline'] == 'yes' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['link_underline'] . '<br />' .
// Курсивный шрифт
'<input type="checkbox" name="link_italic" value="' . $link['italic'] . '" ' . ($link['italic'] == 'yes' ? 'checked="checked" ' : '') . '/> ' . $lang_dpanel['link_italic'] . '<br />' .
'<input type="submit" name="save" value="' . $lang['save'] . '" />' .
'</form></div>';
require_once(HOME .'/incfiles/footer.php'); // подключаем ноги
}
/**
* Удаление ссылки
**/
elseif (isset($_GET['delete'])) {
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
/**
* Проверяем введенный параметр
**/
if (empty($_GET['delete']) || !is_numeric($_GET['delete'])) {
echo '<div class="error">' . $lang['error_parameter'] . '</div>';
require_once(HOME .'/incfiles/footer.php');
}
/**
* Проверяем наличие ссылки
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_ads` WHERE `id` = '" . num($_GET['delete']) . "'"), 0) == 0)
$err[] = $lang_ads['link_not_exists'];
$ID = num($_GET['delete']);
/**
* Небольшая панель навигации
**/
echo '<div class="title"><a href="/dpanel/">' . $lang['direct_panel'] . '</a> | <b>' . $lang_dpanel['ads'] . '</b></div>';
if (!isset($_GET['yes'])) {
echo '<div class="error">' . $lang_dpanel['link_delete_info'] . '<br />' .
'<a href="ads.php?delete=' . $ID . '&yes"><input type="button" name="yes" value="' . $lang['delete'] . '" /> | <a href="ads.php"><input type="button" name="no" value="' . $lang['cancel'] . '" /></div>';
} else {
mysql_query("DELETE FROM `cms_ads` WHERE `id` = '$ID' LIMIT 1");
header("Location: ads.php");
}
require_once(HOME .'/incfiles/footer.php'); // подключаем ноги
} else {
/**
* Показываем список ссылок
**/
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
/**
* Небольшая панель навигации
**/
echo '<div class="title"><a href="/dpanel/">' . $lang['direct_panel'] . '</a> | <b>' . $lang_dpanel['ads'] . '</b></div>';
/**
* Админские функции
**/
echo '<div class="main"><img src="/design/themes/' . $set_user['theme'] . '/images/act.png" alt=">" /> <a href="ads.php?add">' . $lang_dpanel['link_add'] . '</a></div>';
/**
* Настраиваем пагинацию
**/
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_ads` WHERE `link_time` > '" . time(). "'"), 0);
$req = mysql_query("SELECT * FROM `cms_ads` WHERE `link_time` > '" . time() . "' ORDER BY `id` DESC LIMIT $start, $countMess");
/**
* Если нет результатов, выводим уведомление
**/
if ($total < 1) {
echo '<div class="error">' . $lang_dpanel['active_links_not_exists'] . '</div>';
}
while ($res = mysql_fetch_assoc($req)) {
echo ($i % 2) ? '<div class="list1">' : '<div class="list2">';
if ($res['position'] == 'up')
$position = $lang_dpanel['up'];
if ($res['position'] == 'down')
$position = $lang_dpanel['down'];
if ($res['pages'] == 'all')
$pages = $lang_dpanel['all_pages'];
if ($res['pages'] == 'index')
$pages = $lang_dpanel['index_page'];
if ($res['pages'] == 'other')
$pages = $lang_dpanel['other_pages'];
echo '<a href="' . txt($res['link_link']) . '">' .
($res['strong'] == 'yes' ? '<b>' : '') . (!empty($res['color']) ? '<span style="color: ' . txt($res['color']) . '">' : '') . ($res['underline'] == 'yes' ? '<u>' : '') . ($res['italic'] == 'yes' ? '<i>' : '') .
txt($res['link_name']) .
($res['italic'] == 'yes' ? '</i>' : '') . ($res['underline'] == 'yes' ? '</u>' : '') . (!empty($res['color']) ? '</span>' : '') . ($res['strong'] == 'yes' ? '</b>' : '') .
'</a> ' . $lang['before'] . ': ' . display_time($res['link_time']) . '<br />' .
'<b>' . $position . ', ' . $pages . '</b>' .
'<br />[<a href="ads.php?edit=' . $res['id'] . '">' . $lang['edit'] . '</a> | <a href="ads.php?delete=' . $res['id'] . '">' . $lang['delete'] . '</a>]';
echo '</div>';
$i++;
}
/**
* Пагинация
**/
if ($total > $countMess) {
echo '<div class="home">' . display_pagination('ads.php', $start, $total, $countMess) . '</div>';
}
require_once(HOME .'/incfiles/footer.php'); // Подключаем ноги
}
ob_end_flush();
?>