View file ViPTurbo 3.0/chat/index.php

File size: 8.82Kb
<?
include('../include/path.php');

if($config["accchat"]==1 || ($rank&128)==128){

if($config["seechat"]==1 || isset($user)){   // если установлен юзер

if(isset($_GET['rm']) && mysql_num_rows($room=sql_query('SELECT `id`, `name` FROM `'.PRE.'chat_rooms` WHERE `id`='.intval($_GET['rm']).' ORDER BY `id` ASC'))!=0){ // ЗАХОДИМ В ВЫБРАННУЮ КОМНАТУ
//--------------------------------------------------------------------------------------------

if(isset($_GET['del']) && !preg_match('/[^0-9]/',$_GET['del']) && ($rank&16)==16){

   sql_query('DELETE FROM `'.PRE.'chat_msgs` WHERE `id`='.($_GET['del']).' AND `rm`='.$_GET['rm']);

}else
if(isset($_GET['clear']) && ($rank&16)==16){

   sql_query('DELETE FROM `'.PRE.'chat_msgs` WHERE `rm`='.($_GET['rm']));

}


if(isset($_POST['msg']))
{

        if(preg_match('/^.{1,1024}$/su',$_POST['msg']) && isset($user))
        {

             $private=(isset($_POST['private']) && preg_match('/[a-z0-9]/i',$_POST['private']) && get_ser_data(filtr(StrToLow(MyDecode($_POST['private'])))))?filtr(MyDecode($_POST['private'])):'';

             $IP=(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/D',$_SERVER['HTTP_X_FORWARDED_FOR']) && CheckIP())?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER["REMOTE_ADDR"];


             //------------------------------

             sql_query($q='INSERT INTO `'.PRE.'chat_msgs` SET `time`='.time().', `ip`="'.$IP.'", `msg`="'.filtr($_POST['msg']).'", `privat`="'.$private.'", `login`="'.$user['login'].'", `rm`='.intval($_GET['rm']));

             sql_query('UPDATE `'.PRE.'users` SET `posts`='.($user['posts']+1).' WHERE `login`="'.$user['login'].'"');



        }else { $error='- Сообщение пустое или содержит недопустимое количество символов<br>';}

} 
//-------------------------------------------------------------------------------------------
$link = ((isset($dat['refresh']))?$dat['refresh']:30).'; URL=?rand='.rand(0,1000).'&amp;rm='.$_GET['rm'].'&amp;'.SID;

function put_content(){

  global $path,$user,$rank,$room,$error;
  
  echo '<div class="title">ЧАТ</div>';
  
//--------------------------------------------------------------------------------------------
   if(isset($user)){
     
     if(isset($error)) { echo $error; }
     
     echo'<a href="post.php?rm='.$_GET['rm'].'&amp;'.SID.'">Написать</a><br>';
     echo'<a href="?rand='.rand(0,1000).'?&amp;rm='.$_GET['rm'].'&amp;'.SID.'">Обновить</a><br>';
     
   }else{ echo'<div>Для начала общения необходимо <a href="../registration.php">пройти регистрацию</a></div><br>'; }

//--------------------------------------------------------------------------------------------
   echo '<div class="header">'.$room[$_GET['rm']].'</div>';
    
   $onpage=(isset($user))?$user['tpage']:10;

   if(mysql_num_rows($msgs=sql_query('SELECT * FROM `'.PRE.'chat_msgs` WHERE `rm`='.$_GET['rm'].' AND (`privat`="" OR `privat`="'.$user['login'].'" OR `login`="'.$user['login'].'") ORDER BY `time` DESC limit '.$onpage))!=0){

      while($data=mysql_fetch_assoc($msgs)) {

             echo '<div class="header">';
             echo '<a href="post.php?nick='.MyEncode($data['login']).'&amp;rm='.$_GET['rm'].'&amp;'.SID.'">'.$data['login'].'</a>'.(($data['privat']!='')?' [!P] ':' ').date("d.m.y H:i",$data['time']);
             if(($rank&16)==16){ echo ' [ <a href="?del='.$data['id'].'&amp;rm='.$_GET['rm'].'&amp;'.SID.'">X</a> ] [ <a href="../adminpanel/ban.php?login='.MyEncode($data['login']).'&amp;'.SID.'">#</a> ]';}
             echo '</div>';
             echo '<div>'.bbc($data['msg']).'</div>';



      }


   echo'<br><a href="chatlogs.php?rm='.$_GET['rm'].'&amp;'.SID.'">история</a> &nbsp;';

   echo'<a href="../help/smileys.php?help=smileys&amp;rm='.$_GET['rm'].'&amp;'.SID.'">смайлы</a> &nbsp;';
   echo'<a href="../help/tags.php?help=tags&amp;rm='.$_GET['rm'].'&amp;'.SID.'">тэги</a> &nbsp;';

   if(($rank&16)==16){ echo'<br><a href="?clear&amp;rm='.$_GET['rm'].'&amp;'.SID.'">очистить</a>'; }

   }else{ echo '- В этой комнате нет сообщений<br>'; }

   echo'<div class="nav"><a href="?'.SID.'">Прихожая</a></div>';

}

}else{
 // ПРИХОЖАЯ
//--------------------------------------------------------------------------------------------

// ДОСТУПНО ТОЛЬКО АДМИНУ И МОДЕРУ
//--------------------------------------------------------------------------------------------
    if(isset($_POST['ren']) && isset($_POST['chbox']) && isset($_POST['room']) && ($rank&16)==16){

        foreach($_POST['room'] as $key=>$value) if(isset($_POST['chbox'][$key])) sql_query('UPDATE `'.PRE.'chat_rooms` SET `name`="'.filtr($value).'" WHERE `id`='.intval($key));

    }else
    if(isset($_POST['del']) && isset($_POST['chbox']) && ($rank&16)==16)
    {

        foreach($_POST['chbox'] as $key=>$value){ $rms[]=' `id`='.intval($key);  $rms2[]=' `rm`='.intval($key);}

        sql_query('DELETE FROM `'.PRE.'chat_rooms` WHERE ('.implode(' OR', $rms).')');
        sql_query('DELETE FROM `'.PRE.'chat_msgs` WHERE ('.implode(' OR', $rms2).')');

    }else
    if(isset($_POST['add']) && isset($_POST['nr']) && ($rank&16)==16){

        sql_query('INSERT INTO `'.PRE.'chat_rooms` SET `name`="'.filtr($_POST['nr']).'"');

    }    
//--------------------------------------------------------------------------------------------
  function put_content(){

  global $path,$user,$rank,$error;
  
  echo '<div class="title">ЧАТ</div>';
  
//------------------------------------------------

    echo'<a href="who.php?'.SID.'">Кто где?</a> [online: '.count_location().']<br>';
   // echo'<a href="friends.php?'.SID.'">Друзья</a> [online: '.count_location().']<br>';
//------------------------------------------------

    if(file_exists($path.'/../database/chat/rooms.php')){ include($path.'/../database/chat/rooms.php'); }

    echo '<div class="header">Комнаты</div>';

    if(($rank&16)==16){ echo'<form action="?'.SID.'"  method="post" accept-charset="utf-8">'; }


    if(mysql_num_rows($rooms=sql_query('SELECT * FROM `'.PRE.'chat_rooms` ORDER BY `id` ASC'))!=0){

       $onl_in_rooms=sql_query('SELECT `loc`,`login` FROM `'.PRE.'online` WHERE `loc`LIKE"*/chat/" ORDER BY `login` ASC');

       while($data=mysql_fetch_assoc($onl_in_rooms)) $inroom[preg_replace('#*/chat/(.*?)rm=(.*?)&#si', '\2', $data['loc'].'&')]=$data['login'];

       while($data=mysql_fetch_assoc($rooms)){

          echo (($rank&16)==16)?'<input name="chbox['.$data['id'].']" class="chbox" type="checkbox"><input type="text" maxlength="128" name="room['.$data['id'].']" class="text" value="'.$data['name'].'"><a href="?rm='.$data['id'].'&amp;'.SID.'">войти</a> ['.(isset($inroom[$data['id']])?$inroom[$data['id']]:0).']<br>':
          '<a href="?rm='.$data['id'].'&amp;'.SID.'">'.$data['name'].'</a> ['.(isset($inroom[$data['id']])?$inroom[$data['id']]:0).']<br>';

       }
       
       if(($rank&16)==16){ echo'<br><input type="submit" name="ren" class="button" value="Переименовать"><input type="submit" name="del" class="button" value="Удалить">'; }
       
    }else{ echo '- Комнаты не установлены<br>'; }
    
    if(($rank&16)==16){
       echo '<div class="header">Добавить комнату</div>';
       echo'<input type="text" maxlength="128" name="nr" class="text" value="">';
       echo'<br><input type="submit" class="button" name="add" value="Добавить"></form>';   
    }
   echo'<div class="header">Помощь</div>';
   echo'<a href="rules.php?'.SID.'">Правила</a><br>'; 
   echo'<a href="../help/smileys.php?'.SID.'">Cмайлы</a><br>';
   echo'<a href="../help/tags.php?'.SID.'">Тэги</a><br>';

    echo'<div class="nav"><a href="../?'.SID.'">на главную</a></div>';
}

}

} else {
         $link = '10; URL=../registration.php?'.SID;
         function put_content() {
                  echo '<div class="title">ЧАТ</div>';
                  echo 'Для начала общения в чате вам необходимо ';
                  echo '<a href="../registration.php?'.SID.'">зарегистрироваться</a> на сайте';
                  echo '<div class="nav"><a href="../?'.SID.'">на главную</a></div>';
                  }
       }

} else {
         $link = '10; URL=../?'.SID;
         function put_content() {
                  echo '- Доступ запрещен администрацией сайта<br><br>';
                  echo '<a href="../?'.SID.'">далее...</a>';
                  }
       }

// подключение дизайна
design();?>