Файл: CMS/comm/comm_enter.php
Строк: 51
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ($is_logged) {
    $row = array();
    $row = $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($row) || !is_array($row)) {
        $inSes->addMessage('Ошибка! Сообщество не найдено или ссылка неверна!');
        gen_red('index', '', RND);
    }
    $arr_admins = @explode(',', $row['comm_admins']);
    $is_user = (int) $db->selectCell("SELECT 1 FROM ?_comm_users WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $row['comm_id'], $log);
    switch($mod):
        case 'enter':
            if ($is_user < 1) {
                if ($row['comm_status'] == 1) {
                    $is_new = (int) $db->selectCell("SELECT `new_id` FROM ?_comm_new_users
                                                     WHERE `new_comm` = ? AND `new_user` = ?", $row['comm_id'], $log);
                    if ($is_new < 1) {
                        $db->query("INSERT INTO ?_comm_new_users SET `new_comm` = ?, `new_user` = ?, `new_time` = ?", $row['comm_id'], $log, SITE_TIME);
                        $inSes->addMessage('Ваш запрос на вступление отправлен владельцу сообщества!', 'ok');
                    } 
                    else {
                        $inSes->addMessage('Ошибка! Ваш запрос на вступление в сообщество уже отправлен владельцу сообщества!');
                    }
                }
                else {
                    $db->query("INSERT INTO ?_comm_users SET `cu_comm` = ?, `cu_user` = ?, `cu_time` = ?", $row['comm_id'], $log, SITE_TIME);
                    $db->query("UPDATE ?_comm_comm SET `comm_count` = (SELECT COUNT(1) FROM ?_comm_users 
                                WHERE ?_comm_comm.`comm_id` = ?_comm_users.`cu_comm`);");
                    $inSes->addMessage('Поздравляем! Вы стали новым участником сообщества ' . $row['comm_name'], 'ok');
                }
            }
            else {
                $inSes->addMessage('Ошибка! Вы уже состоите в данном сообществе!');
            }
            gen_red('index', '', RND);
        break;
        case 'exit':
            if ($is_user > 0) {
                if (in_array($log,$arr_admins)) {
                    $new = array();
                    foreach($arr_admins as $key => $val) {
                        if ($val <> $log) $new[] = $val;
                    }
                    $db->query("UPDATE ?_comm_comm SET `comm_admins` = ? 
                                WHERE `comm_id` = ? AND `comm_user` = ?", implode(',',$new), $row['comm_id'], $log);
                }
                $db->query("DELETE FROM ?_comm_users WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $row['comm_id'], $log);
                $db->query("UPDATE ?_comm_comm SET `comm_count` = (SELECT COUNT(1) FROM ?_comm_users 
                            WHERE ?_comm_comm.`comm_id` = ?_comm_users.`cu_comm`);");
                $inSes->addMessage('Поздравляем! Вы были исключены из сообщества ' . $row['comm_name'], 'ok');
            }
            else {
                $inSes->addMessage('Ошибка! Вы не участвуете в данном сообществе!');
            }
            gen_red('index', '', RND);
        break;
    endswitch;
}
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('index', '', RND) . '">Сообщесва</a><br /></div>';
}
?>