<?php
include_once('inclfiles/core.php');
switch($act){
	case 'users':
		$title = 'Кто в чате';
		include_once('inclfiles/head.php');
		$all = mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `time_chat` > ".(time() - $set['timechat']).""));
		if($all != 0){
			$total=intval(($all-1)/$set['napage'])+1;
			if(empty($page) OR $page < 0) $page = 1;
			if($page > $total) $page = $total;
			$past=intval($all/$set['napage']);
			$start=$page*$set['napage']-$set['napage'];
			$users = mysql_query("SELECT * FROM `users` WHERE `time_chat` > ".(time() - $set['timechat'])." ORDER BY `time_chat` DESC LIMIT ".$start.",".$set['napage']."");
			while($ank_user = mysql_fetch_array($users)) t(time_right($ank_user['time_chat']).user($ank_user['id']));
			navigation($all,$set['napage'],$page,'chat.php?&act=users&',$total);
		}
		else t('Нет правителей в чате');
		a('chat.php?','Вернуться в чат','chat');
	break;
	default:
		$title = 'Чат';
		include_once('inclfiles/head.php');
		if($user) mysql_query("UPDATE `users` SET `time_chat`=".time()." WHERE `id` = '".$user['id']."'");

		if($user AND $user['level'] >= 2){
			if($act == 'delete'){
        		if(mysql_num_rows(mysql_query("SELECT * FROM `chat` WHERE `id` = ".$id." AND `deleted` = 0")) > 0){
        			mysql_query("UPDATE `chat` SET `deleted` = ".$user['id'].", `deleted_time` = ".time()." WHERE `id` = ".$id."");
        			m('Сообщение успешно удалено');
        		}
        		else e('Сообщение не найдено. Возможно, оно было удалено раннее');
			}

			else if($act == 'vost'){
        		if(mysql_num_rows(mysql_query("SELECT * FROM `chat` WHERE `id` = ".$id." AND `deleted` > 0")) > 0){
        			mysql_query("UPDATE `chat` SET `deleted` = 0, `deleted_time` = 0 WHERE `id` = ".$id."");
        			m('Сообщение успешно восстановлено');
        		}
        		else e('Сообщение не найдено. Возможно, оно было восстановлено раннее');
			}
        }

       	if($user AND $otv == $user['id']){
       		$err[] = 'Вы не можете ответить самому себе';
       		$otv = 0;
	    }

		if($_POST['ok'] != null){
			if(!$user) $err[] = 'Вы не авторизованы';
			else{
				$message = filter($_POST['message']);
				$all_user_messages = mysql_num_rows(mysql_query("SELECT * FROM `chat` WHERE `id_user` = ".$user['id']."".$deleted.""));
				if($all_user_messages > 0) $user_message = mysql_fetch_array( mysql_query("SELECT * FROM `chat` WHERE `id_user` = ".$user['id']."".$deleted." ORDER BY `time` DESC LIMIT 1"));
				if($message == null) $err[] = 'Не введен текст сообщения';
				else if(strlen2($message) > 300) $err[] = 'Длина сообщения не должна превышать 300 символов';
				else if($all_user_messages > 0 AND $user_message['message'] == $message) $err[] = 'Вы уже писали такое сообщение раннее';
				else{
					mysql_query("INSERT INTO `chat` SET `message` = '".$message."', `id_user` = ".$user['id'].", `time` = ".time().", `otvet` = ".$otv."");
					$otv = 0;
				}
			}
		}

        err();
		a('chat.php?otvet='.$otv.'&','Обновить страницу','refresh');

		if(!$user) t('Чтобы писать в чате нужно <a href="/reg.php?'.$gets.'">зарегистрироваться</a> либо, если Вы уже зарегистрированы, <a href="/auth.php?'.$gets.'">авторизоваться</a>');
		else{
			t1();
			echo '<form action="chat.php?otvet='.$otv.'&'.$gets.'" method="post"><center>';
			if($otv != 0) echo 'Ответ для <a href="/user.php?id='.$otv.'&'.$gets.'">'.user($otv).'</a> <a href="chat.php?rand='.generator(4).'&page='.$page.'&'.$gets.'">[x]</a><br/>';
			echo '<span class="message"><input name="message" type="text" maxlength="300" value="" /><input name="ok" type="submit" value="OK" /></span></center></form>';
			t2();
		}

		$all = mysql_num_rows(mysql_query("SELECT * FROM `chat` ".$wdeleted.""));
		if($all != 0){
			$total=intval(($all-1)/$set['napage'])+1;
			if(empty($page) OR $page < 0) $page = 1;
			if($page > $total) $page = $total;
			$past=intval($all/$set['napage']);
			$start=$page*$set['napage']-$set['napage'];
			$messages = mysql_query("SELECT * FROM `chat` ".$wdeleted." ORDER BY `time` DESC LIMIT ".$start.",".$set['napage']."");
			while($message= mysql_fetch_array($messages)){
				if($message['id_user'] != $user['id'] and $user) a1('chat.php?otvet='.$message['id_user'].'&page='.$page.'&');
				else t1();
				echo time_right($message['time']).user($message['id_user']).' ';
				if($message['otvet'] != 0) echo 'для '.user($message['otvet']).' ';
				if($user AND $message['otvet'] == $user['id'] AND $message['prochitano'] == 0) mysql_query("UPDATE `chat` SET `prochitano` = 1 WHERE `id` = ".$message['id']."");
				else if($message['prochitano'] == 0 AND $message['otvet'] != 0) echo zna4ok('eye','Не прочитано');
				echo deleted($message['deleted']);
				echo '<br/>'.smiles($message['message']);
				if($message['id_user'] != $user['id'] and $user) a2();
				else t2();
				if($user AND $user['level'] >= 2){
					if($message['deleted'] == 0) a('chat.php?act=delete&id='.$message['id'].'&page='.$page.'&','Удалить сообщение','delete');
					else a('chat.php?act=vost&id='.$message['id'].'&page='.$page.'&','Восстановить сообщение','delete');
				}
			}
			navigation($all,$set['napage'],$page,'chat.php?',$total);
			if($user) p('Кликните на сообщение собеседника, чтобы ответить');
		}
		else t('Нет сообщений');
		$onchat = mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `time_chat` > ".(time() - $set['timechat']).""));
		a('chat.php?act=users&','Кто в чате','onchat', $onchat);
}
include_once('inclfiles/foot.php');
?>