Просмотр файла grop/chat.php

Размер файла: 4.75Kb
<?
include('../core/core.php');
include(BASEDIR.INC.'func.php');
include(BASEDIR.INC.'session.php');
include(BASEDIR.INC.'session_user.php');
$mode = htmlspecialchars($_GET['mode']);
include(BASEDIR.INC.'head.php');
$id = abs(htmlspecialchars($_GET['id']));
echo '<div class="razdel">Cообщества</div>';
show_title('Сообщества');
switch ($mode):
/*
------------------------------------------------------
Чат для групп
------------------------------------------------------
*/
case 'index':
$gr = mysql_query('SELECT * FROM grop_user WHERE id_grop = "'.$id.'" AND login = "'.$_COOKIE['login'].'"');
$gr = mysql_fetch_assoc($gr);
if(is_user()){
if(!empty($gr['login'])){
echo'<div class="menu">';
echo'<a href="/grop/?mode=see&id='.$id.'">Назад в чат!';
echo'</div>';
echo'<div class="menu">';
echo'<form action="?mode=new_msg&id='.$id.'" method="post">
Сообщение (<a href="/pages/smiles.php">Смайлы</a>/<a href="/pages/bb.php">Теги</a>):<br />
<textarea name="msg" cols="40" rows="5"></textarea><br />
<input name="" type="submit" value="Добавить" />
</form>';
echo'</div>';
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `grop_chat` WHERE `id_grop` = '".$id."'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `grop_chat` WHERE `id_grop` = '".$id."' ORDER BY `id` DESC LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
$login = $u['login'];
$li =mysql_query("SELECT * FROM users WHERE `login`='$login';");
$li = mysql_fetch_assoc($li);
$p = mysql_query('SELECT * FROM session_user WHERE user = "'.$login.'"');
if(mysql_num_rows($p) != 0){ $on ='[<font color="green">On</font>]'; } else { $on ='[<font color="red">Off</font>]'; }
if($li['avatar_mini'] == NULL){ $avatar ='/images/noavatar.gif'; } else {$avatar = ''.$li['avatar_mini'].'';}
echo'<div class="menu">';
echo'<div style="overflow: hidden"><div style="float: left"><img src="'.$avatar.'"></div> <a href="/users/profile.php?user='.$login.'">'.$login.'</a> <br />
 ('.$u['data'].') '.$on.'</div><hr>';
 echo $u['msg'];
if(is_admin(array(101))){ echo'<hr><div align="right">[<a href="?mode=del&id='.$u['id'].'" onclick="return confirm(\'Вы подтверждаете удаление?\')">Удл</a>]</div>';}
echo'</div>';}
if ($page != $total) $nextpage = ' <a href="?mode=index&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode=index&page='. ($page - 1) .'">Назад</a> ';  
if($q == 0){ echo'<div class="menu">Сообщения еще не добавлены!</div>'; }
echo''.$pageback.'  '.$nextpage.'';
} else {echo'Для просмотра чата вы должны состоять в данной группе'; }
} else {echo'Авторизуйтесь!'; }
break;
case 'new_msg':
echo'<div class="menu">';
$gr = mysql_query('SELECT * FROM grop_user WHERE id_grop = "'.$id.'" AND login = "'.$_COOKIE['login'].'"');
$gr = mysql_fetch_assoc($gr);
if(is_user()){
if(!empty($gr['login'])){
if($id == !NULL){
$msg = check($_POST['msg']);
$s = $_SESSION['antiflood'] - time();
if($_SESSION['antiflood'] >= time()){echo'Антифлуд! Разрешается отправлять сообщения раз в 30 секунд!<br />
Осталось: >'.formattime($s).'</div>';
}else{
if (utf_strlen($msg) >= 5 && utf_strlen($msg) < 500) {
$data = date("d.m.Y / H:i");
$login = $_COOKIE['login'];
$time = time() + (60 * 15);
$msg = antimat($msg);
$msg = smiles($msg);
$msg = bb($msg);
$msg = no_br($msg);
mysql_query('INSERT INTO `grop_chat`(`id_grop`, `login`, `msg`, `time`, `data`) VALUES ("'.$id.'","'.$login.'","'.$msg.'","'.$time.'","'.$data.'")');
header('Location: ?mode=index&id='.$id.'');
$_SESSION['antiflood'] = time() + 30;
echo activ($_COOKIE['login']);
echo rating_plus($_COOKIE['login'],1);
} else { echo'Ошибка! Слишком длинное или короткое сообщение!'; }
}
} else {echo'Ошибка!';}
} else {echo'Для просмотра чата вы должны состоять в данной группе'; }
} else {echo'Авторизуйтесь!'; }
echo'</div>';
break;
case 'del':
if(is_admin(array(101))){
if($id == !NULL){
mysql_query('DELETE FROM `grop_chat` WHERE `id` = "'.$id.'"');
header ('location: ?mode=index'); 
} else {echo'<div class="menu">Ошибочка!</div>'; }
}
break;
default: 
header ('location: ?mode=index'); 
endswitch;
echo'<div class="menu"><a href="/">На главную</a></div>';
include(BASEDIR.INC.'foot.php');
?>