<?



include 'connect.php';

if(!$u['id']){
header ("Location: aut.php");
exit;
}

$location = 'chat';

switch($_GET['act'])
{
//Создание комнаты ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case 'add_room':
if ($u['admin'] == 1){
if (isset($_POST['submit']) and $_POST['name']) {
$type = abs(intval($_POST['type']));
$name = check(substr($_POST['name'], 0, 100));
$descr = check(substr($_POST['descr'], 0, 200));
mysql_query("INSERT INTO `chat_room` SET
`name` = '$name',
`descr` = '$descr',
`time` = '".time()."',
`ord` = '0',
`type` = '$type'
");
$id = mysql_insert_id();

header("location: chat.php");
} else {

$title = $title.' | Чат';
$main_title = '<a href = "chat.php">Добавить комнату</a>';
include 'head.php';
echo '<div class="block_action">';
//Блоки ввода
echo '<form action=chat.php?act=add_room method=post>
Название: <br/><textarea cols="20" rows="1" name="name" style="width: 97%"></textarea><br/>
Описание: <br/><textarea cols="20" rows="3" name="descr" style="width: 97%"></textarea><br/>
<input name="type" type="checkbox" value="1"/>&nbsp;Викторина<br/>
<input type="button" class="btn" value=Создать class=submit white/ ></form>';

echo '</div>';
include 'foot.php';
}
}
break;

//Редактирование комнаты ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case 'edit_room':
if ($u['admin'] == 1){
if(isset($_GET['id'])){
$id=num($_GET['id']);
$req = mysql_query("SELECT * FROM `chat_room` WHERE `id` = '$id' LIMIT 1");
   if (mysql_num_rows($req)) {
   $room = mysql_fetch_assoc($req);
   }
}
if($room){

      if (isset($_POST['submit']) and $_POST['name']) {
      $name = check(substr($_POST['name'], 0, 100));
	  $descr = check(substr($_POST['descr'], 0, 200));
      mysql_query("UPDATE `chat_room` SET
      `name` = '$name',
	  `descr` = '$descr'
      WHERE `id` = '$id'
      ");
header("location: chat.php");
      } else {
$title = $title.' | Чат';
$main_title = '<a href = "chat.php">Изменить комнату</a>';
include 'head.php';
echo '<div class="block_action">';
      $name = checkout($room['name']);
	  $descr = checkout($room['descr']);
      echo '<form action="chat.php?act=edit_room&amp;id='.$id.'" method="post">';
      echo 'Название: <br/><textarea cols="20" rows="1" name="name" style="width: 97%">'.$name.'</textarea><br/>';
	  echo 'Описание:<br/><textarea cols="20" rows="3" name="descr" style="width: 97%">'.$descr.'</textarea><br/>';
      echo '<input type="submit" name="submit" class="btn" value="Сохранить" class="submit white"/>';
      echo '</form>';
      }
echo '</div>';
include 'foot.php';
}
}
break;

//Удаление комнаты ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case 'delete_room':
if ($u['admin'] == 1){
if(isset($_GET['id'])){
$id=num($_GET['id']);
$req = mysql_query("SELECT * FROM `chat_room` WHERE `id` = '$id' LIMIT 1");
   if (mysql_num_rows($req)) {
   $room = mysql_fetch_assoc($req);
   }
}
if($room){

      if (isset($_POST['submit'])) {
	  mysql_query("DELETE FROM `chat_room` WHERE `id` = '".$room['id']."'");
	  mysql_query("DELETE FROM `chat_messages` WHERE `room` = '".$room['id']."'");
      header("location: chat.php");
      } else {
$title = $title.' | Чат';
$main_title = '<a href = "chat.php">Удалить комнату</a>';
include 'head.php';

echo '<div class="block_action">';
      $name = checkout($room['name']);
	  echo 'Вы уверены, что хотите удалить комнату <a href = "chat.php?act=room&id='.$id.'">'.$name.'</a>?<br/>';
      echo '<form action="chat.php?act=delete_room&amp;id='.$id.'" method="post">';
      echo '<input type="submit" name="submit" class="btn" value="Да, удалить" class="submit white"/>';
      echo '</form></div>';
      }
echo '</div>';
include 'foot.php';
}
}
break;

//Просмотр комнаты ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case 'room':
//Если id получен 
if(isset($_GET['id'])){
$id=num($_GET['id']);
$req = mysql_query("SELECT * FROM `chat_room` WHERE `id` = '$id' LIMIT 1");
   if (mysql_num_rows($req)) {
   $room = mysql_fetch_assoc($req);
   }
}
//Если существует
if ($room){

$chat_location = $id;



//Умник ``````````````````````````````````````````````````````````
if($room['type'] == 1){
$umnik = mysql_query("SELECT * FROM `chat_messages` WHERE `umnik` > '0' and `room` = '$id' ORDER BY `time` DESC");
$res = mysql_fetch_array($umnik);
//Если умник не писал или попытки закончились и прошло 30 секунд или никто не ответил и прошло 30 секунд
if(!$res['id'] or ( $res['umnik'] > 3 and $res['time'] < time()-30 ) or ( $res['vopros'] == 0 and $res['time'] < time()-30 )){
$umnik_vopros = mysql_fetch_array(mysql_query("SELECT * FROM `chat_vopros` WHERE `id` = '".rand(1,11229)."' LIMIT 1"));
// Вставляем сообщение в базу
mysql_query("INSERT INTO `chat_messages` SET
`user` = '0',
`message` = '" . $umnik_vopros['vopros'] . " Ответ: слово из ". strlen($umnik_vopros['otvet'])/2 ." букв',
`time` = '".time()."',
`room` = '$id',
`umnik` = '1',
`vopros` = '" . $umnik_vopros['id'] . "',
`timevopros` = '" . time() . "'
");
}

if(isset($res['id'])){
if($res['timevopros'] > 0 and $res['timevopros'] < time()-60){
$msg = 'На вопрос никто не дал правильный ответ. Следующий вопрос через 30 секунд!';
// Вставляем сообщение в базу
mysql_query("INSERT INTO `chat_messages` SET
`user` = '0',
`message` = '$msg',
`time` = '".time()."',
`room` = '$id',
`umnik` = '1',
`vopros` = '0',
`timevopros` = '0'
");
}
}

}
//```````````````````````````````````````````````````````````````



//Запись сообщения, если сообщение получено
if($_POST['message']){
$message = check(substr($_POST['message'], 0, 250));
   //Проверяем на флуд
   $flood = mysql_query("SELECT `time` FROM `chat_messages` WHERE `user` = '".$u['id']."' AND `time` > '" . (time() - 3) . "'");
   if (mysql_num_rows($flood)) {
   header ("Location: chat.php?act=room&id=$id");
   exit;
   }
   // Проверка на одинаковые сообщения
   $req = mysql_query("SELECT * FROM `chat_messages` WHERE `user` = '".$u['id']."' and `room` = '$id' ORDER BY `time` DESC");
   $res = mysql_fetch_array($req);
   if ($res['message'] == $message) {
   header("location: chat.php?act=room&id=$id");
   exit;
   }
$priv = num($_POST['priv']);
// Вставляем сообщение в базу
mysql_query("INSERT INTO `chat_messages` SET
`user` = '".$u['id']."',
`message` = '$message',
`time` = '".time()."',
`priv` = '$priv',
`room` = '$id'
");
mysql_query("UPDATE `users` SET `stat_chat` = `stat_chat`+1 WHERE `id` = '".$u['id']."'");

//Умник `````````````````````````
if($room['type'] == 1){
$umnik = mysql_query("SELECT * FROM `chat_messages` WHERE `umnik` > '0' and `room` = '$id' ORDER BY `time` DESC");
$res = mysql_fetch_array($umnik);
//Если есть активный вопрос
if($res['umnik'] < 4 and $res['timevopros'] > time()-60 and isset($res['vopros'])){
   $umnik_vopros = mysql_fetch_array(mysql_query("SELECT * FROM `chat_vopros` WHERE `id` = '".$res['vopros']."' LIMIT 1"));
   //Проверяем ответ
      if(strtolower_utf8($message) == $umnik_vopros['otvet']){
	     if($res['umnik']==1){
	     $add_money=5;
	     $pod='не используя подсказок';
	     }
	     
	     if($res['umnik']==2){
	     $add_money=3;
	     $pod='используя одну подсказку';
	     }
	     
	     if($res['umnik']==3){
	     $add_money=1;
	     $pod='используя обе подсказки';
	     }
		 mysql_query("UPDATE `users` SET `money` = '".($u['money']+$add_money)."' WHERE `id` = '".$u[id]."' LIMIT 1");
		 
		 $msg = 'Молодец, '.login($u['id']).', Вы дали верный ответ "'.$umnik_vopros['otvet'].'" первее всех, '.$pod.'. '.login($u['id']).' получает '.$add_money.' монет. Следующий вопрос через 30 сек.';
		 
         // Вставляем сообщение в базу
         mysql_query("INSERT INTO `chat_messages` SET
         `user` = '0',
         `message` = '$msg',
         `time` = '".time()."',
         `room` = '$id',
         `umnik` = '1',
         `vopros` = '0'
         ");
      } else {
	  //Если ошибка
	     if($res['umnik'] == 1) {
		 $help=iconv_substr($umnik_vopros['otvet'], 0, 1, 'utf-8');
		 for($i=0;$i<strlen($umnik_vopros['otvet'])/2-1 ;$i++){
	     $help.='*';
	     }
		 $msg = 'Вопрос: '.$umnik_vopros['vopros'].' Первая подсказка: '.$help.'.';
		 }
		 
		 if($res['umnik'] == 2) {
		 $help=iconv_substr($umnik_vopros['otvet'], 0, 2, 'utf-8');
		 for($i=0;$i<strlen($umnik_vopros['otvet'])/2-2 ;$i++){
	     $help.='*';
	     }
		 $msg = 'Вопрос: '.$umnik_vopros['vopros'].' Вторая подсказка: '.$help.'.';
		 }
		 if($res['umnik'] == 3){
		 $msg = 'На вопрос никто не дал правильный ответ. Следующий вопрос через 30 секунд!';
         // Вставляем сообщение в базу
         mysql_query("INSERT INTO `chat_messages` SET
         `user` = '0',
         `message` = '$msg',
         `time` = '".time()."',
         `room` = '$id',
         `umnik` = '". ($res['umnik'] + 1) ."',
         `vopros` = '0',
         `timevopros` = '0'
         ");
		 } else {
         // Вставляем сообщение в базу
         mysql_query("INSERT INTO `chat_messages` SET
         `user` = '0',
         `message` = '$msg',
         `time` = '".time()."',
         `room` = '$id',
         `umnik` = '". ($res['umnik'] + 1) ."',
         `vopros` = '" . $umnik_vopros['id'] . "',
		 `timevopros` = '".$res['timevopros']."'
         ");
		 }
      }
}

}
//```````````````````````````````


header ("Location: chat.php?act=room&id=$id");
}



$name = checkout($room['name']);
$title = $title.' | Чат';
$main_title = '<a href = "chat.php">'.$name.'</a>';
include 'head.php';
echo '<div class="block_action">';
if(isset($_GET['o'])){
$o=num($_GET['o']);
$req = mysql_query("SELECT `id`,`login` FROM `users` WHERE `id` = '$o' LIMIT 1");
   if (mysql_num_rows($req)) {
      if($o != $u['id']) $user = mysql_fetch_assoc($req);
   }
}
$count = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `online` > '".(time()-600)."' AND `chat_location` = '$id'"), 0);

echo '
<form action="chat.php?act=room&id='.$id.'" method="post">';
echo '<textarea cols="20" rows="2" name="message">';
echo $otv;
echo '</textarea><br/>';
if($user['id']) echo '<input name="priv" type="checkbox" value="'.$user['id'].'">&nbsp;Приватно<br/>';
echo "<input type='submit' title='Нажмите для отправки' name='submit' class='btn' value='Написать'  class='submit white'/> ";
echo ' <a href = "chat.php?act=room&id='.$id.'&refresh='.rand(1,9999).'">Обновить</a>|<a href = "smiles.php">Смайлы</a>';

echo "</form>";

echo '</div>';

//Удаление
if($u['admin'] == 1 || $u['admin'] == 2){
   if($_GET['del']){
	   $del = intval($_GET['del']);
	   $message = mysql_num_rows(mysql_query("SELECT `id` FROM `chat_messages` WHERE `id` = '$del' LIMIT 1"));
	   if($message){
		   mysql_query("DELETE FROM `chat_messages` WHERE `id` = '$del' LIMIT 1");
		   echo '<div class = "action">Сообщение удалено!</div><hr>';
	   }
   }
}

$all = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `chat_messages` WHERE `room` = '$id' and (`priv` = '0' OR `priv` = '".$u['id']."' OR `user` = '".$u['id']."')"), 0);
if($all > 0){
   $total = intval(($all - 1) / 10) + 1;
   $page = intval($_GET['page']);
   if(empty($page) or $page < 0) $page = 1; 
   if($page > $total) $page = $total;
   $start = $page * 10 - 10;
   $result = mysql_query("SELECT * FROM `chat_messages` WHERE `room` = '$id' and (`priv` = '0' OR `priv` = '".$u['id']."' OR `user` = '".$u['id']."') ORDER BY `id` DESC LIMIT $start, 10");
      while($chat = mysql_fetch_assoc($result)){
	  $user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '".$chat["user"]."'"));
      $message = checkout($chat['message']);	  
	  //Вывод
	  if($chat['user'] != $u['id']) $otvet = '<a href = "chat.php?act=room&id='.$id.'&o='.$user['id'].'">[<b>Отв</b>]</a>';
	  else $otvet = '';
	  
	  if($chat['priv']) $priv = '<font color = "red">[Приватно]</font></a><br/>';
	  else $priv = '';
	  
	  echo '<div class="block_list">';
	if($chat['umnik']) echo '<img src = "img/umnik.gif"> Умник '; else echo ''.ico($user['sex'],$user['admin']).' <a href = "page.php?id='.$user['id'].'"><b>'.$user['login'].'</b></a> '.online($user['online']).' '.$otvet.''; 
	
	echo '<br/><font color = "#000">';
	echo $priv;
	  smiles($message);
	  echo '</font><br>';
	  echo '<font color = "#777777">'.vremya($chat['time']).'</font>';
	  if($u['admin'] == 1 || $u['admin'] == 2){ echo '<br><a href = "chat.php?act=room&id='.$id.'&del='.$chat['id'].'">Удалить</a>'; }
	  echo '</div>';
	  }
   navigation($page, $total,'chat.php?act=room&id='.$id.'&');
}else{
	echo '<div class = "center">Сообщений еще нет. Будь первым!</div>';
}


include 'foot.php';
} else {
header ("Location: chat.php");
}
break;

//Кто в комнате ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case 'who':
if(isset($_GET['id'])){
$id=num($_GET['id']);
$req = mysql_query("SELECT * FROM `chat_room` WHERE `id` = '$id' LIMIT 1");
   if (mysql_num_rows($req)) {
   $room = mysql_fetch_assoc($req);
   }
}
//Если существует
if ($room){

$chat_location = $id;

$name = checkout($room['name']);
$all = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `online` > '".(time()-600)."' AND `chat_location` = '$id'"), 0);
$title = $title.' | Чат';
$main_title = '<a href = "chat.php">'.$name.'</a>';
include 'head.php';
echo '<div class="title"><img src= "img/chat.gif"> Чат | Кто в комнате</div>';
echo '<div class="subtitle">';
echo '<a href = "chat.php?act=room&id='.$id.'">'.$name.'</a> ('.$all.')';
echo '</div>';
//Пользователей на страницу
if($u['setting_users_list']) $count = $u['setting_users_list']; else $count = 10;
echo '<div class="main_menu">';
if($all > 0){
   $total = intval(($all - 1) / $count) + 1;
   $page = num($_GET['page']);
   if(empty($page) or $page < 0) $page = 1; 
   if($page > $total) $page = $total;
   $start = $page * $count - $count;
   $result = mysql_query("SELECT * FROM `users` WHERE `online` > '".(time()-600)."' AND `chat_location` = '$id' ORDER BY online DESC LIMIT $start, $count");
      while($user = mysql_fetch_assoc($result)){
	  //Вывод
	  echo $i % 2 ? '<div class="block2">' : '<div class="block1">';
	  echo '<table>
      <tr>
      <td>';
	  ava($user['id'],50);
	  echo '</td>
	  <td VALIGN=top>';
	  echo ''.ico($user['sex'],$user['admin']).' <a href = "page.php?id='.$user['id'].'">'.$user['login'].'</a> '.online($user['online']).'';
	  echo '<br/>';
	  if($user['id'] != $u['id']){
	  echo '<img src = "img/mail.gif"> <a href = "mail.php?act=write&id='.$user['id'].'">Сообщение</a><br/>';
	  //Проверяем не друг ли
      $req = mysql_query("SELECT * FROM `friends` WHERE `user` = '".$u['id']."' and friend = '".$user['id']."' LIMIT 1");
      if(mysql_num_rows($req))
      echo '<img src = "img/friends.gif"> <a href = "friends.php?act=delete&id='.$user['id'].'">Убрать из друзей</a><br/>';
      else 
	  echo '<img src = "img/friends.gif"> <a href = "friends.php?act=adding&id='.$user['id'].'">Добавить в друзья</a><br/>';
	  }
	  
	  echo '<br/>';
	  echo '</td>
      </tr>
      </table>';
	  echo '<hr>';
      echo '</div>';
	  $i++;
	  }
	  navigation($page, $total,'users.php?online='.$online.'&sort='.$sort.'&');
}else{
echo 'Пользователей не найдено!';
}
echo '</div>';
include 'foot.php';


} else {
header ("Location: chat.php");
}
break;

//Список комнат ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
default:
$title = $title.' | Комнаты';
$main_title = '<a href = "index.php">Чат</a>';
include 'head.php';
if($u['admin'] == 1) echo '<div class="block_add"><a href = "?act=add_room">Добавить комнату</a></div>';

$all = mysql_result(mysql_query("SELECT COUNT(*) FROM `chat_room`"), 0);
if($all > 0){
$result = mysql_query("SELECT * FROM `chat_room` ORDER BY `ord` DESC");
   while($room = mysql_fetch_assoc($result)){
	  //Вывод
	  echo '<div class="block_list">';
	  $count = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `online` > '".(time()-600)."' AND `chat_location` = '".$room['id']."'"), 0);
      $name = checkout($room['name']);
	  $descr = checkout($room['descr']);
      echo '<a href = "chat.php?act=room&id='.$room['id'].'"><b>'.$name.'</b></a> ('.$count.')<br>'; 
      smiles($descr);
	  if ($u['admin'] == 1) { echo '<br><a href = "chat.php?act=edit_room&id='.$room['id'].'">Изменить</a> - <a href = "chat.php?act=delete_room&id='.$room['id'].'">Удалить</a>'; }
      echo '</div>';
   }  
}else{
	  echo '<div class="center">Комнат пока нет!</div>';
}

include 'foot.php';
break;
}
?>