Файл: CMS/comm/comm_del_topic.php
Строк: 23
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$data = '';
$data = $db->selectRow("SELECT ?_comm_comm.*, ?_comm_category.*
FROM ?_comm_comm LEFT JOIN ?_comm_category
ON ?_comm_comm.`comm_cats_id` = ?_comm_category.`cats_id`
WHERE `comm_url` = ? LIMIT 1;", $soo);
if (empty($data) || !is_array($data)) {
$inSes->addMessage('Ошибка! Сообщество не найдено или ссылка неверна!');
gen_red('index', '', RND);
}
if (empty($data['comm_forum'])) {
$inSes->addMessage('Ошибка! Форум не найден или ссылка неверна!');
gen_red('index', '', RND);
}
$arr_admins = @explode(',', $data['comm_admins']);
if ($is_logged) {
if ($data['comm_user'] == $log || is_admin()) {
if (!empty($_REQUEST['del'])) {
$del = intar($_REQUEST['del']);
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$del = is_array($del) ? $del : array($del);
if (!empty($del)) {
$del = implode(',', $del);
$oldlast = $db->selectRow("SELECT * FROM ?_comm_topics
WHERE `topics_forums_id` = ? AND `topics_comm` = ?
ORDER BY `topics_last_time` DESC LIMIT 1;", $id, $data['comm_id']);
$db->query("DELETE FROM ?_comm_topics
WHERE `topics_id` IN (" . $del . ") AND `topics_comm` = ?;", $data['comm_id']);
$db->query("DELETE FROM ?_comm_posts
WHERE `posts_topics_id` IN (" . $del . ") AND `posts_comm` = ?;", $data['comm_id']);
// Обновление счетчиков
$db->query("UPDATE ?_comm_forums SET `forums_topics` = (SELECT COUNT(*) FROM ?_comm_topics
WHERE ?_comm_forums.`forums_id` = ?_comm_topics.`topics_forums_id`);");
$db->query("UPDATE ?_comm_forums SET `forums_posts` = (SELECT COUNT(*) FROM ?_comm_posts
WHERE ?_comm_forums.`forums_id` = ?_comm_posts.`posts_forums_id`);");
$db->query("UPDATE ?_comm_topics SET `topics_posts` = (SELECT COUNT(*) FROM ?_comm_posts
WHERE ?_comm_topics.`topics_id` = ?_comm_posts.`posts_topics_id`);");
$inSes->addMessage('Выбранные темы успешно удалены!', 'ok');
}
else $inSes->addMessage('Ошибка! Отсутствуют выбранные темы форума!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
else $inSes->addMessage('Ошибка! Отсутствуют выбранные темы форума!');
}
else $inSes->addMessage('Ошибка! Данной темы не существует или у Вас нет доступа!');
}
else $inSes->addMessage('Ошибка! Данной темы не существует или у Вас нет доступа!');
gen_red('forum', '', RND);
?>