View file modules/kabinet/send_privat.php

File size: 14.34Kb
<?php
########################################
##	           WAP-ENGINE             ##
########################################
##                                    ##
##  Автор : CHUMA (Токарев Владимир)  ##
##  e-mail : [email protected]     ##
##  WAP : http://wap-engine.ru        ##
##                                    ##
########################################
##         ВЫ НЕ ИМЕЕТЕ ПРАВО         ##
##        ИЗМЕНЯТЬ КОД СКРИПТА        ##
##  ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ!  ##
########################################
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
$title_page = 'Отправка сообщения';
$m_polozhenie = 'Пишет сообщение';
####################
$pm_flood = '../../data/flood_pm.txt';
$pm_flood_list = file($pm_flood);
$flood_time = time();
$ip = filter($_SERVER['REMOTE_ADDR']);

if(isset($_SESSION['sespass']) && isset($passw) && $_SESSION['sespass'] == $passw)
 {
  $komu = filter($_GET['nick']);
  
  if(empty($_GET['send']))
   {
    include '../../themes/'.$themes.'.php';
if ($portal=='off')
 {
  echo'<p align="center">'.$offmes.'</p>';
 }
if ($portal=='on')
 {
echo'<p class="modul_name" align="center">Отправка сообщения</p>';
    
    # Ошибка! Антифлуд
    if($_GET['err'] == 'flood')
     {
      $flood_sec = 0;
      foreach ($pm_flood_list as $key => $string) 
       {
        $flood_arr = explode('|', $string);
        if(trim($flood_arr[0]) == $ip && trim($flood_arr[1]) + $antiflood_pm >= $flood_time) 
         {
          $flood_sec = (trim($flood_arr[1]) + $antiflood_pm) - $flood_time;
          break;
         }
       }
      echo"<p class=\"err\">Флуд!!! Вы слишком часто пишите сообщения. Письма  можно писать один раз в $antiflood_pm сек. Подождите еще $flood_sec сек.</p>";
     }
    # Ошибка! Антифлуд
  
    
	
    if($_GET['err'] == 1)
     {
      echo"<p class=\"err\">Ошибка!!! Поле \"Кому\" не может быть пустым.</p>";
     }
    if($_GET['err'] == 2)
     {
      echo"<p class=\"err\">Ошибка!!! Сообщение не может быть пустым.</p>";
     }
    if($_GET['err'] == 3)
     {
      echo"<p class=\"err\">Ошибка!!! Пользователя, которому вы собираетесь отправить сообщение, нет в базе данных.</p>";
     }
    if($_GET['err'] == 8)
     {
      echo"<p class=\"err\">Ошибка!!! Вы занесены в список игнорируемых этого пользователя.</p>";
     }
    if($_GET['err'] == 4)
     {
      echo"<p class=\"err\">Ошибка!!! Нельзя отправлять сообщения самому себе.</p>";
     }
	if($_GET['err'] == 5)
     {
      echo"<p class=\"err\">Ошибка!!! У получателя переполнен ящик \"входящие\". Сообщение не отправленно!</p>";
     }
	if($_GET['err'] == 6)
     {
      echo"<p class=\"err\">Ошибка!!! У вас переполнен ящик \"исходящие\". Сообщение не отправленно!</p>";
     }
    if($_GET['err'] == 7)
     {
      echo"<p class=\"err\">Ошибка!!! Вас забанил $banwho за $bantxt! Окончание бана: $bantime[6]$bantime[7].$bantime[4]$bantime[5].$bantime[0]$bantime[1]$bantime[2]$bantime[3] в $bantime[8]$bantime[9]:$bantime[10]$bantime[11] по времени сервера.</p>";
     }

    echo"<form method=\"post\" action=\"send_privat.php?send=1&amp;".session_name()."=".session_id()."\"><p class=\"b\">";
	if(!empty($_GET['nick']))
	 {
      echo"Кому(логин):<br /><input name=\"komu\"  maxlength=\"20\" value=\"$komu\" /><br />";
	 }
	  else
	 {
	  echo"Кому(логин):<br /><input name=\"komu\"  maxlength=\"20\" value=\"\" /><br />";
	 }
	echo"Сообщение:<br /><textarea rows=\"4\" cols=\"15\" name=\"msg\"></textarea><br />";
if($trans == '1')
{
echo"<input type=\"checkbox\" name=\"msgtrans\" value=\"1\" /> Транслит<br />";
}
    echo"<input value=\"Отправить\" type=\"submit\" /></p></form>";
	echo"<p><a href=\"send_privat.php?send=smile&amp;nick=$komu&amp;".session_name()."=".session_id()."\">Смайлы</a> |
	<a href=\"send_privat.php?send=trans&amp;nick=$komu&amp;".session_name()."=".session_id()."\">Транслит</a> | 
	<a href=\"send_privat.php?send=bbcodes&amp;nick=$komu&amp;".session_name()."=".session_id()."\">Теги</a><br /><br />
	<a href=\"index.php?".session_name()."=".session_id()."\">В кабинет</a><br /></p>";
}
include('../../templates/foot.php');
   }
####################
  if(@$_GET['send'] == 1)
   {
    $komu = filter($_POST['komu']);
    $msg  = filter($_POST['msg']);
  
    $nicks = file('../../data/nicks.php');
    $count_nicks = count($nicks);
    $count_nicks = $count_nicks - 2;
	$user_est = 0;
    for($i=2; $i <= $count_nicks; $i++)
     {
      if($komu == trim($nicks[$i]))
	   {
	    $user_est = 1;
	    break;
	   }
     }
     
    $date_now = date ('YmdHis', time() + ($sdvigclock*3600));
    if($bantime > $date_now)
     {
      $errb = 2;
     }
    
    $ignor_f = @file("../../data/users/$komu"."_ignor.php");
    $ignor_count = count($ignor_f);
    $ignored_est = 0;
    for($i=2; $i < $ignor_count - 2; $i++)
     {
      if(strstr($ignor_f[$i], "$login"))
       {
        $ignored_est = 1;
        break;
       }
     }
	
	if(!empty($komu) and $user_est != 0)
	 { 
	  $inbox_f = @file("../../data/inbox/$komu.php");
	  $outbox_f = @file("../../data/outbox/$login.php");
	  $inbox_count = count($inbox_f) - 2;
	  $outbox_count = count($outbox_f) - 2;
	 }
	 
	# Проверка на флуд
    $flood = 0;
    foreach ($pm_flood_list as $key => $string) 
     {
      $flood_arr = explode('|', $string);
      if(trim($flood_arr[0]) == $ip && trim($flood_arr[1]) + $antiflood_pm >= $flood_time) 
       {
        $flood = 1;
        break;
       }
     }
    # Проверка на флуд
  
    if(empty($komu))
     {
      header("Location: send_privat.php?err=1&".session_name()."=".session_id()."");
     }
    elseif(empty($msg))
     {
      header("Location: send_privat.php?err=2&".session_name()."=".session_id()."");
     }
    elseif($user_est == 0)
     {
      header("Location: send_privat.php?err=3&".session_name()."=".session_id()."");
     }
    elseif($ignored_est == 1)
     {
      header("Location: send_privat.php?err=8&".session_name()."=".session_id()."");
     }
    elseif($komu == $login)
     {
      header("Location: send_privat.php?err=4&".session_name()."=".session_id()."");
     }
	elseif($inbox_count >= $kolmesls + 2)
     {
      header("Location: send_privat.php?err=5&".session_name()."=".session_id()."");
     }
	elseif($outbox_count >= $kolmesls + 2)
     {
      header("Location: send_privat.php?err=6&".session_name()."=".session_id()."");
     }
    elseif($errb == 2)
     {
      header("Location: send_privat.php?err=7&".session_name()."=".session_id()."");
     }
    elseif($flood == 1)
     {
      header("Location: send_privat.php?nick=$komu&err=flood&".session_name()."=".session_id()."");
     }
    else
     { 
      $date = date("d.m.Y / H:i:s", time() + ($sdvigclock*3600));
	  if ($_POST['msgtrans'] == 1)
       {
        $msg = tr_to_win($msg);
       }
  
      $msg = smiles($msg);
      $msg = antimat($msg);
      $msg = bbcodes($msg);
	  $msg = str_replace("\r\n", '<br />', $msg);
      
	  $mes_to_inbox_file = "$login|$date|$msg|1\r\n";
      for($i=2; $i < $inbox_count; $i++)
       {	
		$mes_to_inbox_file .= $inbox_f[$i];
       }
      $mes_to_inbox_file = trim($mes_to_inbox_file);
	   
	  $mes_to_outbox_file = "$komu|$date|$msg|\r\n";
      for($i=2; $i < $outbox_count; $i++)
       {	
		$mes_to_outbox_file .= $outbox_f[$i];
       }
      $mes_to_outbox_file = trim($mes_to_outbox_file);

      write_to_file('../../data/inbox/'.$komu.'.php', "<?php\r\n/*\r\n$mes_to_inbox_file\r\n*/\r\n?>");

      write_to_file('../../data/outbox/'.$login.'.php', "<?php\r\n/*\r\n$mes_to_outbox_file\r\n*/\r\n?>");
      
      user_data('../../data/users/'.$komu.'.php');  # Считывание данных пользователя находится в файле templates/func.php
  
      $new_ls = $new_ls + 1;
      
      $str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php

      write_to_file('../../data/users/'.$komu.'.php', "<?php\r\n/*\r\n$str_to_user_file\r\n*/\r\n?>");
      
      # Запись в базу антифлуда
      $flood_list_new = $ip.'|'.$flood_time."\r\n";
      foreach ($pm_flood_list as $key => $string) 
       {
        $flood_arr = explode('|', $string);

        if(trim($flood_arr[0]) != $ip && trim($flood_arr[1]) + $antiflood_pm >= $flood_time)
         {
          $flood_list_new .= trim($flood_arr[0]).'|'.trim($flood_arr[1])."\r\n";
         }
       }

      write_to_file($pm_flood, $flood_list_new);
      # Запись в базу антифлуда

      header ("Location: index.php?send=1&".session_name()."=".session_id()."");
     }
   }
 }
  else
 {
  include '../../themes/'.$themes.'.php';
if ($portal=='off')
 {
  echo'<p align="center">'.$offmes.'</p>';
 }
if ($portal=='on')
 {
  echo"<p class=\"b\">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
}
  include '../../templates/foot.php';
 }
