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

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

if (
is_admin(array(101102103105))) {

    switch (
$mod):
    default:

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

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

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

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

                
$text smiles($text);

                
$db->query("INSERT INTO ?_chat (`chat_user`, `chat_text`, `chat_ip`, `chat_brow`, `chat_time`) 
                            VALUES (?, ?, ?, ?, ?);"
$log$text$ip$browSITE_TIME);

                
$db->query("DELETE FROM ?_chat WHERE `chat_time` < (SELECT MIN(`chat_time`) FROM (SELECT `chat_time` FROM ?_chat ORDER BY `chat_time` DESC LIMIT 500) AS del);");

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

                
redirect('?m=chat&' RND);
            }
            else 
$inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
        }
        else  
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    
show_header('Админ-чат');

    echo 
'<div class="link"><a href="?m=chat&' RND '">Обновить</a></div>';

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

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

    
$rows = array();
    
$rows $db->selectPage($total"SELECT `c`.*, `u`.`users_id`
                                     FROM ?_chat `c` LEFT JOIN ?_users `u`
                                     ON `c`.`chat_user` = `u`.`users_login`
                                     ORDER BY `c`.`chat_time` DESC LIMIT ?d, ?d"
$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['chat_user']);

            if (
$log == $row['chat_user']) {

                echo 
'<br />';
                echo 
'<a href="?m=reply_chat&amp;id=' $row['chat_id'] . '&amp;page=' $page '&amp;' RND '">О</a> | ';
                echo 
'<a href="?m=quote_chat&amp;id=' $row['chat_id'] . '&amp;page=' $page '&amp;' RND '">Ц</a>';
            }

            echo 
'</td><td valign="top">';
            echo 
'<span class="fr xsmall">' get_date($row['chat_time']) . '</span>';
            echo 
' ' users_anketa($row['users_id'], $row['chat_user']);
            echo 
' ' user_title($row['chat_user']) . ' ' user_online($row['chat_user']) . '<hr />';
            echo 
nl2br(bb_code($row['chat_text'])) . '<br />';

            if (!empty(
$row['chat_edit'])) {

                echo 
icon('exclamation_small.gif''icons');
                echo 
'<small>Отредактировано: ' nickname($row['chat_edit']) . ' (' get_date($row['chat_edit_time']) . ')</small><br />';
            }

            
//echo '<span class="data">(' . $row['chat_brow'] . ', ' . $row['chat_ip'] . ')</span>';

            
echo '</td></tr></table></div>';
        }

        echo 
show_pages('?m=chat');
    }
    else 
show_error('Сообщений нет, будь первым!');

    
$form = new cmsForm('?m=chat&amp;rnd=' $_SESSION['token'], 'post'' name="form" id="form"');
    
$form->addTextarea('<b>Сообщение:</b>''text'request('text'));
    echo 
$form->Submit('Написать''add_chat');
    unset(
$form);

    if (
is_admin(array(101)) && $total 0) {

        echo 
'<div class="link"><a href="?m=clear_chat&amp;' RND '">Очистить чат</a></div>';
    }

    echo 
'<div class="link"><a href="?' RND '">В админку</a></div>';

    break;
    case 
'reply_chat':

        
show_header('Админ-чат - Ответ на сообщение');

        
$post = array();
        
