View file chat/f.php

File size: 6.71Kb
<?php
///////////////////////////////
//автор - figura
//сайт - http://f-pt.ru
///////////////////////////////
include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../sistem/functions_txt.dat");
include("../sistem/functions_uzer.dat");



if($status=="uzer" || $status=="moder" || $status=="admin")
{
   
   if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
   if(empty($act)){$act="index";}
   if($act == "index")
   {
      echo'<html>';
      echo'<head>';
      echo'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
      echo'<meta http-equiv="refresh" content="5; url=f.php">';
      echo'</head>';
      echo'<body>';
      echo'<font size="1">';
      
      
      
      //вывод сообщений
      $str = file("$koren_dir/data/chat/chat.dat");
      $str=array_reverse($str);//перевернули масив
      $nom=count($str);
      
      if($nom == 0)
      {
         echo'Сообщений в чате пока нет!<br>';
      }
      //============================================//
      
      $i = 0;
      $var = $i + 10;
      while($i < $var)
      {
         if($i < $nom)
         {
            //показываем сообщение
            $arrr=explode("<||>",$str[$i]);
            $arrr[2] = preg_replace('#<a href="(.*?)">(.*?)</a>#si', '[ССЫЛКО]', $arrr[2]);
            echo'<font color="black"><U><B>'.$arrr[0].'</B></U></font> - '.$arrr[2].'<br><br>';
            
         }
         ++$i;
      }
      echo'</font>';
      echo'</body></html>';
      
      ///////////////////Код для автоудаления старых постов
      if($nom >= "150")//если постов больше 150, то чистим:)
      {
         $str = file("$koren_dir/data/chat/chat.dat");
         $nom=count($str);
         $file_chat = fopen("$koren_dir/data/chat/chat.dat", "w+");
         flock ($file_chat,LOCK_EX);
         
         $i = "49";//удаляем последние 50 постов
         $var = $nom;
         while($i < $var)
         {
            fputs($file_chat,$str[$i]);
            ++$i;
         }
         flock ($file_chat,LOCK_UN);
         fclose($file_chat);
         @chmod("$koren_dir/data/chat/chat.dat", 0666);
      }
   }
   
   if($act == "form")
   {
      echo'<html>';
      echo'<head>';
      echo'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
      //echo'<meta http-equiv="refresh" content="5; url=f.php">';
      echo'</head>';
      echo'<body>';
      
      
      echo'<form name="forma" action="f.php?'.SID.'" method="post">';
      echo'<INPUT TYPE="hidden" NAME="act" VALUE="end">';
      echo'<TEXTAREA NAME="txtsob" ROWS="2" COLS="12"></TEXTAREA><br>';
      echo'<input type="submit" name="" value="Сказать">';
      echo'</form>';
      
      
      echo'</body></html>';
   }
   
   if($act=='end')
   {
      
      echo'<html>';
      echo'<head>';
      echo'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
      echo'<meta http-equiv="refresh" content="2; url=f.php?act=form">';
      echo'</head>';
      echo'<body>';
      echo'<font size="2">';
      if($txtsob=="" || "1000" <= strlen($txtsob))
      {
         echo'Не все поля заполнены или слишком длинный текст!!!<br>';
      }else{
         $ip=htmlspecialchars($_SERVER['REMOTE_ADDR']);
         $arbuz=explode("/",$_SERVER['HTTP_USER_AGENT']);
         $arbuz=htmlspecialchars($arbuz[0]);
         $login=htmlspecialchars($login);
         $txtsob=htmlspecialchars($txtsob);
         $txtsob = smiles($txtsob);
         $txtsob = bb($txtsob);
         
         $txtsob = str_replace("\n","<br>",$txtsob);
         $login = trim($login);
         $txtsob = trim($txtsob);
         
         $dat = date("d.m.Y H:i:s");
         $str=''.$login.'<||>'.$dat.'<||>'.$txtsob.'<||>';
         
         if($filechat = fopen("../data/chat/chat.dat", "a+"))
         {
            flock ($filechat,LOCK_EX);
            fputs($filechat,$str."\n");
            flock ($filechat,LOCK_UN);
            fclose($filechat);
            @chmod("../data/chat/chat.dat", 0666);
            
            
            //Увеличели счётчик постов
            $chat_count = file("../data/chat/count.dat");
            $chat_count = $chat_count[0] + 1;
            $file_chat_count = fopen("../data/chat/count.dat", "w+");
            flock ($file_chat_count,LOCK_EX);
            fputs($file_chat_count,$chat_count);
            flock ($file_chat_count,LOCK_UN);
            fclose($file_chat_count);
            @chmod("../data/chat/count.dat", 0666);
            
            
            //добавляем количество постов
            ++$postov;
            $kod=''.$pass_real.'<||>'.$status.'<||>'.$postov.'<||>'.$golos_za.'<||>'.$golos_protiv.'<||>'.$prichina_bana.'<||>'.$time_reg.'<||>'.$den_plusa.'<||>'.$real_name.'<||>'.$real_name2.'<||>'.$gorod.'<||>'.$a_baut.'<||>'.$vozrost.'<||>'.$pol.'<||>'.$ip.'<||>'.$posled_time_pribivanij.'<||>'.$posled_time.'<||>'.$my_tema.'<||>'.$rezerv1.'<||>'.$rezerv2.'<||>'.$rezerv3.'<||>'.$rezerv4.'<||>'.$rezerv5.'<||>'.$rezerv6.'<||>'.$rezerv7.'<||>'.$rezerv8.'<||>'.$rezerv9.'<||>'.$rezerv10.'<||>'.$rezerv11.'<||>'.$rezerv12.'<||>'.$rezerv13.'<||>'.$rezerv14.'<||>'.$rezerv15.'<||>'.$rezerv16.'<||>'.$rezerv17.'<||>'.$rezerv18.'<||>'.$rezerv19.'<||>'.$rezerv20.'<||>';
            $file_login_data = fopen("$koren_dir/data/uzer/$login.dat", "w+");
            flock ($file_login_data,LOCK_EX);
            fputs($file_login_data,$kod);
            flock ($file_login_data,LOCK_UN);
            fclose($file_login_data);
            @chmod("$koren_dir/data/uzer/$login.dat", 0666);
            
            echo'Ваше сообщение успешно добавлено!<br>';
            
         }else
         {
            echo'Ошибка добавления сообщения<br>';
         }
      }
      echo'</font>';
      echo'</body></html>';
   }
}

if($status=="gost")
{
   echo'<html>';
   echo'<head>';
   echo'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
   echo'</head>';
   echo'<body>';
   echo'<font size="2">Чат вам пока не доступен</font>';
   echo'</body></html>';
}

if($status=="ban")
{
   echo'<html>';
   echo'<head>';
   echo'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
   echo'</head>';
   echo'<body>';
   echo'<font size="2">Чат вам пока не доступен</font>';
   echo'</body></html>';
}
include("../sistem/global_end.dat");
?>