Файл: iwup.biz/chat/index.php
Строк: 279
<?php
$mt = microtime(1);
include '../db.php';
include '../ses.php';
include '../auth.php';
include '../nast.php';
include '../shapka.php';
if (!$_SESSION['auth']) {
header('Location: /enter.php?ses='.$ses);
exit;
}
function output($text) {
$smiles = array(
':)' => ' <img src="/forum/smiles/smile.gif" alt=":)"/> ',
':(' => ' <img src="/forum/smiles/smile2.gif" alt=":("/> ',
';)' => ' <img src="/forum/smiles/wink.gif" alt=";)"/> ',
':-P' => ' <img src="/forum/smiles/P.gif" alt=":-P"/> ',
':-O' => ' <img src="/forum/smiles/O.gif" alt=":-O"/> ',
':-D' => ' <img src="/forum/smiles/D.gif" alt=":-D"/> ',
'B-)' => ' <img src="/forum/smiles/B.gif" alt="B-)"/> ',
'8-)' => ' <img src="/forum/smiles/8.gif" alt="8-)"/> ',
':acute:' => ' <img src="/forum/smiles/acute.gif" alt=":acute:"/> ',
':agres:' => ' <img src="/forum/smiles/agres.gif" alt=":agres:"/> ',
':angel:' => ' <img src="/forum/smiles/angel.gif" alt=":angel:"/> ',
':beee:' => ' <img src="/forum/smiles/beee.gif" alt=":beee:"/> ',
':bo:' => ' <img src="/forum/smiles/bo.gif" alt=":bo:"/> ',
':bomb:' => ' <img src="/forum/smiles/bomb.gif" alt=":bomb:"/> ',
':bravo:' => ' <img src="/forum/smiles/bravo.gif" alt=":bravo:"/> ',
':cray:' => ' <img src="/forum/smiles/cray.gif" alt=":cray:"/> ',
':crazy:' => ' <img src="/forum/smiles/crazy.gif" alt=":crazy:"/> ',
':dance:' => ' <img src="/forum/smiles/dance.gif" alt=":dance:"/> ',
':diablo:' => ' <img src="/forum/smiles/diablo.gif" alt=":diablo:"/> ',
':dont_know:' => ' <img src="/forum/smiles/dont_know.gif" alt=":dont_know:"/> ',
':drink:' => ' <img src="/forum/smiles/drink.gif" alt=":drink:"/> ',
':fool:' => ' <img src="/forum/smiles/fool.gif" alt=":fool:"/> ',
':good:' => ' <img src="/forum/smiles/good.gif" alt=":good:"/> ',
':help:' => ' <img src="/forum/smiles/help.gif" alt=":help:"/> ',
':hi:' => ' <img src="/forum/smiles/hi.gif" alt=":hi:"/> ',
':jokingly:' => ' <img src="/forum/smiles/jokingly.gif" alt=":jokingly:"/> ',
':kiss:' => ' <img src="/forum/smiles/kiss.gif" alt=":kiss:"/> ',
':kissed:' => ' <img src="/forum/smiles/kissed.gif" alt=":kissed:"/> ',
':mamba:' => ' <img src="/forum/smiles/mamba.gif" alt=":mamba:"/> ',
':melancholy:' => ' <img src="/forum/smiles/melancholy.gif" alt=":melancholy:"/> ',
':music:' => ' <img src="/forum/smiles/music.gif" alt=":music:"/> ',
':nea:' => ' <img src="/forum/smiles/nea.gif" alt=":nea:"/> ',
':ok:' => ' <img src="/forum/smiles/ok.gif" alt=":ok:"/> ',
':pardon:' => ' <img src="/forum/smiles/pardon.gif" alt=":pardon:"/> ',
':pont:' => ' <img src="/forum/smiles/pont.gif" alt=":pont:"/> ',
':rofl:' => ' <img src="/forum/smiles/rofl.gif" alt=":rofl:"/> ',
':scratch:' => ' <img src="/forum/smiles/scratch.gif" alt=":scratch:"/> ',
':sorry:' => ' <img src="/forum/smiles/sorry.gif" alt=":sorry:"/> ',
':stop:' => ' <img src="/forum/smiles/stop.gif" alt=":stop:"/> ',
':tired:' => ' <img src="/forum/smiles/tired.gif" alt=":tired:"/> ',
':wall:' => ' <img src="/forum/smiles/wall.gif" alt=":wall:"/> ',
':write:' => ' <img src="/forum/smiles/write.gif" alt=":write:"/> ',
':secret:' => ' <img src="/forum/smiles/secret.gif" alt=":secret:"/> ',
':yahoo:' => ' <img src="/forum/smiles/yahoo.gif" alt=":yahoo:"/> ',
':yes:' => ' <img src="/forum/smiles/yes.gif" alt=":yes:"/> ',
':paranoid:' => ' <img src="/forum/smiles/paranoid.gif" alt=":paranoid:"/> ',
':searchs:' => ' <img src="/forum/smiles/searchs.gif" alt=":searchs:"/> ',
':dance2:' => ' <img src="/forum/smiles/dance2.gif" alt=":dance2:"/> ',
':runner:' => ' <img src="/forum/smiles/runner.gif" alt=":runner:"/> ',
':privet:' => ' <img src="/forum/smiles/privet.gif" alt=":privet:"/> ',
':kyky:' => ' <img src="/forum/smiles/kyky.gif" alt=":kyky:"/> ',
':bass:' => ' <img src="/forum/smiles/bass.gif" alt=":bass:"/> ',
':dance3:' => ' <img src="/forum/smiles/dance3.gif" alt=":dance3:"/> ',
':kaka:' => ' <img src="/forum/smiles/kaka.gif" alt=":kaka:"/> ',
':roza:' => ' <img src="/forum/smiles/roza.gif" alt=":roza:"/> ',
':ole:' => ' <img src="/forum/smiles/ole.gif" alt=":ole:"/> ',
':santa:' => ' <img src="/forum/smiles/santa.gif" alt=":santa:"/> ',
':newyear:' => ' <img src="/forum/smiles/newyear.gif" alt=":newyear:"/>',
':admin:' => ' <img src="/forum/smiles/admin.gif" alt=":admin:"/> '
);
$text=nl2br(preg_replace('`http://([a-z]+[w-.]*[a-z]+.[a-z]{2,6}(/[w-/.&%#?!@~[]:;,=+^]*)?)`i', '<a href="http://$1" target="_blank">http://$1</a>', str_ireplace(array_keys($smiles), array_values($smiles), htmlspecialchars($text))));
$text=preg_replace("#[b](.*)[/b]#isU", '<b>\1</b>',$text);
$text=preg_replace("#[q](.*)[/q]#isU", '<div style="border: 2px dotted #FFFFFF;overflow: auto;margin: 6px;border-radius:5px;padding:3px;"><code>\1</code></div>',$text);
return $text;
}
$info = mysql_fetch_assoc(mysql_query("SELECT * from `user` WHERE `uid`='$_SESSION[uid]' LIMIT 1"));
if($info['status']<3)
print "Вы забанены<br />
Свяжитель с администрацией для выяснения причин<br />
";
else
{
//by oee
if($_GET["cit"]>0){
$citsql=mysql_fetch_assoc(mysql_query("SELECT `time`, `login`, `message` FROM `chat` where `id`=".(int)$_GET["cit"]));
$citsql["message"]=preg_replace("#[q](.*)[/q]#isU", '',$citsql["message"]);
if(!empty($citsql))$cit="[q][b]".$citsql["login"]."[/b] [b](".date("d/m/Y H:i", strtotime($citsql['time'])).")[/b] писал(а)
".trim($citsql["message"])."[/q]
".$citsql["login"].", ";
}
print '</div><div class="top">Мини-чат</div>';
include_once '../vpanelka.php';
print '</div><div class="down"><a href="/forum/smile.php?ses='.$ses.'">Смайлы</a> | <a href="/chat/?ses='.$ses.'">Обновить</a><br /></div><div>';
print '<form class="razd33" action="/chat/?ses='.$ses.'" method="post">
Сообщение:<br />
<textarea name="message" rows="3">'.(!empty($cit)?$cit:"").((isset($_GET['login'], $_GET['answer']) AND !empty($_GET['login'])) ? htmlspecialchars($_GET['login']).', ' : '').'</textarea><br />
<input type="submit" value="Сказать" /></form>
';
if ($info['status'] > 4 AND isset($_GET['truncate'])) {
mysql_query("TRUNCATE TABLE `chat`");
echo 'Мини-чат успешно очищен.';
}
if (($info['status'] > 4) AND isset($_GET['delete'], $_GET['id']) AND is_numeric($_GET['id'])) {
if ($_GET['delete'] == 1) {
mysql_query("DELETE FROM `chat` WHERE `id` = '".abs(intval($_GET['id']))."' LIMIT 1");
print 'Сообщение успешно удалено.';
}
else print 'Вы уверены, что хотите удалить сообщение?<br />
<a href="/chat/delete/'.abs(intval($_GET['id'])).'/yes/?ses='.$ses.'">Да</a> | <a href="/chat/?ses='.$ses.'">Нет</a>';
}
elseif (isset($_POST['message']) AND !empty($_POST['message'])) {
$_POST['message'] = mb_substr(trim($_POST['message']), 0, 2048, 'UTF-8');
if (mysql_result(mysql_query("SELECT COUNT(`id`) FROM `chat` WHERE `login` = '".mysql_real_escape_string($info['login'])."' AND (`time` > (NOW() - INTERVAL 5 SECOND) OR (`time` > (NOW() - INTERVAL 5 MINUTE) AND `message` = '".mysql_real_escape_string($_POST['message'])."'))"), 0) > 0)
echo 'Слишком быстро. Попробуйте позже.';
else {
mysql_query("INSERT INTO `chat` SET `login` = '".mysql_real_escape_string($info['login'])."', `message` = '".mysql_real_escape_string($_POST['message'])."'");
print '<div class="ma">Сообщение успешно добавлено.</div>';
}
}
mysql_query("UPDATE `user` SET `chat_last` = NOW() WHERE `uid` = '$_SESSION[uid]' LIMIT 1");
$count = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `chat`"), 0);
$page_count = ceil($count / 10);
$page = (empty($_REQUEST['page']) OR !is_numeric($_REQUEST['page']) OR $_REQUEST['page'] < 1 OR $_REQUEST['page'] > $page_count) ? 1 : abs(intval($_REQUEST['page']));
$start = ($page - 1) * 10;
$sql = mysql_query("SELECT `id`, `time`, `login` AS `username`, `message`, (SELECT IF((`chat_last` > (NOW() - INTERVAL 5 MINUTE)), 'on', 'off') FROM `user` WHERE `login` = `username` LIMIT 1) AS `status` FROM `chat` ORDER BY `id` DESC LIMIT $start, 10");
if (mysql_num_rows($sql)) {
while ($row = mysql_fetch_assoc($sql)) { print '</div><div class="ma">';
echo '<img src="/css/img/36.gif" alt="" /> ';
print ' <a href="../../../proom.php?ses='.$ses.'&login='.htmlspecialchars($row['username']).'"><b>'.($row['username'] == ''.$nickadmin.'' ? '<b>'.htmlspecialchars($row['username']).'</b>' : htmlspecialchars($row['username'])).'</b></a>
<b>('.date('d/m/Y H:i', strtotime($row['time'])).')</b>
'.($row['status'] == 'on' ? '(<font color="lime">ON</font>)' : '(<font color="red">OFF</font>)').'
<br />
[<a href="/chat/answer/'.urlencode($row['username']).'/?ses='.$ses.'">Отв.</a>] [<a href="/chat/cit/'.urlencode($row['username']).'/'.$row['id'].'/?ses='.$ses.'">Цит.</a>] <br />
'.output($row['message']).(($info['status'] > 4) ? '<br />
[<a href="/chat/delete/'.$row['id'].'/?ses='.$ses.'">Уд.</a>]' : '').'
</div>';
}
}
else print 'Мини-чат пуст.';
if ($page_count > 1) {
print '<div class="down">';
if ($page - 3 > 3) echo '<a href="/chat/1/?ses='.$ses.'"><b>1</b></a>...';
for ($i = $page - 3; $i <= $page + 3; $i++) {
if ($i > 0 AND $i <= $page_count) {
if ($i == $page) $pages[] = '<b>'.$i.'</b>';
else $pages[] = '<a href="/chat/'.$i.'/?ses='.$ses.'">[<b>'.$i.'</b>]</a>';
}
}
echo implode(' ', $pages);
if ($page + 3 < $page_count) print '...<a href="/chat/'.$page_count.'/?ses='.$ses.'"><b>'.$page_count.'</b></a>';
echo '</div>';
}
}
if ($info['status'] > 4) echo '</div><div class="down"><a href="/chat/truncate/?ses='.$ses.'">Очистить чат</a></div><div>';
if($_SESSION['auth'])
{
print '</div><div class="down"><a href="/enter.php?ses='.$ses.'">Личный кабинет</a></div><div>';
}
else
print '</div><div class="down"><a href="index.php">Игровой клуб</a><br /></div><div>';
include '../foot.php';
?>