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

require '../system/sid.php';
require 
'../system/config.php';
include 
'../system/user.php';
include 
'../system/head.php';
include 
'../system/navigator.php';

$open mysql_fetch_array(mysql_query("SELECT `open_chat` FROM `setting` WHERE `ids` = '1'"));
if (
$open[0] == 2)
{
   
err('Чат закрыт Администратором!');
   include 
'../system/foot.php';
   exit();
}

$_SESSION['NameRoom'] = 'chat';

whorm(0'chat'); // Запись онлайна

// заголовок (назв комнаты)
echo $div_title 'Мини-чат' $div_end;

$topic = ($user['level'] >= && $user['level'] <= 5) ? ' | <a href="?clean">Очистить</a>' '';

$ASnum mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `room` = 'chat' AND `onl` + '300' > '" time() . "' ORDER BY `onl` DESC"));

echo 
$div_menu '<a href="say.php">Сказать</a> | <a href="whoroom.php">Кто здесь(' $ASnum ')</a> | <a href="index.php">Обновить</a>' $topic $div_end;

    
// выключение/выключение фильтра
    
if (isset($_GET['filtr'])) {
        if (
$user['chat_filtr'] == 1)
        {
            echo 
$div_tworazdel 'Фильтр: <b>Выкл</b> |
                  <a href="index.php?f=2">Мои [!п]</a> |
                  <a href="index.php?f=3">Мои все</a>' 
$div_end;
        }
        elseif (
$user['chat_filtr'] == 2)
        {
            echo 
$div_tworazdel 'Фильтр: <a href="index.php?f=1">Выкл</a> |
                  <b>Мои [!п]</b> |
                  <a href="index.php?f=3">Мои все</a>' 
$div_end;
        }
        elseif (
$user['chat_filtr'] == 3)
        {
            echo 
$div_tworazdel 'Фильтр: <a href="index.php?f=1">Выкл</a> |
                  <a href="index.php?f=2">Мои [!п]</a> |
                  <b>Мои все</b>' 
$div_end;
        }
        else
        {
            echo 
$div_tworazdel 'Фильтр: <b>Выкл</b> |
                  <a href="index.php?f=2">Мои [!п]</a> |
                  <a href="index.php?f=3">Мои все</a>' 
$div_end;
        }
    } else {
        echo 
'<a href="index.php?filtr">[Фильтр]</a>';
    }

// Ответ бота пользователю
if (!isset($_SESSION['terpilaInt'])) $_SESSION['terpilaInt'] = 0;
if (
$_SESSION['terpilaInt'] != && $_SESSION['terpilaInt'] < time())
{
    
mysql_query($_SESSION['terpilaMsg']);
    unset(
$_SESSION['terpilaInt']);
    unset(
$_SESSION['terpilaMsg']);
    
header('Location: index.php');
}

    if (isset(
$_GET['f']))
    {
        
$f my_int($_GET['f']);
        if (
$f && $f 3) {
            
header('Location: index.php');
        } else {
            
mysql_query("UPDATE `users` SET `chat_filtr` = '$f' WHERE `id` = '$user[id]' LIMIT 1");
            
header('Location: index.php');
        }
    }

echo 
'<FORM method="POST" action="index.php">
      <textarea name="msg" cols="50" rows="5" style="width: 99%;"></textarea>
      <br/>'
;
if (
$user['level'] == || $user['level'] == || $user['level'] == 5) {
echo 
'<input type="checkbox" name="b" value="1"/> <b>Жирный</b>
      <br/>
      <input type="checkbox" name="u" value="1"/> <u>Подчеркнутый</u>
      <br/>
      <input type="checkbox" name="r" value="1"/> <span style="color:#FF0000;">Красный</span>
      <br/>'
;
}
echo 
'<input type="submit" name="send" value="Сказать"/>
      </FORM>' 
$block;

// действия
echo (isset($_GET['flood'])) ? err('Антифлуд 10сек.') : '';
echo (isset(
$_GET['empty'])) ? err('Ваши сообщения повторяются!') : '';
echo (isset(
$_GET['okdel'])) ? msg('Пост удален!') : '';
echo (isset(
$_GET['errdel'])) ? err('Пост не удален!') : '';
echo (isset(
$_GET['clroom'])) ? msg('Чат очищен!') : '';

// очистка комнаты
if (isset($_GET['clean']) && $user['level'] >= && $user['level'] <= 5)
{
   
mysql_query("DELETE FROM `message`");
   
header('Location: index.php');
}

