Вход Регистрация
Файл: 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'] . '&amp;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>';

?>
Онлайн: 0
Реклама