File size: 25.08Kb
<?php
define( 'WBCAT', 1 );
require_once ('../inc/head.php');
// проверяем правильность пароля-логина
if (!$allow)
{ // если ошибка, то закрываем доступ
exit ('Доступ закрыт');
}
switch ($_GET['mod']) {
# Модерация сайтов #
case 'site' :
echo '<div class="zag">Модерация сайтов</div>';
$count = mysql_result(mysql_query("SELECT COUNT(`id`)
FROM `sites` WHERE type='0' ;"), 0);
$num = $settings['on_page'];
$page = intval($_GET['page']);
$result = mysql_query('SELECT COUNT(*) FROM `sites` WHERE `type`="0"');
$posts = mysql_result($result, 0);
$total = intval(($posts - 1) / $num) + 1;
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$result = mysql_query('SELECT * FROM `sites` WHERE `type` = "0" ORDER BY id DESC LIMIT '.$start.', '.$num.'');
if ($count > 0 ) {
echo '<div class="title">';
while ($m = mysql_fetch_array($result)){
$ms = mysql_fetch_array(mysql_query("SELECT *
FROM `cat`
WHERE id='" .$m['id_cat']. "' LIMIT 1;"));
echo 'Сайт: <a href="http://'.$m['url'].'">'.$m['name'].' </a> [http://'.$m['url'].']|Категория : <a href="'.$settings['url'].'/cat.php?id='.$ms['id'].'">'.$ms['title'].'</a>| [id'.$ms['id'].']<br/>';
echo 'Описание: '.$m['about'].'';
echo '<br/><div class="min"><u>IP</u> : <i>'.int2ip($m['ip']).'</i><br/> <u>USER AGENT</u> : '.$m['browser'].' <br/>
<a href="index.php?mod=site&do=add&id='.$m['id'].'">Добавить</a>|<a href="index.php?mod=site&do=del&id='.$m['id'].'">Удалить</a></div><hr/>';
}
echo '</div><div class="title"><a href="index.php">Назад</a></div>';
if ($page != 1) $pervpage = ' <a href= "index.php?mod=site&page='. ($page - 1) .'">Назад</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href="index.php?mod=site&page='. ($page + 1) .'">Вперед</a>';
if ($page !=1 AND $page != $total) $i = '|';
if ($page - 4 > 0) $first = '<a href="index.php?mod=site&page=1">1</a>...';
if ($page + 4 <= $total) $last = '...<a href="index.php?mod=site&page='.$total.'">'.$total.'</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= "index.php?mod=site&page='. ($page - 2) .'">'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href= "index.php?mod=site&page='. ($page - 1) .'">'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = ' <a href= "index.php?mod=site&page='. ($page + 2) .'">'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' <a href="index.php?mod=site&page='. ($page + 1) .'">'. ($page + 1) .'</a>';
// Вывод меню
if ($count > $num) {
echo '<div class="title"><small>Навигация :<br/>Страница '.$page.' из '.$total.'</small><br/>'.$pervpage.$i.$nextpage.'<br/>'.$first.$page2left.$page1left.'['.$page.']'.$page1right.$page2right.$last.'</div>';
}
}
else {
echo '<div class="title">Сайтов нет</div>';
echo '<div class="title"><a href="index.php">Назад</a></div>';
}
if (isset($_GET['do'])) {
if($_GET['do'] == 'add') {
$si = mysql_result(mysql_query("SELECT `id_cat` FROM `sites` WHERE `id`='".intval($_GET['id'])."';"), 0);
echo $si;
mysql_query("UPDATE `cat`
SET `count`=count+1
WHERE id='" .$si. "';");
mysql_query("UPDATE `sites`
SET `type`='1'
WHERE id='" .intval($_GET['id']). "';");
header('Location: '.$settings['url'].'/adm/?mod=site');
}
if($_GET['do'] == 'del') {
mysql_query("DELETE FROM `sites`
WHERE id='" .intval($_GET['id']). "';");
header('Location: '.$settings['url'].'/adm/?mod=site');
}
}
break;
# Общие настройки каталога #
case 'set' :
echo '<div class="zag">Общие настройки системы</div>';
echo '<div class="title">';
if (isset ($_POST['submit'])) {
$admin = htmlspecialchars(trim($_POST['admin']));
$pass = htmlspecialchars(trim($_POST['pass']));
mysql_query("UPDATE `set` SET `url`='".mysql_real_escape_string($_POST['url'])."' ;");
mysql_query("UPDATE `set` SET `reg`='".mysql_real_escape_string($_POST['add'])."' ;");
mysql_query("UPDATE `set` SET `on_page`='".intval($_POST['on_page'])."';");
mysql_query("UPDATE `set` SET `rate`='".mysql_real_escape_string($_POST['rate'])."';");
mysql_query("UPDATE `set` SET `review`='".mysql_real_escape_string($_POST['review'])."' ;");
mysql_query("UPDATE `set` SET `search`='".mysql_real_escape_string($_POST['search'])."' ;");
mysql_query("UPDATE `set` SET `news`='".mysql_real_escape_string($_POST['news'])."' ;");
mysql_query("UPDATE `set` SET `captcha`='".mysql_real_escape_string($_POST['captcha'])."' ;");
mysql_query("UPDATE `set` SET `admin`='".mysql_real_escape_string($_POST['admin'])."' ;");
echo '<b>Сайт настроен !</b><br/>';
}
$set = mysql_fetch_array(mysql_query("SELECT *
FROM `set` "));
echo '<form action="index.php?mod=set" method="post">
Адрес , где находится скрипт :<br /> <input type="text" name="url" value="'.$set['url'].'" /><br/>
<b>Логин</b><br/><input type="text" name="admin" value="'.$set['admin'].'"/><br/>
'.($set['reg'] == "open" ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '').'
'.($set['reg'] == "mod" ? '<img src="'.$set['url'].'/images/yellow.png" alt="mod"/>' : '').'
'.($set['reg'] == "close" ? '<img src="'.$set['url'].'/images/red.png" alt="off"/>' : '').'
<b>Регистрация сайтов :</b><br/>
<input type="radio" value="open" name="add" ' . ($set['reg'] == "open" ? 'checked="checked"' : '') . ' /> Открыта<br />
<input type="radio" value="mod" name="add" ' . ($set['reg'] == "mod" ? 'checked="checked"' : '') . '/>С модерацией<br />
<input type="radio" value="close" name="add" ' . ($set['reg'] == "close" ? 'checked="checked"' : '') . ' />Закрыта<br/>
'.($set['rate'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
<b>Рейтинг сайтов (+/-) :</b> <br/>
<input type="radio" value="1" name="rate" ' . ($set['rate'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="rate" ' . ($set['rate'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set['captcha'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
<b>Каптча при добавлении сайта</b> <br/>
<input type="radio" value="1" name="captcha" ' . ($set['captcha'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="captcha" ' . ($set['captcha'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set['review'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
<b>Отзывы сайтов :</b> <br/>
<input type="radio" value="1" name="review" ' . ($set['review'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="review" ' . ($set['review'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set['search'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
<b>Поиск сайтов :</b> <br/>
<input type="radio" value="1" name="search" ' . ($set['search'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="search" ' . ($set['search'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set['news'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
<b>Новости :</b> <br/>
<input type="radio" value="1" name="news" ' . ($set['news'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="news" ' . ($set['news'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
<b>Сайтов на страницу :</b><br/>
<input name="on_page" type="text" size="2" value="'.$set['on_page'].'"/><br/>
<input type="submit" name="submit" value="Сохранить" />
</form>';
echo '</div><div class="title"><a href="index.php">Назад</a></div>';
echo '</div>';
break;
# Управление списком забанненых url #
case 'ban_site' :
echo '<div class="zag">Список забаннеых url</div>';
$num = $settings['on_page'];
$page = intval($_GET['page']);
$result = mysql_query('SELECT COUNT(*) FROM `ban_site`');
$posts = mysql_result($result, 0);
$total = intval(($posts - 1) / $num) + 1;
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$result = mysql_query('SELECT * FROM `ban_site` ORDER BY id DESC LIMIT '.$start.', '.$num.'');
if ($posts > 0 ) {
while ($m = mysql_fetch_array($result)){
echo '<div class="title">';
echo 'Сайт: <a href="http://'.$m['url'].'">'.$m['url'].'</a> [id'.$m['id'].']<br/>';
echo 'Причина бана: '.(empty($m['why']) ? 'причина не указана' : $m['why']).'<br/>';
echo 'Дата бана : '.date('d.m.y/H:i',$m['date']).'</div>';
echo '<div class="min"><a href="index.php?mod=ban_site&do=del&id='.$m['id'].'">Разбанить</a></div>';
if (isset($_GET['do'])) {
if($_GET['do'] == 'del') {
mysql_query("DELETE FROM `ban_site`
WHERE id='" .intval($_GET['id']). "';");
header('Location: '.$settings['url'].'/adm/?mod=ban_site');
}
}
}
if ($page != 1) $pervpage = ' <a href= "index.php?mod=ban_ssite&page='. ($page - 1) .'">Назад</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href="index.php?mod=ban_ssite&page='. ($page + 1) .'">Вперед</a>';
if ($page !=1 AND $page != $total) $i = '|';
if ($page - 4 > 0) $first = '<a href="index.php?mod=ban_ssite&page=1">1</a>...';
if ($page + 4 <= $total) $last = '...<a href="index.php?mod=ban_ssite&page='.$total.'">'.$total.'</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= "index.php?mod=ban_ssite&page='. ($page - 2) .'">'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href= "index.php?mod=ban_ssite&page='. ($page - 1) .'">'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = ' <a href= "index.php?mod=ban_ssite&page='. ($page + 2) .'">'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' <a href="index.php?mod=ban_site&page='. ($page + 1) .'">'. ($page + 1) .'</a>';
// Вывод меню
if ($posts > $num) {
echo '<div class="title"><small>Навигация :<br/>Страница '.$page.' из '.$total.'</small><br/>'.$pervpage.$i.$nextpage.'<br/>'.$first.$page2left.$page1left.'['.$page.']'.$page1right.$page2right.$last.'</div>';
}
}
else {
echo '<div class="title">Забанненых сайтов нет</div>';
}
echo '<div class="main"><a href="index.php?mod=ban_url">Банить url</a></div>';
if ($posts > 1) { echo '<div class="main"><a href="index.php?mod=del_urls">Разабнить все url</a></div>'; }
echo '<div class="main"><a href="index.php">Админка</a></div>';
break;
# Разбан все забанненые url #
case 'del_urls' :
echo '<div class="zag" Удаление всех забанненые url</div>';
if (isset($_POST['submit'])) {
$result = mysql_query("DELETE FROM `ban_site`;");
mysql_query("OPTIMIZE TABLE `ban_site`");
if ($result == true){
echo '<div class="title">Все url удалены из базы !</div>';
echo '<div class="title"><a href="index.php?mod=ban_site">Продолжить</a><br /><a href="index.php">Админ панель</a></div>';
}
else {echo 'Ошибка разбана всех url . Код ошибки <br/>';
echo mysql_error();
}
} else {
echo '<div class="title"><form action="index.php?mod=del_urls" method="post">
Вы действительно желаете разбанить все url ?<br />
<input type="submit" name="submit" value="Разбанить всех"/>
</form></div>
<div class="main"><a href="index.php?mod=ban_site">Назад</a></div>';
}
break;
# Общие настройки новостей #
case 'news' :
echo '<div class="zag">Настройки новостей</div>';
if (isset ($_POST['submit'])) {
mysql_query("UPDATE `set_news` SET `view`='".mysql_real_escape_string($_POST['view'])."' ;");
mysql_query("UPDATE `set_news` SET `komm`='".mysql_real_escape_string($_POST['komm'])."' ;");
mysql_query("UPDATE `set_news` SET `bbcode`='".mysql_real_escape_string($_POST['bbcode'])."' ;");
mysql_query("UPDATE `set_news` SET `smileys`='".mysql_real_escape_string($_POST['smileys'])."' ;");
mysql_query("UPDATE `set_news` SET `antiflood`='".intval($_POST['antiflood'])."';");
echo '<b>Сайт настроен !</b><br/>';
}
$set_news = mysql_fetch_array(mysql_query("SELECT * FROM `set_news`"));
echo '<div class="title"><form action="index.php?mod=news" method="post">
'.($set_news['view'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
<b>Вывод последней новости на главную </b> :<br/>
<input type="radio" value="1" name="view" ' . ($set_news['view'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="view" ' . ($set_news['view'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set_news['komm'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
<b>Комментарии</b> :<br/>
<input type="radio" value="1" name="komm" ' . ($set_news['komm'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="komm" ' . ($set_news['komm'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set_news['bbcode'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
<b>BBcode теги (в комментариях)</b> :<br/>
<input type="radio" value="1" name="bbcode" ' . ($set_news['bbcode'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="bbcode" ' . ($set_news['bbcode'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set_news['smileys'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
<b>Смайлы (в комментариях)</b> :<br/>
<input type="radio" value="1" name="smileys" ' . ($set_news['smileys'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
<input type="radio" value="0" name="smileys" ' . ($set_news['smileys'] == false ? 'checked="checked"' : '') . '/>Выкл<br />
'.($set_news['smileys'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
<b>Антифлуд (в секундах)</b> :<br/>
<input name="antiflood" type="text" size="2" value="'.$set_news['antiflood'].'"/><br/>
<input type="submit" name="submit" value="Сохранить" />
</form></div>';
echo '</div><div class="main"><a href="index.php">Назад</a></div>';
break;
# Бан отдельного url #
case 'ban_url' :
echo '<div class="zag">Админ-панель : Бан сайта</div>';
if (isset($_POST['submit'])) {
echo $_POST['url'];
if (empty($_POST['url'])) {
echo '<div class="title"><b>Вы не заполнили поле "Адрес сайта" !</b></div>';
echo '<div class="title"><a href = "index.php?mod=ban_url">Повторить</a></div>';
require_once ('../inc/foot.php');
exit;
}
$url = htmlspecialchars(trim($_POST['url']));
$why = htmlspecialchars(trim($_POST['why']));
$result = mysql_query("insert into `ban_site` SET
`url`='" . mysql_real_escape_string($url) . "',
`date`='".$time."',
`why`='" . mysql_real_escape_string($why) . "';");
if ($result == true) header('Location: '.$settings['url'].'/adm/?mod=ban_site');
}
else {
echo '<div class="title"><form action="index.php?mod=ban_url" method="post">
<u>Адрес сайта (без http://)</u> : <br/>
<small><font color="#FF0000">site.com</font> - Баним url</small><br/>
<input type = "text" name = "url" value=""/><br/>
<u>Причина бана</u> : <br/>
<small>[Необязательное поле]</small><br/>
<textarea cols="20" rows="4" name="why"></textarea><br/>
<input type="submit" name="submit" value="Забанить"/>
</form> </div>';
echo '</div><div class="main"><a href="index.php">Отмена</a></div>';
}
break;
# Смена пароля от админки #
case 'change' :
echo '<div class="zag">Смена пароля</div>';
if (isset($_POST['submit'])) {
$old_pass = trim($_POST['old_pass']);
if ($pass != $old_pass) {
$error[1] = 'Старый пароль неверный !';
}
if (empty($_POST['old_pass'])) {
$error[2] = 'Вы не ввели старый пароль';
}
if (empty($_POST['new_pass'])) {
$error[3] = 'Вы не ввели новый пароль';
}
if (!empty($error)) {
echo '<div class="title">';
foreach($error as $value) {
echo "<b>$value</b> <br />";
}
echo '</div>';
echo $_POST['news_pass'];
}
else {
$new_pass = trim($_POST['new_pass']);
mysql_query("UPDATE `set` SET `pass`='".mysql_real_escape_string($new_pass)."' ;");
echo '<div class="title"><b>Пароль изменен !</b></div>';
}
}
echo '<div class="title">Используйте тяжелый пароль</div>
<div class="title"<form action="index.php?mod=change" method="post">
<b>Старый пароль</b>*<br/><input type="password" name="old_pass" value=""/><br/>
<b>Новый пароль</b>*<br/><input type="text" name="new_pass" value=""/><br/>
<input type="submit" name="submit" value="Изменить" />
</form></div>
<div class="main"><a href="index.php">Админка</a></div>';
break;
# Информация о скрипте #
case 'info' :
echo '<div class="zag">Информация о каталоге wbcat</div>';
echo '<div class="title">Ваша версия каталога <b>v 1.0.2 RC * [от 21.11.10]</b><br/>
Релиз-кандидат или RC (англ. release candidate) — стадия-кандидат на то, чтобы стать стабильной. Программы этой стадии прошли комплексное тестирование, благодаря чему были исправлены все найденные критические ошибки.<br/> Но в то же время, существует вероятность выявления ещё некоторого числа ошибок, незамеченных при тестировании.</div>';
echo '<div class="func">• Автор скрипта : <i>Wapweb</i><br/>
• icq - <i>74605538</i></div>';
echo '<div class="main">Список изменение с 1.0.0 :<br/>
• [mod] Переработан модуль "Поиск сайта" и запущен в beta-режиме .Теперь искать сайт можна по его адресу,названию,описанию . Также можно включать опцию "точный поиск"<br/>
• [fix] Исправлен баг с антифлудом (комментарии/отзывы) : невозможно было выставить в секундах "порог" написание одного сообщения <br/>
• [fix] Исправлен мелкий баг при модерации сайтов (неверная ссылка на категорию)</div>';
echo '<div class="title">Если вы заметили ошибку/баг/уязвимость в скрипте , просьба связаться со мной . Также могу написать модули для каталога или написать на заказ .</div>';
echo '<div class="main"><a href="index.php">Админка</a></div>';
break;
default :
$count_ip = mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip`;"), 0);
echo '<div class="zag">Админ-панель</div>';
echo '<div class="title">
<i>Версия каталога 1.0.2 RC</i> [<a href="index.php?mod=info">i</a>]<br/>
• <a href="'.$settings['url'].'">Управление каталогом</a><br/>
• <a href="?mod=site">Модерация сайтов</a> ['.$count_mod.']<br/>
• <a href="?mod=set">Общие настройки каталога</a><br/>
• <a href="?mod=change">Сменить пароль</a></div>
<div class="zag">Безопасность</div><div class="title">
• <a href="?mod=ban_site">Список забанненых url</a> ['.$count_ban.']<br/>
→ <a href="index.php?mod=ban_url">Банить url</a> <br/>
• <a href="ban_ip.php">Список забанненых IP</a> ['.$count_ip.']<br/>
→ <a href="ban_ip.php?mod=ban">Банить IP</a>
</div>
<div class="zag">Новости</div><div class="title">
• <a href="'.$settings['url'].'/news.php">Управление новостями</a><br/>
• <a href="?mod=news">Настройки</a><br/>
</div>';
echo '<div class="func"><a href="'.$settnigs['url'].'/index.php?mod=logout">Выйти</a></div>';
}
echo '</div><div class="main"><a href="'.$settings['url'].'">Главная</a></div>';
require_once ('../inc/foot.php');
?>