$post $db->selectRow("SELECT `c`.*, `u`.`users_id`
                                FROM ?_chat `c` LEFT JOIN ?_users `u`
                                ON `c`.`chat_user` = `u`.`users_login`
                                WHERE `c`.`chat_id` = ? LIMIT 1"
$id);

        if (!empty(
$post)) {

            echo 
'<div class="bl"><span class="fr xsmall">' .  get_date($post['chat_time']) . '</span>';
            echo 
user_avatars($post['chat_user']);
            echo 
' <b>' users_anketa($post['users_id'], $post['chat_user']) . '</b></a> ';
            echo 
user_title($post['chat_user']) . ' ' user_online($post['chat_user']) . '<br />';
            echo 
'Сообщение: ' nl2br(bb_code($post['chat_text'])) . '</div>';
            if (!empty(
$_GET['code'])) include( MODULES_PATH 'code.inc.php' );
            else if (!empty(
$_GET['smiles'])) include( MODULES_PATH 'smiles.inc.php' );
            
$form = new cmsForm('?m=chat&amp;page=' $page '&amp;rnd=' $_SESSION['token'], 'post'' name="form" id="form"');
            
$form->addCode(blink('*') . ' Сообщение: <small>[<a href="?m=reply_chat&amp;id=' $id '&amp;smiles=1">Смайлы</a>] ');
            
$form->addCode('[<a href="?m=reply_chat&amp;id=' $id '&amp;code=1">ББ-коды</a>]</small>');
            
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows += 5;">+</a>]');
            
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows -= 5;">-</a>]');
            
$form->addTextarea('''text''[b]' nickname($post['chat_user']) . '[/b] '' id="msg" style="width:98%;"');
            echo 
$form->Submit('Ответить''add_chat');
            unset(
$form);
        }
        else 
show_error('Ошибка! Выбранное вами сообщение для ответа не существует!');

        echo 
'<div class="link"><a href="?m=chat&amp;page=' $page '&amp;' RND '">Вернуться</a></div>';

    break;
    case 
'quote_chat':

        
show_header('Админ-чат - Цитирование');

        
$post = array();
        
$post $db->selectRow("SELECT `c`.*, `u`.`users_id`
                                FROM ?_chat `c` LEFT JOIN ?_users `u`
                                ON `c`.`chat_user` = `u`.`users_login`
                                WHERE `c`.`chat_id` = ? LIMIT 1"
$id);
        if (!empty(
$post)) {

            echo 
'<div class="bl"><span class="fr xsmall">' .  get_date($post['chat_time']) . '</span>';
            echo 
user_avatars($post['chat_user']);
            echo 
' <b>' users_anketa($post['users_id'], $post['chat_user']) . '</b></a> ';
            echo 
user_title($post['chat_user']) . ' ' user_online($post['chat_user']) . '<br />';
            echo 
'Сообщение: ' nl2br(bb_code($post['chat_text'])) . '</div>';

            
$post['chat_text'] = nosmiles($post['chat_text']);
            
$post['chat_text'] = preg_replace('|[q](.*?)[/q](<br />)?|'''$post['chat_text']);
            
$post['chat_text'] = str_replace(array('<br>''<br/>''<br />'), "n"$post['chat_text']);
            
$text '[q][b]' nickname($post['chat_user']) . '[/b] (' get_date($post['chat_time']) . ')';
            
$text .= "n" $post['chat_text'] . "[/q]n";

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

            
$form = new cmsForm('?m=chat&amp;page=' $page '&amp;rnd=' $_SESSION['token'], 'post'' name="form" id="form"');
            
$form->addCode(blink('*') . ' Сообщение: <small>[<a href="?m=quote_chat&amp;id=' $id '&amp;smiles=1">Смайлы</a>] ');
            
$form->addCode('[<a href="?m=quote_chat&amp;id=' $id '&amp;code=1">ББ-коды</a>]</small>');
            
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows += 5;">+</a>]');
            
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows -= 5;">-</a>]');
            
$form->addTextarea('''text'$text' id="msg" style="width:98%;"');
            echo 
$form->Submit('Цитировать''add_chat');
            unset(
$form);
        }
        else 
show_error('Ошибка! Выбранное вами сообщение для ответа не существует!');

        echo 
'<div class="link"><a href="?m=chat&amp;page=' $page '&amp;' RND '">Вернуться</a></div>';

    break;
    case 
'clear_chat':

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

            if (
is_admin(array(101))) {

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

                    
$db->query("TRUNCATE ?_chat;");

                    
$inSes->addMessage('Админ-чат успешно очищен!''ok');
                }
                else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
            }
            else 
$inSes->addMessage('Ошибка! Очищать админ-чат могут только суперадмины!');

            
redirect('?m=chat&' RND);
        }
        
show_header('Админ-чат');
        echo 
'<div class="bl">';
        echo 
'Вы уверены что хотите удалить все сообщения в админ-чате?<br /><br />';
        echo 
icon('close.png');
        echo 
'<b><a href="?m=clear_chat&amp;clear=1&amp;rnd=' $_SESSION['token'] . '&amp;' RND '">Да, уверен!</a></b></div>';
        echo 
'<div class="link"><a href="?m=chat&amp;' RND '">Вернуться</a></div>';

    break;

    endswitch;

    
show_footer();
}
else {

    
redirect('/?' RND);
}

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