// запись поста в бд
if (isset($_POST['send']))
{
$msg trim(mysql_real_escape_string(check($_POST['msg'])));

// Антифлуд
if (!isset($_SESSION['flood_time'])) $_SESSION['flood_time'] = 0;
    if (
$_SESSION['flood_time'] > time())
    {
        
$mess mysql_result(mysql_query("SELECT COUNT(id) FROM `message` WHERE 
                                      `who` = '
$user[id]
                                      AND 
                                      `time` < '" 
$_SESSION['flood_time'] . "'"), 0);

        if (
$mess 0) {
            
header('Location: ?flood');
            die();
        }
    }

$_SESSION['flood_time'] = time() + 10// Время интервала антифлуда

// Повтор сообщений
$NumDouble mysql_result(mysql_query("SELECT COUNT(id) FROM `message` WHERE 
                                  `who` = '
$user[id]
                                  AND 
                                  `msg` = '
$msg'
                                  AND
                                  `time` > '" 
. (time() - 60) . "' LIMIT 1"), 0);

if (
$NumDouble 0)
{
       
header('Location: ?empty');
    die(); 
}

if (isset(
$_POST['boteg']))
{
    
$msg 'Мажор, ' $msg;
    
$_POST['komu'] = 0;
}

// если пишут флудеру
if (isset($_POST['komu']) && my_int($_POST['komu']) == 0)
{
    include 
'pizdun.php';
     
$msg_1 bot($msg);
     
$msg_2 $user['user'] . ', ' $msg_1;
     
$ids mt_rand(100000999999);

    
$Priv = (my_int($_POST['private']) == 1) ? "`private` = '1'," "`private` = '0',";

     
$_SESSION['terpilaMsg'] = "INSERT INTO `message` SET
                  `id` = '
$ids',
                 `time` = '" 
. (time() + 1) . "',
                  `who` = '0',
                 `user` = 'Мажор',
                 
$Priv
                 `msg` = '
$msg_2',
                 `komu` = '
$user[id]'";
    
$_SESSION['terpilaInt'] = time() + mt_rand(25); // через сколько сек. отвечать пользователю
    
header('Location: index.php');
}



    
// Написание сообщения
   
if (!empty($msg))
   {
    
$ids mt_rand(100000999999);

    
// Антиреклама
    
$_ant mysql_fetch_assoc(mysql_query("SELECT `on_rekl`, `text_rekl` FROM `setting` WHERE `ids` = '1'"));

 if (
$_ant['on_rekl'] == && filesize($_SERVER['DOCUMENT_ROOT'] . '/domains.dat') > 0) {
    
$ex explode(','file_get_contents('../domains.dat'));

    foreach(
$ex as $value) {
            if (
$user['level'] < 3) {
             
$msg preg_replace("/(ws|,|.|*|_|-|+)+$value/si"$_ant['text_rekl'], $msg);
         }
    }
 }

    
// транслит
    
if ($user['translit'] == 1) {
         
$msg trun_to_rus($msg);
    }

    
// антимат
    
$ant mysql_fetch_array(mysql_query("SELECT `antimat` FROM `setting` WHERE `ids` = '1'"));
    
$msg = ($ant[0] == 1) ? mat($msg) : $msg;
    
    if (
$user['level'] == || $user['level'] == || $user['level'] == 5) {
       
$b my_int($_POST['b']);
       
$u my_int($_POST['u']);
       
$r my_int($_POST['r']);

       if (
$b == 1$msg '<b>' $msg '</b>';
       if (
$u == 1$msg '<u>' $msg '</u>';
       if (
$r == 1$msg '<span style="color:#FF0000;">' $msg '</span>';
    }

            
// оповещание об оставленном сообщении
            
$komu my_int($_POST['komu']);
            if (
user_inf($komu'room') != 'chat' && $user['id'] != $komu && user_inf($komu'sistem_mes') == 1)
            {
                
$cont = (mb_strlen($msg'UTF8') > 50)
                ? 
mb_substr($msg050'UTF8') . '...'
                
$msg;

                
$q $user['user'] . ' оставил вам сообщение <b>' $cont '</b> в <a href="/chat/index.php">чате</a>.';
                
mysql_query("INSERT INTO `letters` (`id`,`who`,`idwho`,`message`,`data`,`read`,`mod`)
                              VALUES (0,'0','
$komu','$q','" time() . "','0','i')");
                
header('Location: index.php');
            }

     
mysql_query("INSERT INTO `message` SET
                  `id` = '
$ids',
                  `time` = '" 
time() . "',
                  `msg` = '
$msg',
                  `who` = '
$user[id]',
                  `user` = '
$user[user]',
                  `private` = '" 
my_int($_POST['private']) . "',
                  `komu` = '" 
my_int($_POST['komu']) . "'");
     
header('Location: index.php');

   }

}
/*
    // если молча сидят в комнате
    $mytime = mysql_query("SELECT id FROM message WHERE who = '$user[id]' AND time + '60' > '" . time() . "' OR who = '0' AND komu = '$user[id]' AND time + '60' > '" . time() . "' ORDER BY time ASC LIMIT 1");

    if ($ASnum == 1 && mysql_num_rows($mytime) == false)
    {
        $RaNdArR = array('ну и что ты тут молча сидишь?', 'может пообщаемся?', 'мент родился чтоли?', 'эй ты не молчи, пиши че нибудь мне.');
        $rand = mt_rand(0, count($RaNdArR) - 1);
        $mes = $user['user'] . ', ' . $RaNdArR[$rand];
        $ids = mt_rand(100000, 999999);
        mysql_query("INSERT INTO `message` SET
                     `id` = '$ids',
                     `who` = '0',
                     `user` = 'Мажор',
                     `msg` = '$mes',
                     `komu` = '$user[id]',
                     `time` = '" . time() . "'");
    }
*/
// удаление поста
if (isset($_GET['delete'])) {
 if (
$user['level'] < 2) {
   
header('Location: index.php');
   die();
 }
   
$x my_int($_GET['x']);
   
$em mysql_query("SELECT id FROM `message` WHERE `id` = '$x' LIMIT 1");
    if (
mysql_num_rows($em) != FALSE) {
         
mysql_query("DELETE FROM `message` WHERE `id` = '$x' LIMIT 1");
         
header('Location: ?okdel');
    } else {
         
header('Location: ?errdel');
  }
}

// фильтр сообщений
if ($user['chat_filtr'] == 1$FiltrMes '';
if (
$user['chat_filtr'] == 2$FiltrMes "`private` = '1' AND `komu` = '$user[id]' OR `private` = '1' AND `who` = '$user[id]' AND";
if (
$user['chat_filtr'] == 3$FiltrMes "`komu` = '$user[id]' OR `who` = '$user[id]' AND";

$count mysql_result(mysql_query("SELECT COUNT(id) FROM `message` WHERE $FiltrMes `who` NOT IN (SELECT `ig_id` FROM `ignor` WHERE `user_id` = '$user[id]')"), 0);

if (
$count != false) {
    
$n = new navigator($count$user['room_post'], 'index.php?');
    
$result mysql_query("SELECT * FROM `message` WHERE $FiltrMes `who` NOT IN (SELECT `ig_id` FROM `ignor` WHERE `user_id` = '$user[id]') ORDER BY `time` DESC {$n->limit}");
    
$i 0;
    while(
$sql mysql_fetch_assoc($result)) {

   
// Если в сообщении мой ник, выделяем его
    
$sql['msg'] = str_replace($user['user'], '<u>' $user['user'] . '</u>'$sql['msg']);
    echo (
$user['refresh'] != header('Refresh: ' $user['refresh'] . '; URL=index.php') : '');

    
// Распределение ников...
    
if ($sql['who'] == && $sql['user'] == 'Мажор') {
        
$kto_id '<a href="chat0"><b>Мажор</b></a>';
    } else {
        
$kto_id '<a href="chat'.$sql['who'].'&amp;'.mt_rand(10009999).'"><b>' cvetnik($sql['who']) . '</b></a>';
    }

    
$delpost = ($user['level'] >= && $user['level'] <= 5) ? '[<a href="index.php?delete&amp;x='.$sql['id'].'">x</a>] ' '';

    
// Если пишут не в приват
    
if ($sql['private'] == 0)
        {
      echo (
$i ++ % 2) ? $div_tworazdel $div_razdel;
      echo 
$delpost $kto_id ' (' date('H:i'$sql['time']) . ') &gt; ' smiles($sql['msg']) . $div_end;

    
// Если пишут в приват (+ видно Администраторам)
    
} elseif ($user['level'] == || $sql['private'] == && $sql['komu'] == $user['id'] || $sql['private'] == && $sql['who'] == $user['id']) {
       echo (
$i ++ % 2) ? $div_tworazdel $div_razdel;
       echo 
$delpost $kto_id ' (' date('H:i'$sql['time']) . ') <b style="color:#FF3300;">[!п]</b>&gt; ' smiles($sql['msg']) . $div_end;
    }
  }
      echo 
$n->navi();
 } else {
     echo 
'В чате еще никто не писал.<br/>';
}

include 
'../system/foot.php';
?>
Онлайн: 0
Реклама