<?
require('ini.php');
$link=connect();
$user=login('nick, chat_moder');
@$mod=($_GET['mod'])?$_GET['mod']:$_POST['mod'];
if(!$user['chat_moder']){
head('Ошибка!',15,'enter.php?sid='.$sid);
echo '<small>Вы не модер!</small>';
foot();
exit();
}
head('Модерка чата');
switch($mod){
default:
echo '<small>Ник:</small><br/>';
echo '<input name="nick'.$ref.'" type="text" maxlength="30"/>';
echo '<select name="mod'.$ref.'">';
echo '<option value="">[Действие]</option>';
echo '<option value="info">Информация</option>';
echo '<option value="ban">Забанить</option>';
echo '<option value="full_ignor">Полный игнор</option>';
echo '</select> ';
echo '<small><anchor>OK<go href="chat_moder.php?sid='.$sid.'" method="post">';
echo '<postfield name="mod" value="$(mod'.$ref.')"/>';
echo '<postfield name="nick" value="$(nick'.$ref.')"/>';
echo '</go></anchor><br/>';
echo '---<br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=bans">Список банов</a><br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=ignors">Список полного игнора</a><br/>';
echo '---<br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=tell">Написать во все комнаты</a><br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=clear">Очистить комнаты</a><br/>';
echo '---<br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=board">Объявления</a><br/>';
echo '</small>';
break;
case 'info':
@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
$select=mysql_query("SELECT `id`, `nick`, `chat_admin`, `chat_moder`, `chat_posts`, `chat_status` FROM `wip_users` WHERE `nick`='".$nick."';");
if(mysql_affected_rows()<1){
echo '<small>Неверный ник!</small><br/>';
break;
}
$res=mysql_fetch_assoc($select);
echo '<small><b>ID:</b> '.$res['id'].' <a href="user.php?sid='.$sid.'&uid='.$res['id'].'">[i]</a><br/>';
echo '<b>Ник:</b> '.$res['nick'].'<br/>';
echo '---<br/></small>';
if($res['chat_moder']==1 or $res['chat_admin']==1){
echo '<small>Вы не можете ничего менять у админа или модера!</small><br/>';
break;
}
echo '<small>Новый пароль:</small><br/>';
echo '<input name="npass'.$ref.'" type="text" maxlength="20"/><br/>';
echo '<small>Постов в чате:</small><br/>';
echo '<input name="posts'.$ref.'" format="*N" value="'.$res['chat_posts'].'"/><br/>';
echo '<small>Экстра-статус:</small><br/>';
echo '<input name="status'.$ref.'" type="text" value="'.$res['chat_status'].'" maxlength="100"/><br/>';
echo '<small><anchor>Сохранить<go href="chat_moder.php?sid='.$sid.'&mod=info_save&uid='.$res['id'].'" method="post">';
echo '<postfield name="npass" value="$(npass'.$ref.')"/>';
echo '<postfield name="posts" value="$(posts'.$ref.')"/>';
echo '<postfield name="status" value="$(status'.$ref.')"/>';
echo '</go></anchor></small><br/>';
break;
case 'info_save':
@$uid=intval($_GET['uid']);
@$npass=substr(trim(htmlspecialchars($_POST['npass'],ENT_QUOTES)),0,60);;
@$posts=intval($_POST['posts']);
@$status=trim(htmlspecialchars($_POST['status'],ENT_QUOTES));
$select=mysql_query("select nick from wip_users where id='$uid';");
if(mysql_affected_rows()<1){
echo '<small>Неверный юзер!</small><br/>';
}
$select=mysql_query("select name from wip_regions where id='$city';");
if(mysql_affected_rows()<1){
echo '<small>Неверный код региона/страны!<br/>';
echo '<anchor>Назад<prev/></anchor><br/></small>';
break;
}
$upd_pass=false;
if($npass){
if (preg_match("/[^a-z0-9]+/i",$pass)){
echo '<small>Неверно введён пароль!<br/>';
echo '<anchor>Назад<prev/></anchor><br/></small>';
break;
}
$upd_pass="pass='".md5($pass)."', ";
}
mysql_query("UPDATE `wip_users` SET $upd_pass `chat_posts`='".$posts."', `chat_status`='".$status."' WHERE `id`='".$uid."';");
echo '<small>Информация о пользователе сохранена!</small><br/>';
break;
case 'ban':
@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
$select=mysql_query("select nick, id, chat_admin, chat_moder from wip_users where nick='$nick';");
if(mysql_affected_rows()<1){
echo '<small>Неверный ник!</small><br/>';
break;
}
$res=mysql_fetch_row($select);
if($res['chat_moder']==1 or $res['chat_admin']==1){
echo '<small>Вы не можете забанить админа или модера!</small><br/>';
break;
}
echo '<small>Забанить <b>'.$res[0].'</b>:<br/>';
echo '* Время:</small><br/>';
echo '<input name="day'.$ref.'" maxlength="3" format="*N" value="0" size="3"/> <small>дней (0-365)</small> ';
echo '<input name="hour'.$ref.'" maxlength="2" format="*N" value="0" size="2"/> <small>часов (0-59)</small> ';
echo '<input name="min'.$ref.'" maxlength="2" format="*N" value="0" size="2"/> <small>минут (0-59)</small><br/>';
echo '<small>* Причина:</small><br/>';
echo '<input name="reason'.$ref.'" type="text" maxlength="100"/><br/>';
echo '<small><anchor>Забанить<go href="chat_moder.php?sid='.$sid.'&mod=ban_save&uid='.$res[1].'" method="post">';
echo '<postfield name="day" value="$(day'.$ref.')"/>';
echo '<postfield name="hour" value="$(hour'.$ref.')"/>';
echo '<postfield name="min" value="$(min'.$ref.')"/>';
echo '<postfield name="reason" value="$(reason'.$ref.')"/>';
echo '</go></anchor></small><br/>';
break;
case 'ban_save':
@$uid=intval($_GET['uid']);
@$day=substr(intval($_POST['day']),0,3);
@$hour=substr(intval($_POST['hour']),0,2);
@$min=substr(intval($_POST['min']),0,2);
@$reason=substr(trim(htmlspecialchars($_POST['reason'],ENT_QUOTES)),0,100);
$select=mysql_query("select nick, chat_admin, chat_moder from wip_users where id='$uid';");
if(mysql_affected_rows()<1){
echo '<small>Неверный юзер!</small><br/>';
}
$res=mysql_fetch_row($select);
if($res['chat_moder']==1 or $res['chat_admin']==1){
echo '<small>Вы не можете забанить админа или модера!</small><br/>';
break;
}
if(($day<0 and $day>365) or ($hour<0 and $hour>59) or ($min<0 and $min>59)){
echo '<small>Неверно установлено время!<br/>';
echo '<anchor>Назад<prev/></anchor><br/></small>';
break;
}
if(!$reason){
echo '<small>Вы должны ввести причину бана!<br/>';
echo '<anchor>Назад<prev/></anchor><br/></small>';
break;
}
$ban_time=time()+($day*86400+$hour*3600+$min*60);
mysql_query("select id from wip_bans where uid='$uid' and loc='chat';");
if(mysql_affected_rows()<1) mysql_query("insert into wip_bans set uid='$uid', who='$user[id]', time='$ban_time', reason='$reason', loc='chat';");
else mysql_query("update wip_bans set who='$user[id]', time='$ban_time', reason='$reason', loc='chat' where uid='$uid';");
echo '<small><b>'.$res[0].'</b> забанен!</small><br/>';
break;
case 'full_ignor':
@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
$select=mysql_query("select nick, id, chat_admin, chat_moder from wip_users where nick='$nick';");
if(mysql_affected_rows()<1){
echo '<small>Неверный ник!</small><br/>';
break;
}
$res=mysql_fetch_row($select);
if($res['chat_moder']==1 or $res['chat_admin']==1){
echo '<small>Вы не можете сделать полный игнор на админа или модера!</small><br/>';
break;
}
mysql_query("update wip_users set chat_full_ignor=1 where id='$res[1]';");
echo '<small><b>'.$res[0].'</b> добавлен в полный игнор!</small><br/>';
break;
case 'bans':
$select=mysql_query("select wip_bans.uid, wip_bans.who, wip_users.nick, wip_bans.time, wip_bans.reason from wip_bans, wip_users where wip_users.id=wip_bans.uid and wip_bans.time>'".time()."' and wip_bans.loc='chat';");
if(mysql_affected_rows()<1){
echo '<small>Забаненых нет!<br/>---<br/></small>';
break;
}
echo '<small>';
echo '<b>Список банов:</b><br/>---<br/>';
while($res=mysql_fetch_assoc($select)){
//Определяем время бана:
$str_diff=false;
$diff=$res['time']-time();
if($diff>=3600){
$hor=floor($diff/3600);
if($hor!=0) $str_diff=$hor.' часов ';
}
if($diff>=60){
$min=floor(($diff%3600)/60);
if($min!=0) $str_diff.=$min.' минут ';
}
$sec=floor($diff%60);
if($sec!=0) $str_diff.=$sec.' секунд ';
/////
$who=mysql_fetch_row(mysql_query("select nick from wip_users where id='$res[who]';"));
echo '<a href="user.php?sid='.$sid.'&uid='.$res['uid'].'">'.$res['nick'].'</a><br/>';
echo '<b>Забанил:</b> '.$who[0].'<br/>';
echo '<b>Время бана:</b> '.$str_diff.'<br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=unban&uid='.$res['uid'].'">Разбанить</a><br/>';
echo '---<br/>';
}
echo '</small>';
break;
case 'unban':
@$uid=intval($_GET['uid']);
mysql_query("select id from wip_bans where time>'".time()."' and loc='chat' and uid='$uid';");
if(mysql_affected_rows()<1){
echo '<small>Пользователь не значится в списке банов чата<br/>';
echo '<anchor>Назад<prev/></anchor></small><br/>';
break;
}
mysql_query("delete from wip_bans where uid='$uid' and loc='chat';");
echo '<small>Пользователь разбанен!<br/>';
echo '<anchor>Назад<prev/></anchor></small><br/>';
break;
case 'ignors':
$select=mysql_query("select id,nick from wip_users where chat_full_ignor=1;");
if(mysql_affected_rows()<1){
echo '<small>Список полного игнора пуст!</small><br/>';
break;
}
echo '<small>';
echo '<b>Список полного игнора:</b><br/>---<br/>';
while($res=mysql_fetch_assoc($select)) echo '<a href="user.php?sid='.$sid.'&uid='.$res['id'].'">'.$res['nick'].'</a> <a href="chat_moder.php?sid='.$sid.'&mod=unignor&uid='.$res['id'].'">[x]</a><br/>';
echo '</small>';
break;
case 'unignor':
@$uid=intval($_GET['uid']);
mysql_query("select id from wip_users where id='$uid' and chat_full_ignor=1;");
if(mysql_affected_rows()<1){
echo '<small>Пользователь не находится в полном игноре!<br/>';
echo '<anchor>Назад<prev/></anchor></small><br/>';
break;
}
mysql_query("UPDATE `wip_users` SET `chat_full_ignor`=0 WHERE `id`='".$uid."';");
echo '<small>Пользователь удален из полного игнора!<br/>';
echo '<anchor>Назад<prev/></anchor></small><br/>';
break;
case 'clear':
mysql_query("truncate table wip_chat_msgs;");
echo '<small>Комнаты чата очищены!</small><br/>';
break;
case 'tell':
@$msg=trim(htmlspecialchars($_POST['msg'],ENT_QUOTES));
if(!$msg){
echo '<small>Сообщение:</small><br/>';
echo '<input name="msg'.$ref.'" type="text" maxlength="400"/> ';
echo '<small><anchor>Сказать<go href="chat_moder.php?sid='.$sid.'&mod=tell" method="post">';
echo '<postfield name="msg" value="$(msg'.$ref.')"/>';
echo '</go></anchor></small><br/>';
break;
}
$msg='<b>Важное сообщение:</b> '.$msg;
$select=mysql_query("select id from wip_chat_rooms;");
while($res=mysql_fetch_row($select)) mysql_query("insert into wip_chat_msgs set rid='$res[0]', uid='$user[id]', time='".time()."', msg='$msg';");
echo '<small>Сообщение отослано во все комнаты!</small><br/>';
break;
case 'board':
echo '<small>';
$select=mysql_query("select b.uid, u.nick, b.id, b.subj, b.time, b.msg from wip_chat_board as b, wip_users as u where u.id=b.uid;");
if(mysql_affected_rows()<1){
echo 'Объявлений нет<br/>---<br/>';
}
else {
while($res=mysql_fetch_assoc($select)){
echo $res['subj'].', '.date('d.m.Y H:i', $res['time']).' [<a href="user.php?sid='.$sid.'&uid='.$res['uid'].'">'.$res['nick'].'</a>]<br/>';
echo $res['msg'].'<br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=board_edit&bid='.$res['id'].'">Изменить</a> | ';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=board_del&bid='.$res['id'].'">Удалить</a><br/>';
echo '---<br/>';
}
}
echo '<a href="chat_moder.php?sid='.$sid.'&mod=board_add">Добавить</a><br/>';
echo '</small>';
break;
case 'board_del':
@$bid=intval($_GET['bid']);
$select=mysql_query("SELECT `id`, `subj` FROM `wip_chat_board` WHERE `id`='".$bid."';");
if(mysql_affected_rows()<1){
echo '<small>Неверное объявление!</small><br/>';
break;
}
@$act=$_GET['act'];
if(!$act){
$res=mysql_fetch_row($select);
echo '<small>Удалить объявление <b>'.$res[1].'</b> ?<br/>';
echo '<a href="chat_moder.php?sid='.$sid.'&mod=board_del&bid='.$bid.'&act=ok">Да</a>/<a href="chat_moder.php?sid='.$sid.'&mod=board">Нет</a></small><br/>';
break;
}
mysql_query("DELETE FROM `wip_chat_board` WHERE `id`='".$bid."';");
echo '<small>Объявление удалено!<br/><a href="chat_moder.php?sid='.$sid.'&mod=board">Объявления</a></small><br/>';
break;
case 'board_add':
@$subj=trim(htmlspecialchars($_POST['subj'], ENT_QUOTES));
@$msg=substr(trim(htmlspecialchars($_POST['msg'], ENT_QUOTES)), 0, 2000);
if(!$msg or !$subj){
echo '<small>Тема:</small><br/><input name="subj'.$ref.'" type="text" maxlength="30"/><br/>';
echo '<small>Объявление:</small><br/><input name="msg'.$ref.'" type="text" maxlength="1000"/><br/>';
echo '<small><anchor>Добавить<go href="chat_moder.php?sid='.$sid.'&mod=board_add" method="post">';
echo '<postfield name="subj" value="$(subj'.$ref.')"/>';
echo '<postfield name="msg" value="$(msg'.$ref.')"/>';
echo '</go></anchor></small><br/>';
break;
}
mysql_query("SELECT `id` FROM `wip_chat_board` WHERE `subj`='".$subj."';");
if(mysql_affected_rows()>0){
echo '<small>Объявление с такой темой уже существует!</small><br/>';
break;
}
mysql_query("INSERT INTO `wip_chat_board` SET `uid`='".$user['id']."', `time`='".time()."', subj='".$subj."', msg='".$msg."';");
echo '<small>Объявление успешно добавлено!<br/><a href="chat_moder.php?sid='.$sid.'&mod=board">Объявления</a></small><br/>';
break;
case 'board_edit':
@$bid=intval($_GET['bid']);
@$subj=trim(htmlspecialchars($_POST['subj'], ENT_QUOTES));
@$msg=substr(trim(htmlspecialchars($_POST['msg'], ENT_QUOTES)), 0, 2000);
$select=mysql_query("SELECT `id`, `subj`, `msg` FROM `wip_chat_board` WHERE `id`='".$bid."';");
if(mysql_affected_rows()<1){
echo '<small>Неверное объявление!</small><br/>';
break;
}
if(!$msg or !$subj){
$res=mysql_fetch_assoc($select);
echo '<small>Тема:</small><br/><input name="subj'.$ref.'" type="text" maxlength="30" value="'.$res['subj'].'"/><br/>';
echo '<small>Объявление:</small><br/><input name="msg'.$ref.'" type="text" maxlength="1000" value="'.$res['msg'].'"/><br/>';
echo '<small><anchor>Сохранить<go href="chat_moder.php?sid='.$sid.'&mod=board_edit&bid='.$bid.'" method="post">';
echo '<postfield name="subj" value="$(subj'.$ref.')"/>';
echo '<postfield name="msg" value="$(msg'.$ref.')"/>';
echo '</go></anchor></small><br/>';
break;
}
mysql_query("UPDATE `wip_chat_board` SET `msg`='".$msg."', `subj`='".$subj."' WHERE `id`='".$bid."';");
echo '<small>Объявление изменено!<br/><a href="chat_moder.php?sid='.$sid.'&mod=board">Объявления</a></small><br/>';
break;
}
echo '<small>';
if($mod!='bans') echo '---<br/>';
if($mod) echo '<a href="chat_moder.php?sid='.$sid.'">Модерка</a><br/>';
echo '<a href="chat.php?sid='.$sid.'">Список комнат</a><br/>';
echo '<a href="enter.php?sid='.$sid.'">Главное меню</a>';
echo '</small>';
foot();
mysql_close($link);
?>