<?php if (!defined('IS_SITE_ADMIN')) { header("Location: /404.php"); exit; } $comm_obj = new commune(); $communes = $comm_obj->GetBlockedCommunes($nums, $error, $page, $sort, $search, $admin); if ($action && $_POST["u_token_key"] != $_SESSION["rand"]) { header("Location: /404.php"); exit; } switch ($action) { case 'unblocked': $comm_obj->UnBlocked(intval($_GET['comm'])); header("Location: /siteadmin/ban-razban/?mode={$mode}" . ($page ? "&p={$page}" : '') . ($search ? "&search={$search}" : '') . ($admin ? "&admin={$admin}" : '') . ($sort ? "&sort={$sort}" : '')); exit; break; } $css_file = array('nav.css', 'moderation.css'); include $rpath . 'template.php';
/** * Блокирование/разблокирование сообщества * * @param int $commune_id * @param string $reason причина * @param int $reason_id ID причины, если она выбрана из списка (таблица admin_reasons, где act_id = 11) * @param string $reason_name Краткое описание причины действия (из селекта) для лога админских действий * @return object xajaxResponse */ function BlockedCommune($commune_id, $reason, $reason_id = null, $reason_name = '') { global $DB; $objResponse = new xajaxResponse(); $commune_id = intval($commune_id); session_start(); if (hasPermissions('communes')) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/commune.php'; if (is_string($reason) && $reason != '') { if (hasPermissions('communes')) { $count = $DB->val("SELECT COUNT(*) FROM commune WHERE id = ?", $commune_id); if ($count) { $commune = new commune(); $comm = $commune->GetCommune($commune_id, NULL, $_SESSION['role']); // лог админских действий $sObjName = $comm['name']; $sObjLink = '/commune/?id=' . $commune_id; $reason_id = $reason_id ? $reason_id : null; $reason = str_replace('%USERNAME%', $comm['author_uname'] . ' ' . $comm['author_usurname'], $reason); $reason = change_q($reason, FALSE, 0, TRUE); if ($comm['is_blocked']) { $commune->UnBlocked($commune_id); // пишем лог админских действий admin_log::addLog(admin_log::OBJ_CODE_COMM, 12, $comm['author_id'], $commune_id, $sObjName, $sObjLink, 0, '', $reason_id, $reason); $objResponse->assign("blocked-reason-{$commune_id}", 'innerHTML', ' '); $objResponse->assign("blocked-reason-{$commune_id}", 'style.display', 'none'); $objResponse->assign("blocked-button-{$commune_id}", 'innerHTML', '<a class="b-menu__link b-menu__link_fontsize_11 b-menu__link_color_c10600" href="javascript:;" onclick="banned.blockedCommune(' . $comm['id'] . ')">Заблокировать сообщество</a>'); $objResponse->assign("commune-reason-{$commune_id}", 'innerHTML', ' '); } else { $sBlockId = $commune->Blocked($commune_id, $reason, $reason_id, $_SESSION['uid']); // пишем лог админских действий admin_log::addLog(admin_log::OBJ_CODE_COMM, 11, $comm['author_id'], $commune_id, $sObjName, $sObjLink, 0, '', $reason_id, $reason, $sBlockId); $comm = $commune->GetCommune($commune_id, NULL, $_SESSION['role']); $reason = reformat($comm['blocked_reason'], 24, 0, 0, 1, 24); $html = __commPrntBlockedBlock($reason, $comm['blocked_time'], $_SESSION['login'], "{$_SESSION['name']} {$_SESSION['surname']}", $commune_id); $objResponse->assign("blocked-reason-{$commune_id}", 'innerHTML', $html); $objResponse->assign("blocked-reason-{$commune_id}", 'style.display', 'block'); $objResponse->assign("blocked-button-{$commune_id}", 'innerHTML', '<a class="b-menu__link b-menu__link_fontsize_11 b-menu__link_color_c10600" href="javascript:;" onclick="banned.unblockedCommune(' . $comm['id'] . ')">Разблокировать сообщество</a>'); $objResponse->assign("commune-reason-{$commune_id}", 'innerHTML', ' '); } } else { $objResponse->alert('Несуществующее сообщество'); } } } } return $objResponse; }