Вход Регистрация
Файл: core/modules/users_dialog.php
Строк: 91
<?php

if (!defined('CMS')) { die('Access Denied!'); }

if (
$is_logged) {

    if (
$id 1) {

        
$inSes->addMessage('Ошибка! Данного адресата не существует!');
        
gen_red('index'''RND);
    }

    
$data = array();
    
$data $db->selectRow("SELECT `u`.*, `v`.`visit_nowtime`
                            FROM ?_users `u` LEFT JOIN ?_users_visit `v`
                            ON `u`.`users_login` = `v`.`visit_user`
                            WHERE `u`.`users_id` = ?
                            LIMIT 1"
$id);

    if (empty(
$data)) {

        
$inSes->addMessage('Ошибка! Данного адресата не существует!');
        
gen_red('index'''RND);
    }

    if (
$data['users_login'] == $log && !is_admin()) {

        
$inSes->addMessage('Запрещено вести самим с собой диалоги!');
        
gen_red('index'''RND);
    }

    if (!empty(
$_POST['send'])) {

        
$text = !empty($_POST['text']) ? check($_POST['text']) : '';

        
$_SESSION['crc32'] = !empty($_SESSION['crc32']) ? $_SESSION['crc32'] : NULL;

        if (!empty(
$_POST['rnd']) && $_POST['rnd'] == md5($_SESSION['token'])) {

          if (
cms_strlen($text) >= && cms_strlen($text) < 1001) {

            if ( 
crc32($text) <> $_SESSION[SP]['crc32'] ) {

              if (
is_flood($log)) {

                
$_SESSION[SP]['crc32'] = crc32($text);
                
$text antimat($text);
                
$text smiles($text);

                
$db->query("INSERT INTO ?_users_dialog (`dialog_group`, `dialog_user`, `dialog_message`, `dialog_time`) 
                            VALUES (?, ?, ?, ?);"
$log '_and_' $data['users_login'], $log$textSITE_TIME);

                
$db->query("INSERT INTO ?_users_dialog (`dialog_group`, `dialog_user`, `dialog_message`, `dialog_time`) 
                            VALUES (?, ?, ?, ?);"
$data['users_login'] . '_and_' $log$log$textSITE_TIME);

                
$inSes->addMessage('Ваше сообщение успешно отправлено!''ok');

                
gen_red($mod$data['users_id'], RND);
              }
              else 
$inSes->addMessage('Антифлуд! Разрешается отправлять сообщения раз в ' flood_period() . ' секунд!');
            }
            else 
$inSes->addMessage('Ошибка! Ваше сообщение <u>уже было</u> успешно отправлено!');
          }
          else 
$inSes->addMessage('Ошибка! Слишком короткое или длинное сообщение!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    if (!empty(
$_GET['del'])) {

        
$db->query("DELETE FROM ?_users_dialog WHERE `dialog_group` = ?"$log '_and_' $data['users_login']);

        
$db->query("OPTIMIZE TABLE ?_users_dialog");

        
$inSes->addMessage('Сообщения успешно удалены!');

        
gen_red($mod$data['users_id'], RND);
    }

    if (
$config['dialog_refresh'] > 0) {

        
header('Refresh: ' num($config['dialog_refresh']) . '; url=' gen_uri('dialog'$data['users_id'], RND));
    }

    
show_header('Диалог с ' nickname($data['users_login']));

    if (!empty(
$_GET['code'])) include( MODULES_PATH 'code.inc.php' );
    else if (!empty(
$_GET['smiles'])) include( MODULES_PATH 'smiles.inc.php' );
    else {

        
$onpage = !empty($config['mail_num']) ? num($config['mail_num']) : 10;

        if (
$page 1$from = ($page 1) * $onpage; else $from 0;

        
$rows $db->selectPage($total"SELECT `d`.*, `u`.`users_gender`, `u`.`users_id`, `v`.`visit_nowtime`
                                         FROM ?_users_dialog `d`
                                         LEFT JOIN ?_users `u`
                                         ON `d`.`dialog_user` = `u`.`users_login`
                                         LEFT JOIN ?_users_visit `v`
                                         ON `d`.`dialog_user` = `v`.`visit_user`
                                         WHERE `d`.`dialog_group` = ?
                                         ORDER BY `d`.`dialog_time` DESC
                                         LIMIT ?d, ?d"
$log '_and_' $data['users_login'], $from$onpage);

        if (!empty(
$rows) && $total 0) {

            
$c $from 1;

            foreach (
$rows as $numRow => $row) {

                echo 
'<div class="bl">';
                echo 
'<table class="w100"><tr>';
                echo 
'<td class="vhr" valign="top">' user_avatars($row['dialog_user']) . '</td>';
                echo 
'<td valign="top">';
                echo 
'<span class="fr xsmall">' get_date($row['dialog_time']) . '</span>';
                echo 
user_visit_icon($row['dialog_user'], $row['users_gender'], $row['visit_nowtime']);
                echo 
' ' users_anketa($row['users_id'], $row['dialog_user']) . '<hr />';
                echo 
nl2br(bb_code($row['dialog_message'])) . '</td></tr></table></div>';
            }

            echo 
show_pages(gen_uri($mod$data['users_id'], RND));

            echo 
show_link(gen_uri($mod$data['users_id'], 'del=1&amp;' RND), 'Очистить диалог');
        }
        else {

            
show_error('Сообщений пока нет!');
        }
    }

    
$form = new cmsForm(gen_uri($mod$idRND), 'post'' name="form" id="form"');
    
$form->addCode('Сообщение: <span class="xsmall">[<a href="' gen_uri($mod$id'smiles=1') . '">Смайлы</a>] ');
    
$form->addCode('[<a href="' gen_uri($mod$id'code=1') . '">ББ-коды</a>]');
    
$form->addCode(' [<a href="#form" onclick="document.form.text.rows += 5;">+</a>]');
    
$form->addCode(' [<a href="#form" onclick="document.form.text.rows -= 5;">-</a>]</span>');
    
$form->addTextarea('''text'request('text'));
    
$form->addHidden('rnd'md5($_SESSION['token']));
    echo 
$form->Submit('Отправить''send');
    unset(
$form);
}
else {

    
show_header('Личная почта');
    
show_login('Вы не авторизованы, для просмотра писем, необходимо');
}

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