<?php
// mod by Golem http://veplog.ru
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/functions.php";
require_once"../template/antidos.php";
require_once"../template/cookies.php";
require_once"../template/gzip.php";
require_once"../template/header.php";
require_once"../template/referer.php";
include_once"../themes/$config_themes/index.php";
include_once"../template/isset.php";
echo '<div class="tp">Восстановление пароля</div>';
if ($provlog!=$_SESSION['log'] || $provpar!=md5($_SESSION['par'])) {
//---------------------- Форма для восстановления ------------------------------//
if(!isset($action)){
echo '<div class="body">Введите свой логин и код для проверки<br>';
echo 'Инструкция по восстановлению будет выслана на электронный адрес указанный в профиле<br>';
echo 'Восстанавливать пароль можно не чаще чем раз в 12 часов<br><br>';
if(!isset($_SESSION['mail_kod']) || $_SESSION['mail_kod']==""){
$_SESSION['mail_kod'] = mt_rand(1000,9999);
}
if($config_themes!="wml"){
echo '<form method="post" action="lostpassword.php?action=send&'.SID.'">';
echo 'Логин:<br>';
echo '<input name="logus" type="text" maxlength="20" value="'.$_COOKIE['cookname'].'" /><br>';
echo 'Проверочный код: ';
if($config_protectimg==1){
echo '<img src="'.BASEDIR.'gallery/protect.php?pkod='.xoft_encode($_SESSION['mail_kod'],$config_keypass).'" alt=""><br>';
}else{
echo '<b>'.$_SESSION['mail_kod'].'</b><br>';
}
echo '<input name="provkod" maxlength="6" /><br><br>';
echo '<input value="Получить пароль" type="submit" /></form>';
}else{
echo '<br>Логин:<br><input name="logus" maxlength="20" value="'.$_COOKIE['cookname'].'"/><br>';
echo 'Проверочный код: ';
if($config_protectimg==1){
echo '<img src="'.BASEDIR.'gallery/protect.php?pkod='.xoft_encode($_SESSION['mail_kod'],$config_keypass).'" alt=""><br>';
}else{
echo '<b>'.$_SESSION['mail_kod'].'</b><br>';
}
echo '<input name="provkod" maxlength="6"/><br>';
echo '<anchor>Получить пароль';
echo '<go href="lostpassword.php?action=send&'.SID.'" method="post">';
echo '<postfield name="logus" value="$(logus)"/>';
echo '<postfield name="provkod" value="$(provkod)"/>';
echo '</go></anchor><br>--------------------<br>';
}
}
//---------------------- Отправка данных для восстановления ------------------------------//
if($action=="send"){
if($_POST['logus']!=""){
if ($_SESSION['mail_kod']==$_POST['provkod']){
$logus = check($_POST['logus']);
$_SESSION['mail_kod'] = "";
if(file_exists(BASEDIR."local/profil/$logus.prof")){
$restore_key = xoft_encode(($sitetime + 43200),$config_keypass);
//------------------------------ Запись в профиль ----------------------------//
$ufile = file_get_contents(BASEDIR."local/profil/$logus.prof");
$udata = explode(":||:",$ufile);
if($udata[35]=="" || xoft_decode($udata[35],$config_keypass)<$sitetime){
$udata[35] = $restore_key;
for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}
if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$logus.prof","a+");
flock($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
unset($utext);
}
//---------------- Инструкция по восстановлению пароля на E-mail --------------------------//
if($udata[4]!=""){
addmail($udata[4], "Подтверждение восстановления пароля на сайте ".$config_title, "Здравствуйте, ".$udata[0]." \nВами была произведена операция по восстановлению пароля на сайте ".$config_home." \nДля того чтобы восстановить пароль, вам необходимо перейти по ссылке: \n\n".$config_home."/mail/lostpassword.php?action=restore&user=".$udata[0]."&key=".$restore_key." \n\nЕсли это письмо попало к вам по ошибке или вы не собираетесь восстанавливать пароль, то просто проигнорируйте его");
}
echo 'Письмо с инструкцией по востановлению пароля успешно выслано на E-mail указанный в профиле<br>';
echo 'Внимательно прочтите письмо и выполните все необходимые действия для восстановления пароля<br>';
echo 'Восстанавливать пароль можно не чаще чем раз в 12 часов<br>';
} else { echo '<b>Ошибка, с момента последнего восстановления пароля прошло менее 12 часов!</b><br>';}
} else { echo '<b>Ошибка, пользователя с данным логином не зарегестрирован!</b><br>';}
} else { echo '<b>Проверочное число не совпало с данными на картинке!</b><br>';}
} else { echo '<b>Ошибка, вы не ввели логин для восстановления!</b><br>';}
echo'- <a href="lostpassword.php?'.SID.'">Вернуться</a>';
}
//---------------------- Восстановления пароля ------------------------------//
if($action=="restore"){
if($_GET['user']!=""){
if($_GET['key']!=""){
$user=check(trim($_GET['user']));
$key=check(trim($_GET['key']));
if(file_exists(BASEDIR."local/profil/$user.prof")){
$newpass=generate_password();
$mdnewpas=md5($newpass);
//------------------------------ Запись в профиль ----------------------------//
$ufile = file_get_contents(BASEDIR."local/profil/$user.prof");
$udata = explode(":||:",$ufile);
if($udata[35]!="" && $udata[35]==$key){
$udata[1] = $mdnewpas;
$udata[35] = "";
for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}
if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$user.prof","a+");
flock($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
unset($utext);
}
//---------------- Восстановлению пароля на E-mail --------------------------//
if($udata[4]!=""){
addmail($udata[4], "Восстановление пароля на сайте ".$config_title, "Здравствуйте, ".$udata[0]." \nВаши новые данные для входа на на сайт ".$config_home." \nЛогин: ".$udata[0]." \nПароль: ".$newpass." \n\nЗапомните и постарайтесь больше не забывать данные, а лучше сделайте сразу закладку на наш сайт \n".$config_home."/input.php?login=".$udata[0]."&pass=".$newpass."&cookietrue=1 \nПароль вы сможете поменять в своем профиле \nВсего наилучшего");
}
header ("Location: ../index.php?isset=lostpass&".SID); exit;
} else { echo '<b>Ошибка, секретный код в ссылке не совпадает с данными в профиле!</b><br>';}
} else { echo '<b>Ошибка, пользователя с данным логином не зарегестрирован!</b><br>';}
} else { echo '<b>Ошибка, отсутствует секретный код в ссылке для восстановления пароля!</b><br>';}
} else { echo '<b>Ошибка, отсутствует логин в ссылке для восстановления пароля!</b><br>';}
}
} else { echo '<b>Ошибка! Вы авторизованы, восстановление невозможно</b><br>'; }
echo '</div><div class="btm">[<a href="../index.php?'.SID.'">На главную</a>]</div>';
include_once "../themes/$config_themes/foot.php";
?>