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

require '../sid.php';
require 
'../config.php';
$link = connect_db();
list(
$user, $id, $ps) = check_login($link);
include 
'../head.php';
include 
'../navigator.php';

$rm = my_int($_GET['rm']); // фильтр $rm

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

$empty = mysql_query("SELECT * FROM `rooms` WHERE `id` = '$rm' LIMIT 1");
// проверка на несуществующую комнату
if (mysql_num_rows($empty) == FALSE) {
    
header('Location: ../index.php?' . $ref);
    die();
} else {
    
$inf = mysql_fetch_assoc($empty);
}

$_SESSION['NameRoom'] = $user['room'];
whorm($rm, 'room' . $rm); // Запись онлайна

// заголовок (назв комнаты)
echo (empty($inf['top'])) ? $div_title . $inf['name'] . $div_end : $div_title . $inf['top'] . $div_end;

$topic = ($user['level'] == 2 || $user['level'] == 4 || $user['level'] == 5) ? ' | <a href="topic.php?rm='.$rm.'">Топ</a> | <a href="room.php?clean&amp;rm='.$rm.'">Очистить</a>' : '';
if (
$inf['umnik'] == 1) $top10 = ' | <a href="top_umnik.php?rm='.$rm.'">ТОП-10 умники</a>';

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

echo 
$div_left . $div_menu . '
     <a href="index.php?'
.$ref.'">Комнаты</a> | <b>' . $inf['name'] . '</b> | <a href="say.php?rm='.$rm.'">Сказать</a> | <a href="whoroom.php?rm='.$rm.'">Кто здесь(' . $ASnum . ')</a>' . $topic . $top10 . '
     ' 
. $div_end;

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

// БАР
if ($inf['barmen'] == 1) echo $div_aut . 'Для просмотра меню бара наберите "!меню"' . $div_end;
// Бк
if ($inf['bk'] == 1) echo $div_aut . 'Для просмотра ударов наберите "!удары"' . $div_end;
// Тренировочная
if ($inf['bk'] == 2) echo $div_aut . 'Для выбора тренажера наберите "!тренажер"' . $div_end;

/*
* УМНИК
*/
if ($inf['umnik'] == 1) {
include 
'umnik1.php';

$umn = mysql_query("SELECT * FROM `message` WHERE `who` = '0' AND `user` = 'Умник' ORDER BY `time` DESC LIMIT 1");

echo 
$div_left;

    
$InStr = mysql_fetch_assoc(mysql_query("SELECT * FROM `vopros` WHERE `ids` = '1' LIMIT 1"));
  while(
$umnig = mysql_fetch_assoc($umn)) {
  
// задаем вопрос
    
if ($InStr['number'] == 0) {
         echo 
$div_tworazdel . '<b>' . $umnig['user'] . ':</b> ' . $umnig['msg'] . ' (' . ($umnig['time'] - time() + 90) . ' сек)' . $div_end;
    }
  
// первая подсказка
    
elseif ($InStr['number'] == 1) {
         echo 
$div_tworazdel . '<b>' . $umnig['user'] . ':</b> ' . $InStr['question'] . $div_end .
              
$div_razdel . $umnig['msg'] . ' (' . ($umnig['time'] - time() + 75) . ' сек)' . $div_end;
    }
  
// вторая подсказка
    
elseif ($InStr['number'] == 2) {
         echo 
$div_tworazdel . '<b>' . $umnig['user'] . ':</b> ' . $InStr['question'] . $div_end .
              
$div_razdel . $umnig['msg'] . ' (' . ($umnig['time'] - time() + 75) . ' сек)' . $div_end;
    }
  
// остальные сообщения
    
else
    {
         echo 
$div_razdel . '<b>' . $umnig['user'] . ':</b> ' . $umnig['msg'] . $div_end;
    }
  }

echo 
$div_end;
}

/*
* АНАГРАММА
*/
if ($inf['anagram'] == 1) {
include 
'anagram1.php';

$ang = mysql_query("SELECT * FROM `message` WHERE `who` = '0' AND `user` = 'Анаграмма' ORDER BY `time` DESC LIMIT 1");

echo 
$div_left;

    
$InStr = mysql_fetch_assoc(mysql_query("SELECT * FROM `vopros` WHERE `ids` = '2' LIMIT 1"));
  while(
$angaramm = mysql_fetch_assoc($ang)) {
  
// задаем вопрос
    
if ($InStr['number'] == 0) {
         echo 
$div_razdel . '<b>' . $angaramm['user'] . ':</b> ' . $angaramm['msg'] . ' (' . ($angaramm['time'] - time() + 90) . ' сек)' . $div_end;
    }
  
// первая подсказка
    
elseif ($InStr['number'] == 1) {
         echo 
'<b>' . $angaramm['user'] . ':</b> ' . $InStr['question'] . '<br/>';
         echo 
$div_razdel . $angaramm['msg'] . ' (' . ($angaramm['time'] - time() + 75) . ' сек)' . $div_end;
    }
  
// вторая подсказка
    
elseif ($InStr['number'] == 2) {
         echo 
'<b>' . $angaramm['user'] . ':</b> ' . $InStr['question'] . '<br/>';
         echo 
$div_razdel . $angaramm['msg'] . ' (' . ($angaramm['time'] - time() + 75) . ' сек)' . $div_end;
    }
  
// остальные сообщения
    
else
    {
         echo 
$div_razdel . '<b>' . $angaramm['user'] . ':</b> ' . $angaramm['msg'] . $div_end;
    }
  }

echo 
$div_end;
}

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

