File size: 11.81Kb
<?php
define('_IN_JOHNCMS', 1);
$headmod = 'board';
$textl = 'Доска объявлений | Админка';
require_once '../incfiles/core.php';
require_once '../incfiles/head.php';
if ($rights >= 7)
{
$req = mysql_query("SELECT * FROM `board_settings`");
while ($res = mysql_fetch_row($req)) $set_board[$res[0]] = $res[1];
echo '<div class="phdr"><a href="./">Доска объявлений</a> | Админка</div>';
switch ($act)
{
case 'new_cat';
if (isset($_POST['submit']))
{
$name = isset($_POST['name']) ? mb_substr(functions::checkin($_POST['name']), 0, 30) : null;
$cat_id = isset($_POST['cat_id']) ? abs(intval($_POST['cat_id'])) : 0;
if (!empty($name))
{
mysql_query("INSERT INTO `board_categories` SET
`cat_id` = " . $cat_id . ",
`name` = '" . mysql_real_escape_string($name) . "'");
echo '<div class="gmenu">Категория успешно добавлена! <a href="' . ($id ? './?id=' . $id : './') . '">Продолжить</a></div>';
}
else
{
echo '<div class="rmenu">Пустое название категории! <a href="' . $_SERVER['HTTP_REFERER'] . '">Повторить</a></div>';
}
}
else
{
echo '<div class="gmenu"><form action="' . ($id ? '?act=new_cat&id=' . $id : '?act=new_cat') . '" method="post">'
. '<p>Название (max 30):</p>'
. '<input type="text" name="name">';
if ($id)
{
echo '<p>Категория:</p><select name="cat_id">';
$req = mysql_query("SELECT * FROM `board_categories` WHERE `cat_id` = 0");
while ($res = mysql_fetch_assoc($req))
{
echo '<option value="' . $res['id'] . '" ' . ($id && $id == $res['id'] ? 'selected' : '') . '>' . $res['name'] . '</option>';
}
echo '</select>';
}
echo '<p><input type="submit" name="submit" value="Добавить"></p>'
. '</form></div>';
}
break;
case 'edit_cat':
$res = mysql_fetch_assoc(mysql_query("SELECT * FROM `board_categories` WHERE `id` = $id"));
if (isset($_POST['submit']))
{
$name = isset($_POST['name']) ? mb_substr(functions::checkin($_POST['name']), 0, 30) : null;
$cat_id = isset($_POST['cat_id']) ? abs(intval($_POST['cat_id'])) : 0;
if (!empty($name))
{
mysql_query("UPDATE `board_categories` SET
`cat_id` = " . $cat_id . ",
`name` = '" . mysql_real_escape_string($name) . "' WHERE `id` = $id");
echo '<div class="gmenu">Категория успешно изменена! <a href="./?id=' . $res['cat_id'] . '">Продолжить</a></div>';
}
}
else
{
echo '<div class="gmenu"><form action="?act=edit_cat&id=' . $id . '" method="post">'
. '<p>Название (max 30):</p>'
. '<input type="text" name="name" value="' . $res['name'] . '">';
if ($res['cat_id'] != 0)
{
echo '<p>Категория:</p><select name="cat_id">';
$req = mysql_query("SELECT * FROM `board_categories` WHERE `cat_id` = 0");
while ($res_cat = mysql_fetch_assoc($req))
{
echo '<option value="' . $res_cat['id'] . '" ' . ($res['cat_id'] == $res_cat['id'] ? 'selected' : '') . '>' . $res_cat['name'] . '</option>';
}
echo '</select>';
}
echo '<p><input type="submit" name="submit" value="Сохранить"></p>'
. '</form></div>';
}
echo '<div class="menu"><a href="./?id=' . $res['cat_id'] . '">В категорию</a></div>';
break;
case 'del_cat':
if (isset($_GET['yes']))
{
mysql_query("DELETE FROM `board_categories` WHERE `id` = $id");
$total_cats = mysql_result(mysql_query("SELECT COUNT(*) FROM `board_categories` WHERE `cat_id` = $id"), 0);
if ($total_cats)
{
$req = mysql_query("SELECT `id` FROM `board_categories` WHERE `cat_id` = $id");
while ($res = mysql_fetch_assoc($req))
{
$array[] = $res['id'];
}
foreach ($array as $value)
{
mysql_query("DELETE FROM `board_categories` WHERE `id` = $value");
mysql_query("DELETE FROM `board_ads` WHERE `cat_id` = $value");
}
}
header('location: ./');
}
else
{
echo '<div class="rmenu">'
. '<p>Вы уверенны в том, что желаете удалить данную категорию/подкатегорию? Все вложенные записи будут удалены!</p>'
. '<a href="?act=del_cat&id=' . $id . '&yes">Да</a> | <a href="./">Передумал(а)</a>'
. '</div>';
}
break;
case 'mod':
if (isset($_GET['yes']))
{
if ($set_board['mail'] == 1)
{
$ad = mysql_fetch_assoc(mysql_query("SELECT * FROM `board_ads` WHERE `id` = $id"));
$text = 'Уважаемый, Ваше объявление было успешно промодерировано! Перейти к нему можно по [url=' . $home . '/board/?act=view&id=' . $id . ']ссылке[/url]';
mysql_query("INSERT INTO `cms_mail` SET
`user_id` = 0,
`from_id` = " . $ad['user_id'] . ",
`text` = '" . mysql_real_escape_string($text) . "',
`time` = " . time() . ",
`sys` = '1',
`them` = 'Доска объявлений'");
}
if (!empty($ad['img']))
{
unlink($home . '/images/board/' . $ad['img'] . '.png');
unlink($home . '/images/board/small/' . $ad['img'] . '.png');
}
mysql_query("UPDATE `board_ads` SET `status` = 1 WHERE `id` = $id");
header('location: ?act=mod');
}
elseif (isset($_GET['no']))
{
if ($set_board['mail'] == 1)
{
$ad = mysql_fetch_assoc(mysql_query("SELECT * FROM `board_ads` WHERE `id` = $id"));
$text = 'Уважаемый, Ваше объявление не пройшло модерацию! Скорее всего, оно нарушило правила сайта :(';
mysql_query("INSERT INTO `cms_mail` SET
`user_id` = 0,
`from_id` = " . $ad['user_id'] . ",
`text` = '" . mysql_real_escape_string($text) . "',
`time` = " . time() . ",
`sys` = '1',
`them` = 'Доска объявлений'");
}
if (!empty($ad['img']))
{
unlink($home . '/images/board/' . $ad['img'] . '.png');
unlink($home . '/images/board/small/' . $ad['img'] . '.png');
}
mysql_query("DELETE FROM `board_ads` WHERE `id` = $id");
header('location: ?act=mod');
}
else
{
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `board_ads` WHERE `status` = 0"), 0);
if ($total)
{
$req = mysql_query("SELECT * FROM `board_ads` WHERE `status` = 0 ORDER BY `time` DESC LIMIT $start, $kmess");
while ($res = mysql_fetch_assoc($req))
{
$i = 0;
echo ($i % 2) ? '<div class="list1">' : '<div class="list2">';
echo (!empty($res['img'])) ? '<img src="../images/board/small/' . $res['img'] . '.png" align="middle" alt="' . $res['img'] . '">' : '<img src="../images/no_board.png" width="25" height="25" align="middle" alt="' . $res['img'] . '">';
echo ' <a href="./?act=view&id=' . $res['id'] . '">' . $res['name'] . '</a>'
. ' (<a href="?act=mod&id=' . $res['id'] . '&yes"><span class="green">[Принять]</span></a>'
. ' | <a href="?act=mod&id=' . $res['id'] . '&no"><span class="red">[Отклонить]</span></a>)'
. '</div>';
$i++;
}
}
else
{
echo '<div class="menu">Нету объявлений на модерации</div>';
}
echo '<div class="phdr">Всего: ' . $total . '</div>';
if ($total > $kmess)
echo '<div class="topmenu">' . functions::display_pagination('?act=mod&', $start, $total, $kmess) . '</div>';
}
break;
case 'settings':
if (isset($_POST['submit']))
{
mysql_query("UPDATE `board_settings` SET `val` = " . abs(intval($_POST['moderation'])) . " WHERE `key` = 'moderation'");
mysql_query("UPDATE `board_settings` SET `val` = " . abs(intval($_POST['pay'])) . " WHERE `key` = 'pay'");
mysql_query("UPDATE `board_settings` SET `val` = " . abs(intval($_POST['price'])) . " WHERE `key` = 'price'");
mysql_query("UPDATE `board_settings` SET `val` = " . abs(intval($_POST['free_days'])) . " WHERE `key` = 'free_days'");
mysql_query("UPDATE `board_settings` SET `val` = " . abs(intval($_POST['mail'])) . " WHERE `key` = 'mail'");
header('location: ?act=settings');
}
else
{
echo '<div class="gmenu"><form action="?act=settings" method="post">'
. '<p><input type="checkbox" name="moderation" value="1" ' . ($set_board['moderation'] == 1 ? 'checked' : '') . '> Модерация объявлений</p>'
. '<p><input type="checkbox" name="pay" value="1" ' . ($set_board['pay'] == 1 ? 'checked' : '') . '> Платные объявления (не считая бесплатных)</p>'
. '<p><input type="checkbox" name="mail" value="1" ' . ($set_board['mail'] == 1 ? 'checked' : '') . '> Уведомлять по почте</p>'
. '<p><input type="text" size="2" name="price" value="' . $set_board['price'] . '"> Цена (баллов/день)</p>'
. '<p><input type="text" size="2" name="free_days" value="' . $set_board['free_days'] . '"> Бесплатных дней</p>'
. '<p><input type="submit" name="submit" value="Сохранить"></p>'
. '</form></div>';
}
break;
}
echo '<div class="menu"><a href="./">К доске</a></div>';
}
else
{
header('location: ?');
}
require_once '../incfiles/end.php';