View file modules/sovet/index.php

File size: 9.24Kb
<?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 = 'Советует сайт другу';
include '../../themes/'.$themes.'.php';
####################
$mail_flood = '../../data/flood_mail.txt';
$mail_flood_list = file($mail_flood);
$flood_time = time();

# Ошибка! Антифлуд
  if($_GET['err'] == 'flood')
   {
    $ip = filter($_SERVER['REMOTE_ADDR']);
    $flood_sec = 0;
    foreach ($mail_flood_list as $key => $string) 
     {
      $flood_arr = explode('|', $string);
      if(trim($flood_arr[0]) == $ip && trim($flood_arr[1]) + 30 >= $flood_time) 
       {
        $flood_sec = (trim($flood_arr[1]) + 30) - $flood_time;
        break;
       }
     }
    echo"<p class=\"err\">Флуд!!! Вы слишком часто отправляете e-mail. E-mail можно отправлять один раз в 30 сек. Подождите еще $flood_sec сек.</p>";
   }
  # Ошибка! Антифлуд
  
echo '<p class="modul_name">Посоветуй наш сайт своему другу.</p>';

if($_GET['mailing'] == 1)
  {
    echo'<p class="b">Спасибо, за то, что посоветовали наш сайт своему другу.</p>';
  }

if($_GET['err'] == 1)
  {
    echo'<p class="err">Ошибка!!! Вы не ввели e-mail друга.</p>';
  }
if($_GET['err'] == 2)
  {
    echo'<p class="err">Ошибка!!! Вы не ввели проверочное число.</p>';
  }
if($_GET['err'] == 3)
  {
    echo'<p class="err">Ошибка!!! Вы неверно ввели проверочное число.</p>';
  }
if($_GET['err'] == 4)
  {
    echo'<p class="err">Ошибка!!! Ваш IP и браузер забанены!</p>';
  }
if($_GET['err'] == 5)
  {
    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>";
  }
####################
if ($_GET['view']=='')
 {
  if(isset($_SESSION['sespass']) && isset($passw) && $_SESSION['sespass'] == $passw)
   {
    echo '<form method="post" action="index.php?view=1&amp;'.session_name().'='.session_id().'">';
    echo '<p class="b">';
    echo '<font color="'.$color_red.'">*</font>e-mail друга:';
    echo '<br /><input type="text" name="mail" maxlength="50" value=""/><br />';
    if(empty($name))
     {
      echo 'Ваше имя:<br /><input type="text" name="name" maxlength="50" value=""/><br /><br />';
     }
    echo '<input type="submit" name="do" value="Посоветовать"/></p></form>';
   }
    else
   {
    $rand = rand(1000, 9999);
    $_SESSION['rand'] = $rand;
    echo '<form method="post" action="index.php?view=1&amp;'.session_name().'='.session_id().'">';
    echo '<p class="b">';
    echo 'Ваш e-mail:';
    echo '<br /><input type="text" name="vashmail" maxlength="50" value="" /><br />';
    echo '<font color="'.$color_red.'">*</font>e-mail друга:';
    echo '<br /><input type="text" name="mail" maxlength="50" value="" /><br />';
    echo 'Ваше имя:';
    echo '<br /><input type="text" name="name" maxlength="50" value="" /><br />';
    echo '<font color="'.$color_red.'">*</font>Проверочное число <font color="'.$color_red.'">'.$rand.'</font>:<br /><input size="4" maxlength="4" name="imgrand" value="" /><br /><br />';
    echo '<input type="submit" name="do" value="Посоветовать" /></p></form>';
   }
  
  echo '<p><font color="'.$color_red.'">*</font> - поля, обязательные для заполнения<br /><br /></p>';
  $viewsov = file('../../data/sovet.txt');
  echo '<p>Наш сайт посоветовали '.$viewsov[0].' раз</p>';
 }