echo 
'<FORM method="POST" action="room.php?rm='.$rm.'">
      <fieldset>
      <textarea name="msg" cols="50" rows="5" style="width: 99%;"></textarea>
      <br/>'
;
if (
$user['level'] == 2 || $user['level'] == 4 || $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="Сказать"/>
      </fieldset>
      </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'])) {
   
mysql_query("DELETE FROM `message` WHERE `room` = '$rm'");
   
header('Location: room.php?rm=' . $rm);
}

// запись поста в бд
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() && $inf['bk'] != 1 && $inf['bk'] != 2 && $inf['barmen'] != 2)
    {
        
$mess = mysql_result(mysql_query("SELECT COUNT(*) FROM `message` WHERE 
                                      `who` = '
$user[id]' 
                                      AND 
                                      `time` < '" 
. $_SESSION['flood_time'] . "'"), 0);

        if (
$mess > 0) {
            
header('Location: room.php?rm='.$rm.'&flood');
            die();
        }
    }

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

// редирект в меню бара
if ($inf['barmen'] == 1 && $msg == '!меню') {
    
header('Location: list_drink.php?rm='. $rm);
    die();
}
// редирект в меню оружий
if ($inf['bk'] == 1 && $msg == '!удары') {
    
header('Location: fight.php?rm='. $rm);
    die();
}
// редирект в тренажерку
if ($inf['bk'] == 2 && $msg == '!тренажер') {
    
header('Location: trainers.php?rm='. $rm);
    die();
}

if (
$inf['barmen'] == 1) include 'bot_bartender.php'; // инклуд бармена
if ($inf['umnik'] == 1) include 'umnik2.php'; // инклуд умника
if ($inf['anagram'] == 1) include 'anagram2.php'; // инклуд анаграммы
if ($inf['bk'] == 1) include '../bk/fight.php'; // инклуд бк
if ($inf['bk'] == 2) include_once '../bk/trainers.php'; // инклуд тренажерки

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

