Файл: CMS/comm/comm_admins.php
Строк: 83
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ($is_logged) {
$data = array();
$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);
}
$users = array();
$arr_admins = @explode(',', $data['comm_admins']);
if ($is_logged) {
$users = $db->selectRow("SELECT * FROM ?_comm_users WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $data['comm_id'], $log);
if ($data['comm_user'] == $log) {
$is_admin_soo = true;
if (!empty($_POST['add'])) {
$user = !empty($_REQUEST['user']) ? check($_REQUEST['user']) : '';
$type = !empty($_REQUEST['type']) ? num($_REQUEST['type']) : 0;
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if ($user != $log) {
if ($type == 1 || $type == 2) {
$is_user = (int) $db->selectCell("SELECT `users_id` FROM ?_users WHERE `users_login` = ? LIMIT 1;", $user);
if ($is_user > 0) {
$row = $db->selectRow("SELECT * FROM ?_comm_users
WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $data['comm_id'], $user);
if (!empty($row)) {
if ($row['cu_admin'] == 0) {
array_push($arr_admins,$user);
$db->query("UPDATE ?_comm_users SET `cu_admin` = ?
WHERE `cu_comm` = ? AND `cu_user` = ?", $type, $data['comm_id'], $user);
$db->query("UPDATE ?_comm_comm SET `comm_admins` = ?
WHERE `comm_id` = ? AND `comm_user` = ?", implode(',',$arr_admins), $data['comm_id'], $log);
$inSes->addMessage('Пользователь успешно добавлен в администрацию!', 'ok');
gen_red('admins', '', RND);
}
else $inSes->addMessage('Ошибка! Пользователь уже является администратором!');
}
else $inSes->addMessage('Ошибка! Пользователь не зарегистрирован в сообществе!');
}
else $inSes->addMessage('Ошибка! Пользователь не зарегистрирован на сайте!');
}
else $inSes->addMessage('Ошибка! Неверно указан статус пользователя!');
}
else $inSes->addMessage('Ошибка! Пользователь уже является администратором!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
if (!empty($_GET['del'])) {
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$row = $db->selectRow("SELECT * FROM ?_comm_users
WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $data['comm_id'], request('del'));
if (!empty($row)) {
if ($row['cu_admin'] == 1 || $row['cu_admin'] == 2) {
$new = array();
foreach($arr_admins as $key => $val) {
if ($val <> $row['cu_user']) $new[] = $val;
}
$db->query("UPDATE ?_comm_users SET `cu_admin` = '0'
WHERE `cu_comm` = ? AND `cu_user` = ?", $data['comm_id'], $row['cu_user']);
$db->query("UPDATE ?_comm_comm SET `comm_admins` = ?
WHERE `comm_id` = ? AND `comm_user` = ?", implode(',',$new), $data['comm_id'], $log);
$inSes->addMessage('Пользователь успешно удалён из администрации!', 'ok');
gen_red('admins', '', RND);
}
else $inSes->addMessage('Ошибка! Пользователь не является администратором!');
}
else $inSes->addMessage('Ошибка! Пользователь не зарегистрирован в сообществе!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
}
if (in_array($log, $arr_admins) && $users['cu_admin'] == 1) {
$is_moder_soo = true;
}
}
show_header('Администрация сообщества ' . $data['comm_name']);
if ($page > 1) $from = ($page - 1) * $onpage; else $from = 0;
$rows = $db->selectPage($total, "SELECT `c`.*, `u`.`users_gender`, `v`.`visit_nowtime`
FROM ?_comm_users `c`
LEFT JOIN ?_users_visit `v`
ON `c`.`cu_user` = `v`.`visit_user`
LEFT JOIN ?_users `u`
ON `c`.`cu_user` = `u`.`users_login`
WHERE `c`.`cu_comm` = ? AND `c`.`cu_admin` > 0
ORDER BY `c`.`cu_time` DESC, `c`.`cu_user` ASC
LIMIT ?d, ?d", $data['comm_id'], $from, $onpage);
if (!empty($rows) && $total > 0) {
$i = $from + 1;
foreach($rows as $row) {
echo '<div class="b"> ';
echo $i++ . '. ' . user_visit_icon($row['cu_user'], $row['users_gender'], $row['visit_nowtime']) . ' ';
echo users_anketa($row['cu_user']);
echo '<br />Дата регистрации: ' . get_date($row['cu_time'], 'j F Y');
if ($is_admin_soo && $row['cu_user'] <> $log) {
echo '<br />' . icon('error.gif', 'icons');
echo '<a href="' . gen_uri('admins', $id, 'del=' . $row['cu_user'] . '&rnd=' . $_SESSION['token']) . '">Удалить из администрации</a>';
}
echo '</div>';
}
echo show_pages(gen_uri('admins', '', RND));
if ($is_admin_soo) {
$form = new cmsForm(gen_uri('admins', $id, 'rnd=' . $_SESSION['token']));
$form->addText('<b>Введите логин:</b>', 'user', request('user'));
$form->addRadio('', 'type', 1, array(1 => 'Модер', 2 => 'Заместитель'));
echo $form->Submit('Добавить', 'add');
unset($form);
echo '<div class="b" id="help">[!] Пользователь должен быть участником сообщества.</div>';
}
echo '<div class="b">Всего пользователей: <b>' . $total . '</b><br /></div>';
}
else {
show_error('Администрации в сообществе пока нет!');
}
}
else {
show_header('Администрация сообщества');
show_login('Вы не авторизованы, для просмотра администрации сообщества, необходимо');
}
echo '<div class="b">' . icon('return.png');
echo ' <a href="' . gen_uri('index', '', RND) . '">В сообщесво</a> | ';
echo ' <a href="' . gen_uri('users', '', RND) . '">Участники</a><br /></div>';
?>