####################
if($_GET['view']==1)
 {
  $tema = 'Вам посоветовали сайт '.$home;
  $to_email = filter($_POST['mail']);
  
  if(isset($_SESSION['sespass']) && isset($passw) && $_SESSION['sespass'] == $passw)
   {
    $ot_email = $email;
   }
    else
   {
    $gost = 'Гость';
    $name = filter($_POST['name']);
    if(empty($_POST['vashmail']))
     {
      $ot_email = $emailadmina;
     }
      else
     {
      $ot_email = filter($_POST['vashmail']);
     }
   }
####################
  $banlist = file('../../data/ban.txt');
  $ip = filter($_SERVER['REMOTE_ADDR']);
  $agent = $_SERVER['HTTP_USER_AGENT'];
  $brauzer = strtok($user_agent,' ');
  $brauzer = filter($brauzer);
  $ban =  $brauzer.'||'.$ip;
  foreach ($banlist as $key => $string) 
   {
    if($ban == trim(array_shift($banlist))) 
     { 
      $errb = '1';
     }
   }
  $date_now = date ('YmdHis', time() + ($sdvigclock*3600));
  if($bantime > $date_now)
   {
    $errb = '2';
   }
   
  # Проверка на флуд
  $flood = 0;
  foreach ($mail_flood_list as $key => $string) 
   {
    $flood_arr = explode('|', $string);
    if(trim($flood_arr[0]) == $ip && trim($flood_arr[1]) + 30 >= $flood_time) 
     {
      $flood = 1;
      break;
     }
   }
  # Проверка на флуд
####################
  if(empty($to_email))
   {
    header('Location: index.php?err=1');
   }
  elseif($gost=='Гость' && empty($_POST['imgrand']))
   {
    header('Location: index.php?err=2');
   }
  elseif($gost=='Гость' && $_POST['imgrand']!=$_SESSION['rand'])
   {
    header('Location: index.php?err=3');
   }
  elseif($gost=='Гость' && $errb == '1')
   {
    header('Location: index.php?err=4');
   }
  elseif($errb == '2')
   {
    header('Location: index.php?err=5');
   }
  elseif($flood == 1)
   {
    header('Location: index.php?err=flood');
   }
  else
   {
    $text = "Здравствуйте. Вам ваш друг(подруга) $name посоветовал(а) зайти на наш сайт $home\nЭто значит, что вашему другу(подруге) $name очень понравился этот сайт\n\n<a href=\"$home\">Перейти на сайт $home</a>\n\nС уважением, администратор сайта $home";
    
    $utfwin = array("А"=>"\xC0", "Б"=>"\xC1", "В"=>"\xC2", "Г"=>"\xC3", "Д"=>"\xC4", "Е"=>"\xC5", "Ё"=>"\xA8", "Ж"=>"\xC6", "З"=>"\xC7", "И"=>"\xC8", "Й"=>"\xC9", "К"=>"\xCA", "Л"=>"\xCB", "М"=>"\xCC", "Н"=>"\xCD", "О"=>"\xCE", "П"=>"\xCF", "Р"=>"\xD0", "С"=>"\xD1", "Т"=>"\xD2", "У"=>"\xD3", "Ф"=>"\xD4", "Х"=>"\xD5", "Ц"=>"\xD6", "Ч"=>"\xD7", "Ш"=>"\xD8", "Щ"=>"\xD9", "Ъ"=>"\xDA", "Ы"=>"\xDB", "Ь"=>"\xDC", "Э"=>"\xDD", "Ю"=>"\xDE", "Я"=>"\xDF", "а"=>"\xE0", "б"=>"\xE1", "в"=>"\xE2", "г"=>"\xE3", "д"=>"\xE4", "е"=>"\xE5", "ё"=>"\xB8", "ж"=>"\xE6", "з"=>"\xE7", "и"=>"\xE8", "й"=>"\xE9", "к"=>"\xEA", "л"=>"\xEB", "м"=>"\xEC", "н"=>"\xED", "о"=>"\xEE", "п"=>"\xEF", "р"=>"\xF0", "с"=>"\xF1", "т"=>"\xF2", "у"=>"\xF3", "ф"=>"\xF4", "х"=>"\xF5", "ц"=>"\xF6", "ч"=>"\xF7", "ш"=>"\xF8", "щ"=>"\xF9", "ъ"=>"\xFA", "ы"=>"\xFB", "ь"=>"\xFC", "э"=>"\xFD", "ю"=>"\xFE", "я"=>"\xFF");
    
    $tema = strtr($tema, $utfwin);
    $text = strtr($text, $utfwin);
    $name = strtr($name, $utfwin);
    $tema = convert_cyr_string($tema, 'w', 'k');
    $text = convert_cyr_string($text, 'w', 'k');
    $name = convert_cyr_string($name, 'w', 'k');
    
    $tema = '=?KOI8-R?B?'.base64_encode($tema).'?=';
    
    $headers = "From: \"".$name."\" <".$ot_email.">\n"; 
    $headers .= "X-sender: \"".$name."\" <".$ot_email.">\n";
    $headers .= "Content-Type: text/plain; charset=koi8-r\n";   
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Transfer-Encoding: 8bit\r\n";
    $headers .= "X-Mailer: PHP v.".phpversion();
  
    mail($to_email, $tema, $text, $headers);

    $viewsov = file('../../data/sovet.txt');
    $i = $viewsov[0] + 1;
    $base = ('../../data/sovet.txt');
    
    write_to_file($base, $i);
    
    # Запись в базу антифлуда
    $flood_list_new = $ip.'|'.$flood_time."\r\n";
    foreach ($mail_flood_list as $key => $string) 
     {
      $flood_arr = explode('|', $string);

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

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

    header('Location: index.php?mailing=1');
   }
 }
####################
include ('../../templates/foot.php');
?>