Файл: CMS/core/modules/servis_send_icq.php
Строк: 69
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ( empty($config['icq_uin']) || empty($config['icq_psd'])) {
$inSes->addMessage('Сервис временно недоступен!');
gen_red('index', '', RND);
}
if ($is_logged) {
if (!empty($_POST['submit'])) {
$icq = !empty($_POST['icq']) ? check($_POST['icq']) : '';
$subject = !empty($_POST['subject']) ? check($_POST['subject']) : 'Письмо с сайта ' . $config['site_name'];
$message = !empty($_POST['message']) ? check($_POST['message']) : '';
$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']) ? (int) $_SESSION['captcha_failures'] : 0;
$_SESSION['crc32'] = !empty($_SESSION['crc32']) ? $_SESSION['crc32'] : 0;
$len_subj = cms_strlen($subject);
$len_mess = cms_strlen($message);
if (empty($_GET['rnd']) || $_GET['rnd'] <> $_SESSION['token']) {
$error = 'Неверный идентификатор сессии, повторите действие!';
}
else if ( $_SESSION['captcha_key'] === NULL || $_SESSION['captcha_key'] != $code ) {
if ( ++$_SESSION['captcha_failures'] == 3 ) {
$error = 'Вы ввели несколько раз подряд неверный код с картинки. Сгенерирован новый код.';
$_SESSION['captcha_key'] = NULL;
$_SESSION['captcha_failures'] = 0;
}
else $error = 'Проверочное число не совпало с данными на картинке!';
}
else if (empty($uset['users_icq'])) {
$error = 'Вы не указали свой ICQ номер в профиле!';
}
else if (!is_numeric($uset['users_icq'])) {
$error = 'Неверный формат ICQ! Разрешены только цифры!';
}
else if (empty($icq)) {
$error = 'Вы не указали ICQ номер получателя!';
}
else if (!is_numeric($icq)) {
$error = 'Неверный формат ICQ получателя! Разрешены только цифры!';
}
else if ($len_subj < 6) {
$error = 'Слишком короткое название темы, необходимо от 5 до 100 символов!';
}
else if ($len_mess < 11) {
$error = 'Слишком короткое сообшение, необходимо от 10 до 5000 символов!';
}
else if ($len_subj > 101) {
$error = 'Слишком длинное название темы, необходимо от 5 до 100 символов!';
}
else if ($len_mess > 5000) {
$error = 'Слишком длинное или короткое сообшение, необходимо от 10 до 5000 символов!';
}
else if ( crc32($message) == $_SESSION['crc32'] ) {
$error = 'Ваше сообщение <b>уже было успешно отправлено</b>!';
}
else $error = '';
if (!empty($error)) {
$inSes->addMessage('Ошибка! ' . $error);
}
else {
include_once( ENGINE . '/classes/WebIcqPro.class.php' );
$send = new WebIcqPro();
$send->connect($config['icq_uin'], $config['icq_psd']);
$msg = $subject . "n" . $message . "n---n";
$msg .= "Имя: " . $log . "nICQ: " . $uset['users_icq'] . "n";
$msg .= "Ip: " . get_ip() . "nБраузер: " . get_ua() . "nОтправлено: " . date('j.m.Y / H:i', time());
$msg = iconv('UTF-8', 'cp1251', $msg);
if ($send->sendMessage($icq, $msg)) {
$_SESSION['crc32'] = crc32($message);
$_SESSION['captcha_key'] = NULL;
$_SESSION['captcha_failures'] = 0;
$inSes->addMessage('Ваше сообщение успешно отправлено!', 'ok');
gen_red('index', '', RND);
}
else $inSes->addMessage('Произошла Ошибка! По тех. причинам в данный момент не удалось отправить сообщение. Попробуйте позже.');
}
}
show_header('Сервис отправки ICQ сообщений');
$form = new cmsForm('?rnd=' . $_SESSION['token']);
$form->addText(blink('*') . ' ICQ:', 'icq', request('icq'));
$form->addTextarea(blink('*') . ' Cообщение:', 'message', request('message'));
$form->addCode('<br />');
$form->addCaptcha(blink('*') . 'Проверочный код:', 'code', gen_uri('send_icq', '', RND));
echo $form->Submit('Отправить', 'submit');
unset($form);
echo '<div class="b">' . blink('*') . ' обязательны к заполнению.<br />
В вашем профиле обязательно заполнено поле Ваш ICQ номер.</div>';
}
else {
show_header('Сервис отправки ICQ сообщений');
show_login('Вы не авторизованы, чтобы отправлять ICQ сообщения, необходимо');
}
echo '<div class="b">' . icon('return.png');
echo '<a href="' . gen_uri('index', '', RND) . '">Сервисы</a> | ';
echo '<a href="' . gen_uri('send_mail', '', RND) . '">Отправка E-Mail</a></div>';
?>