View file modules/kabinet/set_pass.php

File size: 6.34Kb
<?php
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
$title_page = 'Смена пароля';
$m_polozhenie = 'Меняет свой пароль';
####################
if(isset($_SESSION['sespass']) && isset($passw) && $_SESSION['sespass'] == $passw)
 {
####################

if(empty($_GET['edit']))
 {

  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'] == 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'] == 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['set'] == 1)
   {
echo"<p class=\"b\"><img src=\"/themes/chuma/es.gif\"> Пароль изменен.</p>";
   }
echo"<form method=\"post\" action=\"set_pass.php?edit=1&amp;".session_name()."=".session_id()."\">";
echo"<p class=\"b\">";
  echo"Внимание! В поле пароль разрешено использовать только знаки латинского алфавита и цифры,
       а также знак тире!<br /></p>";
  echo"<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><a href=\"index.php?".session_name()."=".session_id()."\">В кабинет</a><br /></p>";
}
  include'../../templates/foot.php';
 }
####################
if(@$_GET['edit'] == 1)
 {
  $tekpass = filter($_POST['tekpass']);
  $newpass = filter($_POST['newpass']);
  $newpass2 = filter($_POST['newpass2']);
  
  if(empty($tekpass))
   {
    header("Location: set_pass.php?err=1&".session_name()."=".session_id()."");
   }
  elseif(empty($newpass))
   {
    header("Location: set_pass.php?err=2&".session_name()."=".session_id()."");
   }
  elseif(empty($newpass2))
   {
    header("Location: set_pass.php?err=3&".session_name()."=".session_id()."");
   }
  elseif(md5(md5($tekpass)) != $passw)
   {
    header("Location: set_pass.php?err=4&".session_name()."=".session_id()."");
   }
  elseif($newpass != $newpass2)
   {
    header("Location: set_pass.php?err=5&".session_name()."=".session_id()."");
   }
  elseif(!preg_match("#^[-a-zA-Z0-9]*$#", $newpass))
   {
    header("Location: set_pass.php?err=6&".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', "<?php\r\n/*\r\n$str_to_user_file\r\n*/\r\n?>");
    
    $subject  = 'Смена пароля на сайте '.$home;
    $mail     = "Здравствуйте. Вы успешно изменили пароль на сайте $home\n\nВаши данные для входа:\nЛогин: $login\nПароль: $newpass\n\nЭто письмо сгенерировано автоматически, и отвечать на него нет смысла";

    $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");
  
    $subject = strtr($subject, $utfwin);
    $mail = strtr($mail, $utfwin);

    $subject = convert_cyr_string($subject, 'w', 'k');
    $mail = convert_cyr_string($mail, 'w', 'k');
    
    $subject = '=?KOI8-R?B?'.base64_encode($subject).'?=';
    
    $headers  = "From: <".$emailadmina.">\n"; 
    $headers .= "X-sender: <".$emailadmina.">\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($email, $subject, $mail, $headers);
    
    $home_url = str_replace('http://','',$home);
    setcookie('copass', $passw, time()+3600*24*365, '/', $home_url);
    $_SESSION['sespass'] = $passw;

    header ("Location: set_pass.php?set=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>";
  echo"<p><a href=\"index.php?".session_name()."=".session_id()."\">В кабинет</a><br /></p>";
}
  include'../../templates/foot.php';
 }
####################
?>