Файл: impwar.tk/chat.php
Строк: 277
<?php
require_once('conf/dbc.php');
require_once('conf/session_start.php');
require_once('conf/ban.php');
if((!isset($_SESSION['id'])) and (!isset($_SESSION['nick']))) {
?> <script type="text/javascript"> document.location.href = "reg.php?err_login=1"; </script><?php
}$page_title = 'Общий чат';
require_once('conf/head.php');
if ((isset($_SESSION['id'])) and (isset($_SESSION['nick']))) {
$user_id = abs(intval($_SESSION['id']));
/////////////////////////////////
////////////////////////////////////Записали локацию
$query = "Select location from users where id = '$user_id' limit 1";
$result = mysqli_query($dbc, $query) or die ('Ошибка передачи запроса к БД6');
$row = mysqli_fetch_array($result);
$location = $row['location'];
if ($location == 'chat') {
}
else {
$query_loc = "update users set location = 'chat' where id = '$user_id' limit 1";
$result_loc = mysqli_query($dbc, $query_loc) or die ('Ошибка передачи запроса к БД');
}
require_once('conf/top.php');}
//Панель заготовок:)
$usid=abs(intval($_SESSION['id']));
$usst=$dbc->query("SELECT * FROM `users` WHERE`id`='$usid' LIMIT 1")->fetch_assoc();
if($usst['lvl']<5) {
echo '<br/><center><p class="name2">Общий Чат</p></center>';
echo '<br/><img src="img/chat.png" alt="Общий Чат" width="100%"></img>';
echo '<span class="red">Сталкер, ты еще не достиг 5 уровня чтобы посещать чат!</span>';
require_once('conf/navig.php');
require_once('conf/foot.php');
exit();
}
if(!isset($usst['id'])){header('location: ?');}
function userF($id){
global $dbc;
$user=$dbc->query("SELECT * FROM`users` WHERE`id`='$id' LIMIT 1")->fetch_assoc();
$w=$user['admin'];
$g=$user['gruppa'];
$v=$user['vip'];
if($g=='dolg'){$gruppa='<img src="/img/ico/dolg.png" height="12" width="12"/>';}elseif($g=='chistoenebo'){$gruppa='<img src="/img/ico/chistoenebo.png" height="12" width="12"/>';}elseif($g=='renegat'){$gruppa='<img src="/img/ico/renegat.png" height="12" width="12"/>';}elseif($g=='naemniki'){$gruppa='<img src="/img/ico/naemniki.png" height="12" width="12"/>';}elseif($g=='svoboda'){$gruppa='<img src="/img/ico/svoboda.png" height="12" width="12"/>';}
$last_active = $user['last_active'];$last_active = strtotime("$last_active");$now = (date("Y-m-d H:i:s"));$now = strtotime("$now");$ont = ($now - $last_active);
if($ont<300){$onl='<img src="/img/ico/on.png" height="12" width="12"/>';}else{$onl='<img src="/img/ico/off.png" height="12" width="12"/>';}
if($v['vip']=='1'){$vip='<span class="admin"><small>(vip)</small></span> ';}
if($w['admin']=='1'){$admins='<img src="/img/adm.png" height="12" width="12"/>';}
return $vip. $admins.$onl. $gruppa.'<a style="text-decoration:none;" href="?otv='.$user['id'].'">'.$user['nick'].'</a> [<a style="text-decoration:none;" href="/profile.php?id='.$user['id'].'"><img src="/img/ico/profile.png" height="15" width="15"/></a>]';
}
function msg($id){
global $dbc;
$q=$dbc->query("SELECT * FROM `schat` WHERE`id`='$id'")->fetch_assoc();
$q['msg']=$q['msg'];
$text=base64_decode($q['msg']);
$f=fopen('chat_smile.php','r+');$t=fgets($f);eval($t);fclose($f);
$q['msg']=$text;
if($q['komy']>=1){
$us=$dbc->query("SELECT * FROM `users` WHERE`id`='$q[komy]'")->fetch_assoc();
global $_SESSION;
if($q['komy']==$_SESSION['id']){$col='tomato';$b='<b>';$bb='</b>';}else{$col='orange';}
$q['msg']='<font color='.$col.'>'.$b.''.$us['nick'].', '.$bb.'</font>'.$q['msg'];
}
if($q['adm']==1){
$msg='<p class="net">'.smile($q['msg']).'</font>';
}elseif($q['adm']==3){$msg='<span class="bonus">'.smile($q['msg']).'</span>';
}elseif($q['vip']=='1' and $q['adm']=='0'){$msg='<div style="background-color: #1E1E1E;"><p style="border-top: dashed #444e4f 1px;"><span class="gold">'.smile($q['msg']).'</span></div>';
}elseif($q['adm']==2){$msg='<span style="color: red;">'.smile($q['msg']).'</span>';
}else{$msg=''.smile($q['msg']).'</font>';
}
return $msg;
}
function displayTime($time = NULL) {
if(!$time) $time = time();
$data = date('j.n.y', $time);
if($data == date('j.n.y')) $res = 'Сегодня в '. date('G:i', $time);
elseif($data == date('j.n.y', time() - 86400)) $res = 'Вчера в '. date('G:i', $time);
else {
$m = array('0',
'Янв', 'Фев',
'Мар', 'Апр', 'Май',
'Июн', 'Июл', 'Авг',
'Сен', 'Окт', 'Ноя',
'Дек');
$res = date('j '. $m[date('n', $time)] .' Y в G:i', $time);
}
return $res;
}
//------//
?><br/>
<?php if(!empty($_GET['say_err'])) {?>
<?php if ($_GET['say_err']==1) {echo '<p style="border-top: dashed #444e4f 1px;"></p><span class="bonus">Ваше сообщение успешно добавлено!</span>';}?>
<?php if ($_GET['say_err']==2) {echo '<p style="border-top: dashed #444e4f 1px;"></p><span class="red">Введите хоть что-то.</span>';}?>
<?php } ?>
<center><p class="name2">Общий чат</p></span></center>
<?php
$act=intval($_GET['pu']);
switch($act){
default:
if($usst['admin']==1){
echo '<p style="border-top: dashed #444e4f 1px;"></p>';
echo'<a class="menu" style="text-decoration:none;" class="red" href="?orit"> <span class="red">Очистить чат</span></a>';
if(isset($_GET['orit'])){
$dbc->query("TRUNCATE TABLE `schat`");
$msg=base64_encode('Чат почищен:)');
$adm=$usst['admin'];
$vip=$usst['vip'];
$dbc->query("INSERT INTO `schat` VALUES('*','$msg','$time','$otv','$adm','$vip','$usid')");
header('location: ?');
}
}
?>
<?php
$query_num = "Select id from users where last_active > NOW()-(300*5) and location = 'chat' and gruppa <> 'mytants' and gruppa <>'bandits' and gruppa <> 'zombie' and gruppa <> 'monolits'" ;
$result_num = mysqli_query($dbc, $query_num) or die ('Ошибка передачи запроса к БД');
$total = mysqli_num_rows($result_num);
?>
<div class="inoy"><a href="chat_online.php" class="link"><center><img src="img/ico/on.png" width="12" height="12"/>В чате <span class="bonus"><?php echo "$total"; ?></span> воинов</center></a></div>
<div class="inoy"><a href="chat_torg.php" class="link"><center><img src="img/ico/auc.png" width="12" height="12"/>Сменить комнату</center></a></div>
<?php
if(isset($_GET['otv'])){
$id=intval($_GET['otv']);
$us=$dbc->query("SELECT `nick` FROM`users` WHERE`id`='$id' LIMIT 1")->fetch_assoc();
echo'<p class="zx"><font color=orange>Сообщение к '.$us['nick'].'</font><p class="zx">';}
$baned=$dbc->query("SELECT * FROM`us_ban` WHERE`usid`='$_SESSION[id]' and `type`='chat' and `time`>'".time()."'")->fetch_assoc();
$banmd=$dbc->query("SELECT * FROM`users` WHERE`id`='".$baned['usban']."'")->fetch_assoc();
if($baned['time']<time()){
echo ("<center><p class='bonus'><script language='JavaScript'>
function getDateNow()
{
var now = new Date();
var e = now.getDate();
d = e + ' ';
var month = new Array(13);
month[1] = 'Января';
month[2] = 'Февраля';
month[3] = 'Марта';
month[4] = 'Апреля';
month[5] = 'Мая';
month[6] = 'Июня';
month[7] = 'Июля';
month[8] = 'Августа';
month[9] = 'Сентября';
month[10] = 'Октября';
month[11] = 'Ноября';
month[12] = 'Декабря';
var day = new Array(7);
day[0]= 'Воскресенье';
day[1]= 'Понедельник';
day[2]= 'Вторник';
day[3]= 'Среда';
day[4]= 'Четверг';
day[5]= 'Пятница';
day[6]= 'Суббота';
nday=day[now .getDay()]
nmonths =month[ (now.getMonth() + 1)];
d += nmonths + ', ' +nday ;
return 'Воины Сегодня ' + d+' ' ;
}
document.write(getDateNow())
</script></p></center>");
echo("<center> <form action='?pu=015&otv=".abs(intval($_GET['otv']))."' method='post'>
<textarea rows='2' style='width:98%; height:40px;' cols='35px' name='msg' placeholder='Введите сообщение...' autofocus required></textarea><br/><div class='knopka'>
<input type='submit' style='width:83px; height:25px;' class='input' value='Сообщить' name='addad' accesskey='ы'/>
");
echo('<span><a href="smile.php"><img src="img/smiles/smile.gif" width="20" height="24"/></a> <a href="chat.php"><img src="img/ico/icon-refresh.png" width="22" height="22"/></a></span></form></center>');
}else{echo'<span class="red"><p class="zx"></p>Вaм выдан бан на общение в чате!<br/>Заблокированы до '.date('d.m.y. H:i:s',$baned['time']).'<br/>Модератор: </span> <a style="text-decoration:none;" href="/user.php?id='.$banmd['id'].'">'.$banmd['nick'].'</a><br/><span class="red">Причина: </span>'.htmlentities($baned['prich']).'<p class="zx"></p>';}
include_once 'nav_class.php';
//Эх подстраничная навигация нелезть:)
$nstr='10'; //Сообщений на страницу
$countQ=$dbc->query("SELECT * FROM`schat`"); #запрос в бд
$count=mysqli_num_rows($countQ); //Подсчёт строк
$pages = new Navigator($count,$nstr); #Вызов класса подстраничной навигации и расчёт страниц
$str = $pages -> start; //Сам хз что))
//----------//
$q=$dbc->query("SELECT * FROM `schat` ORDER BY`time` DESC LIMIT $str,$nstr"); //Запрос в бд
while($ch=$q->fetch_assoc()){ //Цикл ))
echo "<p style='border-top: dashed #444e4f 1px;'> </p>".userF($ch['usid']).' <span class="darkkhaki">('.displayTime($ch['time']).')'.' </span><br />'.msg($ch['id'])."";
if($usst['admin']>0 and isset($_GET['did'])){$dbc->query("DELETE FROM`schat` WHERE`id`='".intval($_GET['did'])."'");header('location: chat.php');
}
if($usst['admin']>0){echo'<a style="text-decoration:none;" href="?did='.($ch['id']).'"><span class="red"> (удалить)</span></a>';}
}
if($count=='0'){echo'<p class="zx">Сообщений в чате нет!<p class="zx">';}
$pages->print_nav('&'); //Навигация гг
break;
case '015':
$msg=$_POST['msg'];
$usid=intval($_SESSION['id']);
$otv=intval($_GET['otv']);
$adm=intval($usst['admin']);
$vip=intval($usst['vip']);
$time=time();
if(strlen($msg)>1){
$msg=base64_encode($msg);
$dbc->query("INSERT INTO `schat` VALUES('*','$msg','$time','$otv','$adm','$vip','$usid')");
header('location: ?say_err=1');
}else{header('location: ?say_err=2');}
break;
}
require_once('conf/navig.php');
require_once('conf/foot.php');
mysqli_close($dbc);
?>