<?php
#----------------------------------------------------------------#
# ********* COOL-WAPA ********* #
# Автор : Dog09 #
# E-mail : [email protected] #
# Официальный сайт сайт проекта: : http://siza.pp.ua #
# ICQ : 617-333-896 #
# Вы не имеете право вносить изменения в код скрипта #
# для его дальнейшего распространения #
#----------------------------------------------------------------#
require('../include/cfg.php');
require('../include/aut.php');
require('../include/head.php');
require('../functions/msg_code.php');
if($_SESSION['aut']===FALSE&&intval($access[2])==0)
{
echo'<div class=head><img src="/image/chat.png" alt="image" /> Чат</div><br>
<div class=head>Вы не вошли в систему и по этому не можете общаться в чате!<br>
<a href="../index.php?'.$sid.'&mod=aut">Вход</a> |
<a href="../index.php?'.$sid.'&mod=reg">Регистрация</a></div>
';
require('../include/foot.php');exit;
}
$e=intval($set[4]);// сообщений на страницу
switch($mod){
#########################################
case('index'):
echo'<div class=head><img src="/image/chat.png" alt="image" /> Комнаты чата :</div><br>
<div class=head>» <a href="'.SELF.'mod=intim">Приватная комната</a><br>
» <a href="'.SELF.'mod=question">Клуб знатоков</a> ['.mysql_result(mysql_query('SELECT count(*) FROM `online` WHERE `map`="chat?mod=question&id=1";'),0).']<br>';
$q=mysql_query('SELECT * FROM `c_room` ORDER BY `i`;');
if(mysql_num_rows($q)>0)
{
while($row=mysql_fetch_assoc($q))
{$online=mysql_query('SELECT `user` FROM `online` WHERE `map`="chat?mod=room&id='.$row['id'].'";');
$num_rows=mysql_num_rows($online);if($num_rows>0){$onl='['.$num_rows.']<br>';
for($i=0;$i<$num_rows;$i++){$lll=mysql_fetch_row($online);if($i!=$num_rows-1){$onl.=$lll[0].', ';}else{$onl.=$lll[0];}}}else{$onl='[0]';}
echo'» <a href="'.SELF.'mod=room&id='.$row['id'].'">'.$row['name'].'</a> '.$onl.'<br>';}
}else{echo 'Комнаты не созданы!';}
echo'</div>';
// онлайн в прихожей
$q=mysql_query('SELECT `user` FROM `online` WHERE `map` LIKE "chat?mod=index%";');
$num_rows=mysql_num_rows($q);if($num_rows>0){$onl='В прихожей ['.$num_rows.']:<br>';
for($i=0;$i<$num_rows;$i++){$lll=mysql_fetch_row($q);if($i!=$num_rows-1){$onl.=$lll[0].', ';}else{$onl.=$lll[0];}}}else{$onl='В прихожей[0]';}
echo'<br>'.$onl.'<br>';
break;
#########################################
case('room'):
if(is_numeric(@$_GET['id']))
{$id=$_GET['id'];}else{echo'Ошибка комната не существует!<br>';require('../include/foot.php');exit;}
// параметры комнаты
if($room=mysql_fetch_assoc(mysql_query('SELECT * FROM `c_room` WHERE `id`='.$id.' LIMIT 1;')))
{}else{echo'Ошибка комната не существует!<br>';require('../include/foot.php');exit;}
// если надо добавляем сообщение
if((int)@$_GET['tmp']== @$_SESSION['tmp']&&isset($_POST['msg'])&&$_POST['msg']!='')
{
if(@$_POST['privat']==1){$privat=mysql_escape_string(htmlspecialchars(trim($_GET['to'])));}else{$privat='';}
mysql_query('INSERT INTO `c_post` SET `msg`="'.msg_encode($_POST['msg']).'",`name`="'.$user['log'].'",`time`='.time().',`room`='.$id.',`privat`="'.$privat.'";');
$user['postchat']++;
}
$_SESSION['tmp']=rand(1,999);
echo'<div class=head>'.$room['name'].'</div>
<form method="post" action="'.SELF.'mod=room&tmp='.$_SESSION['tmp'].'&id='.$id.'">
Написать :<br>
<textarea name="msg" cols="20" rows="3"></textarea><br>
<input type="submit" value="Сказать"></form>
<a href="'.SELF.'mod=room&tmp='.$_SESSION['tmp'].'&id='.$id.'">Обновить</a><br>';
// определяем страницу
$c=mysql_result(mysql_query('SELECT count(*) FROM `c_post` WHERE `room`='.$id.';'),0);
if(is_numeric(@$_GET['p'])&&(int)@$_GET['p']<=ceil($c/$e)){$p=(int)$_GET['p'];}
else{$p=1;}
//////////////////////
$q=mysql_query('SELECT * FROM `c_post` WHERE `room`='.$id.' ORDER BY `id` DESC LIMIT '.(($p*$e)-$e).','.$e.';');
while($row=mysql_fetch_assoc($q))
{
if($row['privat']==$user['log']){echo'<div class=a>{<b>П</b>}<a href="'.SELF.'mod=say&to='.$row['name'].'&id='.$id.'">'.$row['name'].'</a>['.date('H:i',$row['time']).']</div>'.$row['msg'].'<br>';}
else{echo'<div class=a>» <a href="'.SELF.'mod=say&to='.$row['name'].'&id='.$id.'">'.$row['name'].'</a>['.date('H:i',$row['time']).']</div>'.$row['msg'].'<br>';}
}
# выводим навигацию ################################
echo'<br>Страницы:';$prev=$p-2;$next=$p+3;$stall=ceil($c/$e);
if($prev<$c&&$prev>1){echo'<a href="'.SELF.'p=1&mod='.$mod.'&id='.$id.'">1</a> ... ';}
for($i=$prev;$i<$next;)
{
if($i<=$stall&&$i>=1){
if($p==$i){echo'<b>('.$i.')</b>';}else{echo' <a href="'.SELF.'p='.($i).'&mod='.$mod.'&id='.$id.'">'.$i.'</a> ';}
}
$i++;}
if($next<=$stall){echo ' ... <a href="'.SELF.'p='.$stall.'&mod='.$mod.'&id='.$id.'">'.$stall.'</a>';}
####################################################
echo'<div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
break;
#########################################
case('intim'):
echo'<div class=head>Приватная комната</div><br>';
if(@$_GET['i']=='reset'){unset($_SESSION['key']);}
if(empty($_SESSION['key'])){if(empty($_POST['key'])){
echo'
<form method="post" action="'.SELF.'mod=intim">
Ключ комнаты :<br>
<input name="key" maxlength="25" value=""><br>
<input type="submit" value="Войти"></form>';
echo'<div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
include('../include/foot.php');exit();
}else{$_SESSION['key']=htmlspecialchars(trim($_POST['key']));}}
$key=$_SESSION['key'];
echo'Ключ комнаты: "<b>'.$key.'</b>"<br><a href="'.SELF.'mod=intim&i=reset">Сменить ключ</a><br>';
$key=md5($key);
#########
if(is_file('../data/chat/intim/'.$key.'.chat')){}else{$fp=fopen('../data/chat/intim/'.$key.'.chat','a');fclose($fp);chmod('../data/chat/intim/'.$key.'.chat',0666);}
if((int)@$_GET['tmp']== @$_SESSION['tmp']&&isset($_POST['msg'])&&$_POST['msg']!='')
{
$msg=msg_encode($_POST['msg']);
$fp=fopen('../data/chat/intim/'.$key.'.chat','a');
fputs($fp,$msg.'::+w+::'.$user['log'].'::+w+::'.time().'::+w+::'."\n");
fclose($fp);chmod('../data/chat/intim/'.$key.'.chat',0666);
}
$_SESSION['tmp']=rand(1,999);
echo'
<form method="post" action="'.SELF.'mod=intim&tmp='.$_SESSION['tmp'].'">
Написать :<br>
<textarea name="msg" cols="20" rows="3"></textarea><br>
<input type="submit" value="Сказать"></form>
<a href="'.SELF.'mod=intim&tmp='.$_SESSION['tmp'].'">Обновить</a><br>';
$chat=array_reverse(file('../data/chat/intim/'.$key.'.chat'));
if(sizeof($chat)>100)
{
$f=fopen('../data/chat/intim/'.$key.'.chat','w');
for($j=0;$j<50;$j++){$chat2[]=$chat[$j];}
$chat2=array_reverse($chat2);
for($j=0;$j<50;$j++){fputs($f,$chat2[$j]);}
fclose($f); chmod('../data/chat/intim/'.$key.'.chat',0666);
$chat=array_slice(array_reverse(file('../data/chat/intim/'.$key.'.chat')),0,10);
}else{$chat=array_slice($chat,0,10);}
$cchat=sizeof($chat);
if($cchat!=0)
{#
for($j=0;$j<$cchat;$j++)
{$post=explode('::+w+::',$chat[$j]);$post[3]=trim($post[3]);
echo'<div class=a>'.$post[1].' ['.date('H:i',$post[2]).']</div>'.$post[0].'<br>';
}}#
echo'<div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
#########
break;
#########################################
case('question'):
echo'<div class=head>Комната Викторина</div>';
// добавляем сообщение
if((int)@$_GET['tmp']== @$_SESSION['tmp']&&isset($_POST['msg'])&&$_POST['msg']!='')
{
$msg=msg_encode($_POST['msg']);
$fp=fopen('../data/chat/question/room.chat','a');
fputs($fp,$msg.'::+w+::'.$user['log'].'::+w+::'.time().'::+w+::'."\n");
fclose($fp); chmod('../data/chat/question/room.chat',0666);
$user['postchat']++;
}
// бот ...
$bot=file('../data/chat/question/bot.chat');$bot=explode('::',$bot[0]);
if(trim($bot[2])<time()-60*2)
{
$quest=file('../data/chat/question/questions.dat');
$cquest=rand(0,count($quest)-1);
$fp=fopen('../data/chat/question/bot.chat','w');
fputs($fp,trim($quest[$cquest]).'::'.time());
fclose($fp);chmod('../data/chat/question/bot.chat',0666);
$bot=file('../data/chat/question/bot.chat');$bot=explode('::',$bot[0]);
}
elseif(strtolower($bot[1])==strtolower(trim(@$_POST['msg'])) && (int)@$_GET['tmp']== @$_SESSION['tmp'])
{
$user['quest']++;
$fp=fopen('../data/chat/question/room.chat','a');
fputs($fp,'Гениально! <b>'.$user['log'].'</b> отвечает правильно на '.($user['quest']).' вопрос!<br>Правильный ответ был: <b>'.$bot[1].'</b>::+w+::Магистр::+w+::'.time().'::+w+::'."\n");
fclose($fp); chmod('../data/chat/question/room.chat',0666);
$quest=file('../data/chat/question/questions.dat');
$cquest=rand(0,count($quest)-1);
$fp=fopen('../data/chat/question/bot.chat','w');
fputs($fp,trim($quest[$cquest]).'::'.time());
fclose($fp);chmod('../data/chat/question/bot.chat',0666);
$bot=file('../data/chat/question/bot.chat');$bot=explode('::',$bot[0]);
}
echo'<b>Вопрос:</b> '.$bot[0];
/////////////////////////////////////////
$_SESSION['tmp']=rand(1,999);
echo'
<form method="post" action="'.SELF.'mod=question&tmp='.$_SESSION['tmp'].'">
Написать :<br>
<textarea name="msg" cols="20" rows="3"></textarea><br>
<input type="submit" value="Сказать"></form>
<a href="'.SELF.'mod=question&tmp='.$_SESSION['tmp'].'">Обновить</a><br>';
$chat=array_reverse(file('../data/chat/question/room.chat'));
if(sizeof($chat)>100)
{
$f=fopen('../data/chat/question/room.chat','w');
for($j=0;$j<50;$j++){$chat2[]=$chat[$j];}
$chat2=array_reverse($chat2);
for($j=0;$j<50;$j++){fputs($f,$chat2[$j]);}
fclose($f); chmod('../data/chat/question/room.chat',0666);
$chat=array_slice(array_reverse(file('../data/chat/question/room.chat')),0,10);
}else{$chat=array_slice($chat,0,10);}
$cchat=sizeof($chat);
if($cchat!=0)
{#
for($j=0;$j<$cchat;$j++)
{$post=explode('::+w+::',$chat[$j]);$post[3]=trim($post[3]);
if($post[3]==$user['log']){echo'<div class=a>"'.SELF.'mod=say&to='.$post[1].'">'.$post[1].'</a>['.date('H:i',$post[2]).']</div>'.$post[0].'<br>';}
else{echo'<div class=a>» <a href="'.SELF.'mod=say&to='.$post[1].'&id=question">'.$post[1].'</a>['.date('H:i',$post[2]).']</div>'.$post[0].'<br>';}
}}#
echo'<div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
break;
#########################################
case('say'):
if(is_numeric(@$_GET['id'])||@$_GET['id']=='question')
{$id=$_GET['id'];}else{echo'Ошибка комната не существует!<br><div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
require('../include/foot.php');exit;}
// параметры комнаты
if($room= @mysql_fetch_assoc(mysql_query('SELECT * FROM `c_room` WHERE `id`='.$id.' LIMIT 1;'))){}
elseif(@$_GET['id']=='question'){$room['name']='Викторина';}
else{echo'Ошибка комната не существует!<br><div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
require('../include/foot.php');
exit;}
if(!empty($_GET['to'])){$to=mysql_escape_string(htmlspecialchars(trim(urldecode($_GET['to']))));}
else{echo'Ошибка!<br><div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
require('../include/foot.php');
exit;}
$_SESSION['tmp']=rand(1,999);
echo'<div class=head>'.$room['name'].'</div>';
if(is_numeric(@$_GET['id'])){echo'<form method="post" action="'.SELF.'mod=room&tmp='.$_SESSION['tmp'].'&id='.$id.'&to='.$to.'">';}
else{echo'<form method="post" action="'.SELF.'mod=question&tmp='.$_SESSION['tmp'].'&to='.$to.'">';}
echo'Написать :<br>
<textarea name="msg" cols="20" rows="3">'.$to.', </textarea><br>
<select name="privat"><option value="0">всем</option><option value="1">приватно</option></select><br>
<input type="submit" value="Сказать"></form>
<a href="../str/index.php?'.sid.'&uz='.$to.'">Анкета '.$to.'</a><br>
';
echo'<br>< <a href="'.SELF.'mod=room&id='.$id.'">'.$room['name'].'</a><br>';
echo'<div class=head><< <a href="'.SELF.'">В прихожую</a></div>';
break;
#########################################
default:
echo'Модуль "'.$mod.'" не существует!';
break;
}
// создаем сценарий для онлайн
$map='chat?mod='.$mod.'&id='.$id;
require('../include/foot.php');
?>