Файл: CMS/comm/comm_invite.php
Строк: 78
<?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();
    $users = $db->selectRow("SELECT * FROM ?_comm_users WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $data['comm_id'], $log);
    if (empty($users) || !is_array($users)) {
        $inSes->addMessage('Ошибка! Вы не участвуете в данном сообществе!');
        gen_red('index', '', RND);
    }
    if (!empty($_POST['cancel'])) {
        gen_red('index', '', RND);
    }
    if (!empty($_POST['submit'])) {
        $user  = !empty($_POST['user']) ? check($_POST['user']) : '';
        $text  = !empty($_POST['text']) ? check($_POST['text']) : '';
        $code  = !empty($_POST['code']) ? num($_POST['code'])  : '';
        $error = '';
        $_SESSION['captcha_key'] = !empty($_SESSION['captcha_key']) ? $_SESSION['captcha_key'] : NULL;
        $_SESSION['captcha_failures'] = !empty($_SESSION['captcha_failures']) ? $_SESSION['captcha_failures'] : 0;
        if (!empty($user)) {
            if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
                if ($user != $log) {
                    if (is_quarantine($log)) {
                        if (is_flood($log)) {
                            $text  = antimat($text);
                            $text  = smiles($text);
                            if ( @count(explode('@',$user)) == 2) {
                                $link  = gen_comm($data['comm_url'], 'index', '', RND);
                                $priv  = "Обитатель " . $log . " приглашает Вас вступить сообщество " . $data['comm_name'] . "n";
                                $priv .= $link . "nСообщение:n" . $text;
                                $answer = SendMail($user, '', 'Приглашение от ' . $log, $priv, $uset['users_email'], $log);
                                if ($answer != 'ok') {
                                    $inSes->addMessage('Произошла Ошибка! ' . $answer);
                                }
                                else {
                                    $inSes->addMessage('Ваше приглашение успешно отправлено!', 'ok');
                                }
                                gen_red('index', '', RND);
                            }
                            else {
                                $is_user = $db->selectRow("SELECT * FROM ?_users
                                                           WHERE LOWER(`users_login`) = ? LIMIT 1;", cms_tolower($user));
                                if (!empty($is_user)) {
                                    $soo = $db->selectRow("SELECT * FROM ?_comm_users
                                                           WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $id, $is_user['users_login']);
                                    if (empty($soo)) {
                                        $priv  = "Обитатель " . $log . " приглашает Вас вступить сообщество ";
                                        $priv .= "[soo=" . $data['comm_url'] . "]" . $data['comm_name'] . "[/soo]";
                                        $priv .= "nСообщение:n" . $text;
                                        $db->query("UPDATE ?_users SET `users_newprivat` = (`users_newprivat` + 1) 
                                                    WHERE `users_login` = ? LIMIT 1;", $is_user['users_login']);
                                        $db->query("INSERT INTO ?_users_inbox (`inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`) 
                                                    VALUES (?, ?, ?, ?);", $is_user['users_login'], $log, $priv, SITE_TIME);
                                        $inSes->addMessage('Ваше приглашение успешно отправлено!', 'ok');
                                        gen_red('index', '', RND);
                                    }
                                    else $inSes->addMessage('Ошибка! Данный обитатель уже является участником данного сообщества!');
                                }
                                else $inSes->addMessage('Ошибка! Данный обитатель не зарегистрирован на сайте!');
                            }
                        }
                        else $inSes->addMessage('Антифлуд! Вы слишком часто отправляете приглашения!');
                    }
                    else $inSes->addMessage('Карантин! Вы не можете отправлять приглашения в течении '.round($config['allow_karantin'] / 3600).' часов!');
                }
                else $inSes->addMessage('Ошибка! Запрещено отправлять себе приглашения!');
            }
            else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
        }
        else $inSes->addMessage('Ошибка! Вы не ввели адрес друга!');
    }
    show_header('Пригласить в сообщество');
    $form = new cmsForm(gen_uri('invite', '', 'rnd=' . $_SESSION['token']), 'post');
    $form->addText('Укажите E-mail или Ник вашего друга:', 'user', request('user'));
    $form->addTextarea('Ваше сообщение:', 'text', request('text'));
    echo $form->Submit(array('Отправить','Отмена'), array('submit','cancel'));
    unset($form);
    echo '<div class="b">' . icon('return.png');
    echo ' <a href="' . gen_uri('index', '', RND) . '">В сообщесво</a><br /></div>';
}
else {
    show_header('Пригласить в сообщество');
    show_login('Вы не авторизованы, для приглашения друзей в сообщество, необходимо');
}
?>