Размер файла: 8.82Kb
<?
include('../include/path.php');
if($config["accchat"]==1 || ($rank&128)==128){
if($config["seechat"]==1 || isset($user)){ // если установлен юзер
if(isset($_GET['rm']) && mysql_num_rows($room=sql_query('SELECT `id`, `name` FROM `'.PRE.'chat_rooms` WHERE `id`='.intval($_GET['rm']).' ORDER BY `id` ASC'))!=0){ // ЗАХОДИМ В ВЫБРАННУЮ КОМНАТУ
//--------------------------------------------------------------------------------------------
if(isset($_GET['del']) && !preg_match('/[^0-9]/',$_GET['del']) && ($rank&16)==16){
sql_query('DELETE FROM `'.PRE.'chat_msgs` WHERE `id`='.($_GET['del']).' AND `rm`='.$_GET['rm']);
}else
if(isset($_GET['clear']) && ($rank&16)==16){
sql_query('DELETE FROM `'.PRE.'chat_msgs` WHERE `rm`='.($_GET['rm']));
}
if(isset($_POST['msg']))
{
if(preg_match('/^.{1,1024}$/su',$_POST['msg']) && isset($user))
{
$private=(isset($_POST['private']) && preg_match('/[a-z0-9]/i',$_POST['private']) && get_ser_data(filtr(StrToLow(MyDecode($_POST['private'])))))?filtr(MyDecode($_POST['private'])):'';
$IP=(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/D',$_SERVER['HTTP_X_FORWARDED_FOR']) && CheckIP())?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER["REMOTE_ADDR"];
//------------------------------
sql_query($q='INSERT INTO `'.PRE.'chat_msgs` SET `time`='.time().', `ip`="'.$IP.'", `msg`="'.filtr($_POST['msg']).'", `privat`="'.$private.'", `login`="'.$user['login'].'", `rm`='.intval($_GET['rm']));
sql_query('UPDATE `'.PRE.'users` SET `posts`='.($user['posts']+1).' WHERE `login`="'.$user['login'].'"');
}else { $error='- Сообщение пустое или содержит недопустимое количество символов<br>';}
}
//-------------------------------------------------------------------------------------------
$link = ((isset($dat['refresh']))?$dat['refresh']:30).'; URL=?rand='.rand(0,1000).'&rm='.$_GET['rm'].'&'.SID;
function put_content(){
global $path,$user,$rank,$room,$error;
echo '<div class="title">ЧАТ</div>';
//--------------------------------------------------------------------------------------------
if(isset($user)){
if(isset($error)) { echo $error; }
echo'<a href="post.php?rm='.$_GET['rm'].'&'.SID.'">Написать</a><br>';
echo'<a href="?rand='.rand(0,1000).'?&rm='.$_GET['rm'].'&'.SID.'">Обновить</a><br>';
}else{ echo'<div>Для начала общения необходимо <a href="../registration.php">пройти регистрацию</a></div><br>'; }
//--------------------------------------------------------------------------------------------
echo '<div class="header">'.$room[$_GET['rm']].'</div>';
$onpage=(isset($user))?$user['tpage']:10;
if(mysql_num_rows($msgs=sql_query('SELECT * FROM `'.PRE.'chat_msgs` WHERE `rm`='.$_GET['rm'].' AND (`privat`="" OR `privat`="'.$user['login'].'" OR `login`="'.$user['login'].'") ORDER BY `time` DESC limit '.$onpage))!=0){
while($data=mysql_fetch_assoc($msgs)) {
echo '<div class="header">';
echo '<a href="post.php?nick='.MyEncode($data['login']).'&rm='.$_GET['rm'].'&'.SID.'">'.$data['login'].'</a>'.(($data['privat']!='')?' [!P] ':' ').date("d.m.y H:i",$data['time']);
if(($rank&16)==16){ echo ' [ <a href="?del='.$data['id'].'&rm='.$_GET['rm'].'&'.SID.'">X</a> ] [ <a href="../adminpanel/ban.php?login='.MyEncode($data['login']).'&'.SID.'">#</a> ]';}
echo '</div>';
echo '<div>'.bbc($data['msg']).'</div>';
}
echo'<br><a href="chatlogs.php?rm='.$_GET['rm'].'&'.SID.'">история</a> ';
echo'<a href="../help/smileys.php?help=smileys&rm='.$_GET['rm'].'&'.SID.'">смайлы</a> ';
echo'<a href="../help/tags.php?help=tags&rm='.$_GET['rm'].'&'.SID.'">тэги</a> ';
if(($rank&16)==16){ echo'<br><a href="?clear&rm='.$_GET['rm'].'&'.SID.'">очистить</a>'; }
}else{ echo '- В этой комнате нет сообщений<br>'; }
echo'<div class="nav"><a href="?'.SID.'">Прихожая</a></div>';
}
}else{
// ПРИХОЖАЯ
//--------------------------------------------------------------------------------------------
// ДОСТУПНО ТОЛЬКО АДМИНУ И МОДЕРУ
//--------------------------------------------------------------------------------------------
if(isset($_POST['ren']) && isset($_POST['chbox']) && isset($_POST['room']) && ($rank&16)==16){
foreach($_POST['room'] as $key=>$value) if(isset($_POST['chbox'][$key])) sql_query('UPDATE `'.PRE.'chat_rooms` SET `name`="'.filtr($value).'" WHERE `id`='.intval($key));
}else
if(isset($_POST['del']) && isset($_POST['chbox']) && ($rank&16)==16)
{
foreach($_POST['chbox'] as $key=>$value){ $rms[]=' `id`='.intval($key); $rms2[]=' `rm`='.intval($key);}
sql_query('DELETE FROM `'.PRE.'chat_rooms` WHERE ('.implode(' OR', $rms).')');
sql_query('DELETE FROM `'.PRE.'chat_msgs` WHERE ('.implode(' OR', $rms2).')');
}else
if(isset($_POST['add']) && isset($_POST['nr']) && ($rank&16)==16){
sql_query('INSERT INTO `'.PRE.'chat_rooms` SET `name`="'.filtr($_POST['nr']).'"');
}
//--------------------------------------------------------------------------------------------
function put_content(){
global $path,$user,$rank,$error;
echo '<div class="title">ЧАТ</div>';
//------------------------------------------------
echo'<a href="who.php?'.SID.'">Кто где?</a> [online: '.count_location().']<br>';
// echo'<a href="friends.php?'.SID.'">Друзья</a> [online: '.count_location().']<br>';
//------------------------------------------------
if(file_exists($path.'/../database/chat/rooms.php')){ include($path.'/../database/chat/rooms.php'); }
echo '<div class="header">Комнаты</div>';
if(($rank&16)==16){ echo'<form action="?'.SID.'" method="post" accept-charset="utf-8">'; }
if(mysql_num_rows($rooms=sql_query('SELECT * FROM `'.PRE.'chat_rooms` ORDER BY `id` ASC'))!=0){
$onl_in_rooms=sql_query('SELECT `loc`,`login` FROM `'.PRE.'online` WHERE `loc`LIKE"*/chat/" ORDER BY `login` ASC');
while($data=mysql_fetch_assoc($onl_in_rooms)) $inroom[preg_replace('#*/chat/(.*?)rm=(.*?)&#si', '\2', $data['loc'].'&')]=$data['login'];
while($data=mysql_fetch_assoc($rooms)){
echo (($rank&16)==16)?'<input name="chbox['.$data['id'].']" class="chbox" type="checkbox"><input type="text" maxlength="128" name="room['.$data['id'].']" class="text" value="'.$data['name'].'"><a href="?rm='.$data['id'].'&'.SID.'">войти</a> ['.(isset($inroom[$data['id']])?$inroom[$data['id']]:0).']<br>':
'<a href="?rm='.$data['id'].'&'.SID.'">'.$data['name'].'</a> ['.(isset($inroom[$data['id']])?$inroom[$data['id']]:0).']<br>';
}
if(($rank&16)==16){ echo'<br><input type="submit" name="ren" class="button" value="Переименовать"><input type="submit" name="del" class="button" value="Удалить">'; }
}else{ echo '- Комнаты не установлены<br>'; }
if(($rank&16)==16){
echo '<div class="header">Добавить комнату</div>';
echo'<input type="text" maxlength="128" name="nr" class="text" value="">';
echo'<br><input type="submit" class="button" name="add" value="Добавить"></form>';
}
echo'<div class="header">Помощь</div>';
echo'<a href="rules.php?'.SID.'">Правила</a><br>';
echo'<a href="../help/smileys.php?'.SID.'">Cмайлы</a><br>';
echo'<a href="../help/tags.php?'.SID.'">Тэги</a><br>';
echo'<div class="nav"><a href="../?'.SID.'">на главную</a></div>';
}
}
} else {
$link = '10; URL=../registration.php?'.SID;
function put_content() {
echo '<div class="title">ЧАТ</div>';
echo 'Для начала общения в чате вам необходимо ';
echo '<a href="../registration.php?'.SID.'">зарегистрироваться</a> на сайте';
echo '<div class="nav"><a href="../?'.SID.'">на главную</a></div>';
}
}
} else {
$link = '10; URL=../?'.SID;
function put_content() {
echo '- Доступ запрещен администрацией сайта<br><br>';
echo '<a href="../?'.SID.'">далее...</a>';
}
}
// подключение дизайна
design();?>