Файл: modules/kabinet/edit_profile.php
Строк: 205
<?php
########################################
##               WAP-ENGINE             ##
########################################
##                                    ##
##  Автор : CHUMA (Токарев Владимир)  ##
##  e-mail : crazychuma@gmail.com     ##
##  WAP : http://wap-engine.ru        ##
##                                    ##
########################################
##         ВЫ НЕ ИМЕЕТЕ ПРАВО         ##
##        ИЗМЕНЯТЬ КОД СКРИПТА        ##
##  ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ!  ##
########################################
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
$title_page = '| Редактирование профиля';
$m_polozhenie = 'Редактирует профиль';
####################
if(isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw)
 {
####################
if(empty($_GET['edit']))
 {
  include '../../themes/'.$themes.'.php';
  echo'<p class="modul_name">Редактирование профиля</p>';
  if($_GET['err'] == 1)
   {
    echo"<p class="err">Ошибка!!! Имя не может быть больше 30 символов. А также имя может состоять только из знаков русского или латинского алфавита, пробела, скобок и знаков _ -.</p>";
   }
  if($_GET['err'] == 2)
   {
    echo"<p class="err">Ошибка!!! Не правильный формат адреса сайта.</p>";
   }
  if($_GET['err'] == 3)
   {
    echo"<p class="err">Ошибка!!! Номер ICQ введен не верно.</p>";
   }
  if($_GET['err'] == 4)
   {
    echo"<p class="err">Ошибка!!! Поле "Откуда" не может быть больше 30 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок и знаков _ -.</p>";
   }
  if($_GET['err'] == 5)
   {
    echo"<p class="err">Ошибка!!! Модель телефона не может быть больше 30 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок и знаков _ -.</p>";
   }
  if($_GET['err'] == 6)
   {
    echo"<p class="err">Ошибка!!! Оператор не может быть больше 20 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок и знаков _ -.</p>";
   }
  if($_GET['err'] == 7)
   {
    echo"<p class="err">Ошибка!!! Не правильно введена дата рождения.</p>";
   }
  if($_GET['err'] == 8)
   {
    echo"<p class="err">Ошибка!!! Вы выбрали не существующий пол.</p>";
   }
   
  if($_GET['err'] == 9)
   {
    echo"<p class="err">Ошибка!!! Вы не ввели текущий пароль.</p>";
   }
  if($_GET['err'] == 10)
   {
    echo"<p class="err">Ошибка!!! Вы не ввели новый пароль.</p>";
   }
  if($_GET['err'] == 11)
   {
    echo"<p class="err">Ошибка!!! Вы не ввели повтор нового пароля пароль.</p>";
   }
  if($_GET['err'] == 12)
   {
    echo"<p class="err">Ошибка!!! Вы ввели не правильно текущий пароль.</p>";
   }
  if($_GET['err'] == 13)
   {
    echo"<p class="err">Ошибка!!! Новый пароль и повтор пароля не совпадают.</p>";
   }
  if($_GET['err'] == 14)
   {
    echo"<p class="err">Ошибка!!! В поле "Новый пароль" разрешено использовать только знаки латинского алфавита и цифры, а также знак тире!</p>";
   }
  if($_GET['err'] == 15)
   {
    echo"<p class="err">Ошибка!!! Поле "О себе" не может быть больше 500 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок, знаков пунктуации и знаков _ -.</p>";
   }
   
  if($_GET['set'] == 1)
   {
    echo"<p class="b">Профиль успешно сохранен.</p>";
   }
  if($_GET['set'] == 2)
   {
    echo"<p class="b">Пароль успешно изменен.</p>";
   }
   
  echo"<form method="post" action="edit_profile.php?edit=1&".session_name()."=".session_id().""><p class="b">";
  echo"Логин: $login<br />";
  echo"E-mail: $email<br />";
  if($show_mail == "1")
   { echo"<input type="checkbox" name="show_mail" value="1" checked="checked" /> "; } else
   { echo"<input type="checkbox" name="show_mail" value="1" /> "; }
  echo"Показывать e-mail на сайте<br />";
  echo"Настоящее имя:<br /><input name="name" value="$name" maxlength="30" /><br />";
  echo"Ваш сайт без слэша(/) в конце:<br /><input name="site" value="$site" /><br />";
  echo"ICQ:<br /><input name="icq" value="$icq" maxlength="15" /><br />";
  echo"Откуда:<br /><input name="otkuda" value="$otkuda" maxlength="30" /><br />";
  echo"Модель телефона:<br /><input name="modelphone" value="$modelphone" maxlength="30" /><br />";
  echo"Оператор:<br /><input name="operator" value="$operator" maxlength="20" /><br />";
  echo"Дата рожд.(дд-мм-гггг):<br /><input name="data_rozhd" value="$data_rozhd" maxlength="10" /><br />";
  echo"Ваш пол:<br />";
  if($pol=="1"){echo"<input name="pol" type="radio" value="1" checked="checked" />";} else {echo"<input name="pol" type="radio" value="1" />";} echo"Мужской<br />";
  if($pol=="0"){echo"<input name="pol" type="radio" value="0" checked="checked" />";} else {echo"<input name="pol" type="radio" value="0" />";}  echo"Женский<br />";
  echo"О себе:<br /><input name="o_sebe" value="$o_sebe" maxlength="500" /><br />";
  echo"<input value="Применить" type="submit" /></p></form>";
  
  echo'<p class="modul_name">Смена пароля</p>';
  echo"<form method="post" action="edit_profile.php?edit=2&".session_name()."=".session_id().""><p class="b">";
  echo"Текущий пароль:<br /><input name="tekpass" type="password" value="" /><br />";
  echo"Новый пароль:<br /><input name="newpass" type="password" value="" /><br />";
  echo"Повторите новый пароль:<br /><input name="newpass2" type="password" value="" /><br />";
  echo"<input value="Применить" type="submit" /></p></form>";
  echo"<p class="b">";
  echo"Внимание! В поле пароль разрешено использовать только знаки латинского алфавита и цифры,
       а также знак тире!<br />";
  echo"</p>";
  echo"<p><a href="index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
  include'../../templates/foot.php';
 }
####################
if(@$_GET['edit'] == 1)
 {
  $name = filter($_POST['name']);
  $site = filter($_POST['site']);
  $otkuda = filter($_POST['otkuda']);
  $modelphone = filter($_POST['modelphone']);
  $operator = filter($_POST['operator']);
  if($_POST['show_mail'] == 1)
   { $show_mail = '1'; } else
   { $show_mail = '0'; }
  
  if(empty($site))
   {
    $site = 'http://';
   }
  $icq = filter($_POST['icq']);
  $data_rozhd = filter($_POST['data_rozhd']);
  $pol = filter($_POST['pol']);
  $o_sebe  = filter($_POST['o_sebe']);
  
  if(!preg_match("/^[-a-zA-Zа-яА-ЯЁё_ ()]{0,30}$/u", $name))
   {
    header("Location: edit_profile.php?err=1&".session_name()."=".session_id()."");
   }
  elseif($site != "http://" and !preg_match("#^http://[-a-zA-Z0-9_.]*.[a-zA-Z0-9]{2,4}$#", $site))
   {
    header("Location: edit_profile.php?err=2&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("#^[-0-9]{0,15}$#", $icq))
   {
    header("Location: edit_profile.php?err=3&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_ ()]{0,30}$/u", $otkuda))
   {
    header("Location: edit_profile.php?err=4&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_ ()]{0,30}$/u", $modelphone))
   {
    header("Location: edit_profile.php?err=5&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_ ()]{0,20}$/u", $operator))
   {
    header("Location: edit_profile.php?err=6&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("#^[0-9]{2}-[0-9]{2}-[0-9]{4}$#", $data_rozhd))
   {
    header("Location: edit_profile.php?err=7&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("#^[0]{1}|[1]{1}$#", $pol))
   {
    header("Location: edit_profile.php?err=8&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_.,:!? ()]{0,500}$/u", $o_sebe))
   {
    header("Location: edit_profile.php?err=15&".session_name()."=".session_id()."");
   }
  else
   {
    $str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
    write_to_file('../../data/users/'.$login.'.php', "<?phprn/*rn$str_to_user_filern*/rn?>");
    header ('Location: edit_profile.php?set=1&'.session_name().'='.session_id().'');
   }
 }
####################
if(@$_GET['edit'] == 2)
 {
  $tekpass = filter($_POST['tekpass']);
  $newpass = filter($_POST['newpass']);
  $newpass2 = filter($_POST['newpass2']);
  
  if(empty($tekpass))
   {
    header("Location: edit_profile.php?err=9&".session_name()."=".session_id()."");
   }
  elseif(empty($newpass))
   {
    header("Location: edit_profile.php?err=10&".session_name()."=".session_id()."");
   }
  elseif(empty($newpass2))
   {
    header("Location: edit_profile.php?err=11&".session_name()."=".session_id()."");
   }
  elseif(md5(md5($tekpass)) != $passw)
   {
    header("Location: edit_profile.php?err=12&".session_name()."=".session_id()."");
   }
  elseif($newpass != $newpass2)
   {
    header("Location: edit_profile.php?err=13&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("#^[-a-zA-Z0-9]*$#", $newpass))
   {
    header("Location: edit_profile.php?err=14&".session_name()."=".session_id()."");
   }
  else
   {
    $passw = md5(md5($newpass));
    
    $str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
    write_to_file('../../data/users/'.$login.'.php', "<?phprn/*rn$str_to_user_filern*/rn?>");
    
    $subject  = "Смена пароля на сайте $home";
    $mail     = "Здравствуйте. Вы успешно изменили пароль на сайте $homennВаши данные для входа:nЛогин: $loginnПароль: $newpassnnЭто письмо сгенерировано автоматически, и отвечать на него нет смысла";
    $headers  = "From: <".$emailadmina.">n"; 
    $headers .= "X-sender: <".$emailadmina.">n";
    $headers .= "Content-Type: text/plain; charset=utf-8n";   
    $headers .= "MIME-Version: 1.0rn";
    $headers .= "Content-Transfer-Encoding: 8bitrn";
    $headers .= "X-Mailer: PHP v.".phpversion();
    mail($email, $subject, $mail, $headers);
    
    $home_url = str_replace("http://","",$home);
    setcookie("copass", $passw, time()+3600*24*365, "/", "$home_url");
    $_SESSION['pass'] = $passw;
    header ("Location: edit_profile.php?set=2&".session_name()."=".session_id()."");
   }
 }
####################
 }
  else
 {
  include '../../themes/'.$themes.'.php';
  echo"<p class="b">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
  echo"<p><a href="index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
  include'../../templates/foot.php';
 }
####################
?>