Файл: chat.php
Строк: 98
<?php
include ("files/zag.php");
if(isset($_COOKIE['aut']) and $_COOKIE['aut']
== 1){
switch($_GET['go']){
default:
echo '
<big>Чат</big><br>- - -<br>
<a href="/chat.php?r='.rand(11111,99999).'">Обновить</a>
';
if($udata[10] >=2) echo '<br><a href="/chat.php?go=clear">Удалить все сообщения</a>';
echo '
<br>- - -<br>
';
$chat = file('data/chat.dat');
if(isset($_POST['msg'])){
$msg = check::text(check::nobr($msg));
if(empty($msg)){
header('Location: /chat.php'); exit;
}
$u['cpost']
= $u['cpost']+1;
$update = $u['log'].':||:'.$u['pas'].':||:'.$udata[2].':||:'.$udata[3].':||:'.$udata[4].':||:'.$udata[5].':||:'.$u['win'].':||:'.$u['lose'].':||:'.$u['aden'].':||:'.$u['lvl'].':||:'.$udata[10].':||:'.$udata[11].':||:'.$udata[12].':||:'.$udata[13].':||:'.$udata[14].':||:'.$udata[15].':||:'.$u['hp'].':||:'.$u['hpm'].':||:'.$u['mail'].':||:'.$u['exp'].':||:'.$u['gorod'].':||:'.$udata[21].':||:'.$u['privat'].':||:'.$u['clan'].':||:'.$udata[24].':||:'.$u['paty'].':||:'.$u['race'].':||:'.$u['class'].':||:'.$u['reg'].':||:'.$u['mp'].':||:'.$u['mpm'].':||:'.$udata[31].':||:'.$udata[32].':||:'.$u['prof'].':||:'.$udata[34].':||:'.$udata[35].':||:'.$u['karma'].':||:'.$udata[37].':||:'.$udata[38].':||:'.$udata[39].':||:'.$udata[40].':||:'.$u['online'].':||:'.$u['okr'].':||:'.$u['pa'].':||:'.$u['ma'].':||:'.$u['pd'].':||:'.$u['md'].':||:'.$u['col'].':||:'.$u['status'].':||:'.$u['rek'].':||:'.$u['clog'].':||:'.$u['hel'].':||:'.$u['arm'].':||:'.$u['niz'].':||:'.$u['dwe'].':||:'.$u['glo'].':||:'.$u['boo'].':||:'.$u['mas'].':||:'.$u['amu'].':||:'.$u['pu'].':||:'.$u['lu'].':||:'.$u['pha'].':||:'.$u['lha'].':||:'.$u['self'].':||:'.$u['cpost'].':||:'.$u['fpost'].':||:';
$fp = fopen('./data/reg/'.$u['log'].'.dat', 'a+');
flock($fp,LOCK_EX);
ftruncate($fp, 0);
fputs($fp, $update);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
$addchat = ''.$msg.':||:'.$u['log'].':||:'.time().':||:';
$fp = fopen("data/chat.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$addchatrn");
flock ($fp,LOCK_UN);
fclose($fp);
header('Location: /chat.php');
}
echo '
<form action="/chat.php" method="post">
Сообщение:<br>
<textarea name="msg" style="width:99%;" rows="2"></textarea><br>
<input type="submit" value="Написать"/>
</form>
- - -<br>
';
$chat = array_reverse($chat);
$total = count($chat);
for($i = 0; $i < $total; $i++){
$cdata = explode(":||:", $chat[$i]);
$cdata_99[]
= $i;
$cdata_0[] = $cdata[0];
$cdata_1[] = $cdata[1];
$cdata_2[] = $cdata[2];
}
if(empty($cdata_0)){
echo 'Сообщений нет.<br>';
}else{
foreach($cdata_0 as $k
=> $v){
if($udata[10] >=2){
$dat_screen[]
= '<a href="/chat.php?go=dp&id='.$cdata_99[$k].'">[x]</a> <a href="/search.php?go=go&nick='.$cdata_1[$k].'">'.nick($cdata_1[$k]).'</a> ['.date('H:i', $cdata_2[$k]).'] <a href="/chat.php?go=say&nick='.$cdata_1[$k].'">[отв.]</a><br>'.$cdata_0[$k];
}else{
$dat_screen[]
= '<a href="/search.php?go=go&nick='.$cdata_1[$k].'">'.nick($cdata_1[$k]).'</a> ['.date('H:i', $cdata_2[$k]).'] <a href="/chat.php?go=say&nick='.$cdata_1[$k].'">[отв.]</a><br>'.$cdata_0[$k];
}
}
$total = count($dat_screen);
if (empty($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if ($total < $start + 10){ $end = $total; }
else {$end = $start + 10; }
for ($i = $start; $i < $end; $i++){
echo $dat_screen[$i].'<br>';
}}
echo '- - -<br>';
if($start != 0){
echo '
<a href="/chat.php?start='.($start - 10).'"><Назад</a>';
}else{
echo '<Назад.';
}
echo '
|
';
if($total > $start + 10){
echo '<a href="chat.php?start='.($start + 10).'">Далее></a>';
}else{
echo 'Далее>';
}
break;
case 'clear':
echo '
<big><a href="/chat.php">Чат</a> » Удалить все сообщения</big><br>- - -<br>
';
unlink('data/chat.dat');
$text = '';
$fp = fopen('data/chat.dat', 'w');
flock($fp, LOCK_EX);
fputs($fp, $text);
fflush($fp);
flock($fp, LOCK_UN);
fclose($fp);
echo '
Все сообщения были удалены.
';
break;
case 'dp':
if($udata[10] >=2){
$id = check::num($_GET['id']);
$file = 'data/chat.dat';
$array = file($file);
$carray = count($array);
$id = ($carray-1)-$id;
if($id != 0){
if($id == '' or $array[$id] == ''){
echo '
Такого сообщения не существует!
';
include('files/down.php'); exit;
}}
$input = '';
$array[$id] = $input;
file_put_contents($file, $array);
//header('Location: /chat.php');
header('Location: /chat.php');
}else{
header('Location: /chat.php');
}
break;
case 'say':
echo '
<big>Чат</big><br>- - -<br>
<a href="/chat.php?go=say&nick='.$nick.'&r='.rand(11111,99999).'">Обновить</a><br>- - -<br>
';
$nick = check::text($nick);
if(!file_exists('data/reg/'.$nick.'.dat')){
echo '
Персонаж не найден или его не существует...
';
include('files/down.php'); exit;
}
$nick2 = file('data/reg/'.$nick.'.dat');
$ndata = explode(':||:', $nick2[0]);
if($ndata[0]
== $u['log']){
echo '
Самом себе нельзя писать.
';
include('files/down.php'); exit;
}
if(isset($_POST['msg'])){
$msg = check::text(check::nobr($msg));
if(empty($msg)){
echo '
Сообщение осталось пустым.
';
include('files/down.php'); exit;
}
$u['cpost']
= $u['cpost']+1;
$update = $u['log'].':||:'.$u['pas'].':||:'.$udata[2].':||:'.$udata[3].':||:'.$udata[4].':||:'.$udata[5].':||:'.$u['win'].':||:'.$u['lose'].':||:'.$u['aden'].':||:'.$u['lvl'].':||:'.$udata[10].':||:'.$udata[11].':||:'.$udata[12].':||:'.$udata[13].':||:'.$udata[14].':||:'.$udata[15].':||:'.$u['hp'].':||:'.$u['hpm'].':||:'.$u['mail'].':||:'.$u['exp'].':||:'.$u['gorod'].':||:'.$udata[21].':||:'.$u['privat'].':||:'.$u['clan'].':||:'.$udata[24].':||:'.$u['paty'].':||:'.$u['race'].':||:'.$u['class'].':||:'.$u['reg'].':||:'.$u['mp'].':||:'.$u['mpm'].':||:'.$udata[31].':||:'.$udata[32].':||:'.$u['prof'].':||:'.$udata[34].':||:'.$udata[35].':||:'.$u['karma'].':||:'.$udata[37].':||:'.$udata[38].':||:'.$udata[39].':||:'.$udata[40].':||:'.$u['online'].':||:'.$u['okr'].':||:'.$u['pa'].':||:'.$u['ma'].':||:'.$u['pd'].':||:'.$u['md'].':||:'.$u['col'].':||:'.$u['status'].':||:'.$u['rek'].':||:'.$u['clog'].':||:'.$u['hel'].':||:'.$u['arm'].':||:'.$u['niz'].':||:'.$u['dwe'].':||:'.$u['glo'].':||:'.$u['boo'].':||:'.$u['mas'].':||:'.$u['amu'].':||:'.$u['pu'].':||:'.$u['lu'].':||:'.$u['pha'].':||:'.$u['lha'].':||:'.$u['self'].':||:'.$u['cpost'].':||:'.$u['fpost'].':||:';
$fp = fopen('./data/reg/'.$u['log'].'.dat', 'a+');
flock($fp,LOCK_EX);
ftruncate($fp, 0);
fputs($fp, $update);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
$addchat = 'для <a href="/search.php?go=go&nick='.$ndata[0].'">'.nick($ndata[0]).'</a>: '.$msg.':||:'.$u['log'].':||:'.time().':||:';
$fp = fopen("data/chat.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$addchatrn");
flock ($fp,LOCK_UN);
fclose($fp);
privat($ndata[0],'Персонаж <a href="/search.php?go=go&nick='.$u['log'].'">'.nick($u['log']).'</a> ответил вам <a href="/chat.php">в чате</a>.');
header('Location: /chat.php');
}
echo '
<form action="/chat.php?go=say&nick='.$ndata[0].'" method="post">
Сообщение для <a href="/search.php?go=go&nick='.$ndata[0].'">'.nick($ndata[0]).'</a>:<br>
<textarea name="msg" style="width:99%;" rows="2"></textarea><br>
<input type="submit" value="Написать"/>
</form>
';
break;
}
}else{
header('Location: /index.php');
}
include('files/down.php');
?>