####################
if($_GET['send'] == 'smile')
 {
  include '../../themes/'.$themes.'.php';
if ($portal=='off')
 {
  echo'<p align="center">'.$offmes.'</p>';
 }
if ($portal=='on')
 {
  $sm_dir = opendir('../../sm');
  while ($file = readdir($sm_dir))
   {
    if($file != "Thumbs.db" && $file != ".." && $file != ".")
     {
      $smiles[] = $file;
     }
   } 
  closedir ($sm_dir);
  sort($smiles);
  $count = count($smiles);
  $kolsm = 7;
  $stranic = ceil($count/$kolsm);

  if(empty($_GET['page']))
   {
    $page_get = 1;
   }
    else
   {
    $page_get = htmlspecialchars(stripslashes($_GET['page']));
   }
 
  $do = $kolsm * ($page_get - 1);
  $end = $kolsm * $page_get;

  $page_nazad = $page_get - 1;
  $page_dalee = $page_get + 1;
  
  echo '<p class="modul_name">Доступные смайлы</p>';
  echo "<p class=\"b\">";
  for ($i = $do; $i < $end; $i++)
   {
    if(!empty($smiles[$i]))
     {
      $smile = explode(".", $smiles[$i]);
      echo "<img src=\"../../sm/$smile[0].$smile[1]\" alt=\":$smile[0]\" /> - :$smile[0]<br />";
     }
   }
  echo "</p>";
  echo "<p align=\"center\" class=\"d\">";
  echo "Страницы:";
  echo "<br />";
  if($page_get > 4)
   {
    echo "<a href=\"send_privat.php?send=smile&amp;page=1&amp;nick=$komu&amp;".session_name()."=".session_id()."\">1</a>...";
   }
 
  $start_1 = $page_get - 3;
  $end_1 = $page_get - 1;
  if($start_1 < 1)
   {
    $start_1 = 1;
   }
  
  for($i = $start_1; $i <= $end_1; $i++)
   {
    echo"<a href=\"send_privat.php?send=smile&amp;page=$i&amp;nick=$komu&amp;".session_name()."=".session_id()."\">$i</a> ";
   }

  echo"$page_get";

  $start_2 = $page_get + 1;
  $end_2 = $page_get + 3;
  if($start_2 < 1)
   {
    $start_2 = 1;
   }
  if($end_2 > $stranic)
   {
    $end_2 = $stranic;
   }
  
  for($i = $start_2; $i <= $end_2; $i++)
   {
    echo" <a href=\"send_privat.php?send=smile&amp;page=$i&amp;nick=$komu&amp;".session_name()."=".session_id()."\">$i</a>";
   }

  if($stranic > $page_get && $page_get < ($stranic-3))
   {
    echo "...<a href=\"send_privat.php?send=smile&amp;page=$stranic&amp;nick=$komu&amp;".session_name()."=".session_id()."\">$stranic</a>";
   }
  echo "<br />";

  if($page_get > 1)
   {
    echo "<a href=\"send_privat.php?send=smile&amp;page=$page_nazad&amp;nick=$komu&amp;".session_name()."=".session_id()."\">Назад</a>";
   }
  echo " | ";
  if($stranic > $page_get)
   {
    echo "<a href=\"send_privat.php?send=smile&amp;page=$page_dalee&amp;nick=$komu&amp;".session_name()."=".session_id()."\">Дальше</a>";
   } 
  echo "<br />";
  echo "</p>";
  echo "<p>Всего $count смайлов<br /><br /></p>";	
  echo "<p><a href=\"send_privat.php?nick=$komu&amp;".session_name()."=".session_id()."\">К отправке сообщения</a></p>";  
  echo "<p><a href=\"./index.php?".session_name()."=".session_id()."\">В кабинет</a></p>";
}
  include'../../templates/foot.php';
 }