if (
$NumDouble > 0 && $inf['bk'] != 1 && $inf['bk'] != 2 && $inf['barmen'] != 2)
  {
        
header('Location: room.php?rm='.$rm.'&empty');
        die(); 
  }

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

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

     
mysql_query("INSERT INTO `message` SET
                  `id` = '
$ids',
                 `time` = '" 
. (time() + 1) . "',
                  `who` = '0',
                 `user` = 'Терпила',
                 
$Priv
                 `msg` = '
$msg_2',
                 `room` = '
$rm',
                 `komu` = '
$user[id]'");
     
header('Location: room.php?rm=' . $rm);
}

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

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

 if (
$_ant['on_rekl'] == 1) {
    
$ex = explode(',', file_get_contents('../domains.dat'));

    foreach(
$ex as $value) {
            if (
$user['level'] != 2 && $user['level'] != 4 && $user['level'] != 5) {
             
$msg = preg_replace("/(.*)(s|,|.|*|_|-|+)+$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 && $inf['type'] != 1) ? mat($msg) : $msg;
    
    if (
$user['level'] == 2 || $user['level'] == 4 || $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') != 'room' . $rm && $user['id'] != $komu && user_inf($komu, 'sistem_mes') == 1) {
                
$q = 'Вам оставили сообщение в комнате <a href="/chat/room.php?rm='.$rm.'">'.$inf['name'].'</a>.';
                
mysql_query("INSERT INTO `letters` (`id`,`who`,`idwho`,`message`,`data`,`read`,`mod`)
                              VALUES (0,'0','
$komu','$q','" . time() . "','0','i')");
                
header('Location: room.php?rm='.$rm.'&' . $ref);
            }

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

   }

}

    
// сообщение системы о входе в комнату
    
$WhoSex = ($user['sex'] == 1) ? 'вошла' : 'вошел';
    
$Intrvl = mysql_query("SELECT COUNT(*) FROM `message` WHERE
                          `room` = '
$rm'
                          AND
                          `user` = 'Система'
                          AND
                          `msg` = 'В комнату 
$WhoSex <a href="/$user[id]">$user[user]</a>'
                          AND
                          `time` > '" 
. (time() - 200) . "'");

    if (
mysql_result($Intrvl, 0) == 0 && $_SESSION['NameRoom'] != 'room' . $rm) {
        
$mes = 'В комнату ' . $WhoSex . ' <a href="/'.$user['id'].'">' . $user['user'] . '</a>';
        
$ids = mt_rand(100000, 999999);
        
mysql_query("INSERT INTO `message` SET
                     `id` = '
$ids',
                     `who` = '0',
                     `user` = 'Система',
                     `msg` = '
$mes',
                     `time` = '" 
. time() . "',
                     `room` = '
$rm'");
    }


// приодический пост бота
if ($inf['pizdun'] == 1) {

  if (!isset(
$_SESSION['pizdun_time'])) $_SESSION['pizdun_time'] = 0;
  if (
$_SESSION['pizdun_time'] < time()) {
        
$b = mysql_fetch_assoc(mysql_query("SELECT * FROM `dialog` WHERE `type` = 'other' ORDER BY RAND() DESC LIMIT 1"));
        
$mes = $b['message'];
        
$ids = mt_rand(100000, 999999);
        
mysql_query("INSERT INTO `message` SET  
                    `id` = '
$ids',
                    `who` = '0',
                    `user` = 'Терпила',
                    `msg` = '
$mes',
                    `time` = '" 
. time() . "',
                    `room` = '
$rm'");

        
mysql_query("ANALYZE TABLE `message`");
   }  
   
$_SESSION['pizdun_time'] = time() + 120;
}

// удаление поста
if (isset($_GET['delete'])) {
 if (
$user['level'] != 2 && $user['level'] != 4 && $user['level'] != 5) {
   
header('Location: room.php?rm=' . $rm);
   die();
 }
   
$x = my_int($_GET['x']);
   
$em = mysql_query("SELECT * 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: room.php?rm='.$rm.'&okdel');
    } else {
         
header('Location: room.php?rm='.$rm.'&errdel');
  }
}

// сообщения системы
$sis = ($user['sistem_mes'] != 1) ? "AND `user` != 'Система'" : "";

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

$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `message` WHERE `room` = '$rm' $sis AND `user` != 'Умник' AND `user` != 'Анаграмма' $FiltrMes AND `who` NOT IN (SELECT `ig_id` FROM `ignor` WHERE `user_id` = '$user[id]')"), 0);

if (
$count != false) {
 
$n = new navigator($count, $user['room_post'], '?rm='.$rm.'&amp;');
 
$result = mysql_query("SELECT * FROM `message` WHERE `room` = '$rm' AND `user` != 'Анаграмма' AND `user` != 'Умник' $sis $FiltrMes AND `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']);
    
/*$sql['msg'] = (stripos($sql['msg'], $user['user']) !== FALSE) 
    ? $sql['msg'] = str_replace($user['user'], '<u>' . $user['user'] . '</u>', $sql['msg']) 
    : $sql['msg'] = $sql['msg'];*/

    // Обновление
    
$refresh = $user['refresh'];
    
$refresh = $refresh / 2;
    if (
$refresh !== 0) echo '<META HTTP-EQUIV="Refresh" CONTENT="' . $refresh . '; URL=room.php?rm='.$rm.'">';

    
// Распределение ников...
    
if ($sql['who'] == 0 && $sql['user'] == 'Терпила') {
        
$kto_id = '<a href="inside.php?nk=0&amp;rm='.$sql['room'].'"><b>Терпила</b></a>';
    }
    elseif (
$sql['who'] == 0 && $sql['user'] == 'Система') {
        
$kto_id = '<b>Система</b>';
    }
    elseif (
$sql['who'] == 0 && $sql['user'] == 'Бармен') {
        
$kto_id = '<b>Бармен</b>';
    }
    elseif (
$sql['who'] == 0 && $sql['user'] == 'Умник') {
        
$kto_id = '<b>Умник</b>';
    }
    elseif (
$sql['who'] == 0 && $sql['user'] == 'Анаграмма') {
        
$kto_id = '<b>Анаграмма</b>';
    }
    elseif (
$sql['who'] == 0 && $sql['user'] == 'Рефери') {
        
$kto_id = '<b>Рефери</b>';
    } else {
        
$kto_id = '<a href="inside.php?nk='.$sql['who'].'&amp;rm='.$sql['room'].'&amp;'.rand(1000, 9999).'"><b>'.cvetnik($sql['who']).'</b></a>';
    }

    
$delpost = ($user['level'] == 2 || $user['level'] == 4 || $user['level'] == 5) ? '[<a href="room.php?delete&amp;rm='.$rm.'&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'] == 5 || $sql['private'] == 1 && $sql['komu'] == $user['id'] || $sql['private'] == 1 && $sql['who'] == $user['id']) {
       echo (
$i ++ % 2) ? $div_tworazdel : $div_razdel;
       echo 
$delpost . $kto_id . ' (' . date('H:i', $sql['time']) . ') <b>[!п]</b>&gt; ' . smiles($sql['msg']) . $div_end;
    }
  }
      echo 
$n->navi();
 } else {
     echo 
'В этой комнате никто не писал.<br/>';
}

echo 
$div_end;
include 
'../foot.php';
?>
Онлайн: 3
Реклама