####################
if($_GET['send'] == 'trans')
 {
  include '../../themes/'.$themes.'.php';
if ($portal=='off')
 {
  echo'<p align="center">'.$offmes.'</p>';
 }
if ($portal=='on')
 {
  echo '<p class="modul_name">Правила транслита</p>';
  echo "<p class=\"b\">";
  echo "
а - a<br />
б - b<br />
в - v<br />
г - g<br />
д - d<br />
е - e<br />
ё - yo<br />
ж - zh<br />
з - z<br />
и - i<br />
й - j<br />
к - k<br />
л - l<br />
м - m<br />
н - n<br />
о - o<br />
п - p<br />
р - r<br />
с - s<br />
т - t<br />
у - u<br />
ф - f<br />
х - h<br />
ц - c<br />
ч - ch<br />
ш - sh<br />
щ - sch<br />
ъ - q<br />
ы - x<br />
ь - '<br />
э - ye<br />
ю - yu<br />
я - ya<br /><br />
А - A<br />
Б - B<br />
В - V<br />
Г - G<br />
Д - D<br />
Е - E<br />
Ё - YO<br />
Ж - ZH<br />
З - Z<br />
И - I<br />
Й - J<br />
К - K<br />
Л - L<br />
М - M<br />
Н - N<br />
О - O<br />
П - P<br />
Р - R<br />
С - S<br />
Т - T<br />
У - U<br />
Ф - F<br />
Х - H<br />
Ц - C<br />
Ч - CH<br />
Ш - SH<br />
Щ - SCH<br />
Ъ - Q<br />
Ы - X<br />
Э - YE<br />
Ю - YU<br />
Я - YA<br />
</p>";  	
  echo "<p><a href=\"send_privat.php?nick=$komu&amp;".session_name()."=".session_id()."\">К отправке сообщения</a></p>";  
  echo "<p><a href=\"./index.php?".session_name()."=".session_id()."\">В кабинет</a></p>";
}
  include'../../templates/foot.php';
 }
####################
if($_GET['send'] == 'bbcodes')
 {
  include '../../themes/'.$themes.'.php';
if ($portal=='off')
 {
  echo'<p align="center">'.$offmes.'</p>';
 }
if ($portal=='on')
 {
  echo '<p class="modul_name">BB коды</p>';
  bbcodes('show_list_bbcodes');
  echo "<p><a href=\"send_privat.php?nick=$komu&amp;".session_name()."=".session_id()."\">К отправке сообщения</a></p>";  
  echo "<p><a href=\"./index.php?".session_name()."=".session_id()."\">В кабинет</a></p>";
}
  include('../../templates/foot.php');
 }
####################
?>