Файл: lost.php
Строк: 102
<?
define('GCMS',true);
define('ROOT','./');
require_once (ROOT.'system/power.php');
if ($aut == false) {
$diz -> head('Восстановление пароля');
$diz -> title('Восстановление пароля');
$adm_m='lostpass@'.$_SERVER['SERVER_NAME'];
switch($do) {
///Сверяем данные
case 'relost':
$user_m = $db -> query("Select `id`,`email`,`login` FROM `users` WHERE `id` = '".$id."'");
if ($user_m -> num_rows > 0) {
$user=$user_m-> fetch_assoc();
$report = $db -> query("Select * FROM `report` WHERE `user` = '".$id."' and `text` = '".$mode."'");
if ($report -> num_rows > 0) {
$report=$report-> fetch_assoc();
$db -> query("DELETE FROM `report` WHERE `user` = '".$user['id']."' and `type`='lost'");
$pass=$func->capcha(true);
$passnew=md5(md5($pass));
$theme= language('Восстановление пароля');
$tex='<b>'.$user['login'].'</b>,'.language('Здравствуйте').'.<br />
'.language('Ваш пароль').': <b>'.$pass.'</b>';
$header.="From: "".$adm_m."" <".$adm_m.">n";
$header.="Subject: ".$theme."n";
$header.="Content-type: text/html; charset="utf-8"n";
if(mail($user['email'],$theme,$tex,$header)==true){
$db -> query("Update `users` SET `pass` = '".$passnew."' where `id`='".$user['id']."'");
$db -> query("DELETE FROM `report` WHERE `id` = '".$report['id']."'");
echo'<div class="fon">'.language('Новый пароль выслан на почту').'</div>';
}else echo '<div class="fon">'.language('Ошибка').'</div>';
}else header('Location: lost.php');
}else echo '<div class="fon">'.language('Пользователь не найден').'</div>';
break;
//поиск пользователя и его эмайла
case 'load':
switch($mode) {
case 'lost':
if(isset($_SESSION['code'])&&$_SESSION['code']==$act){
$user_m = $db -> query("Select `id`,`email` FROM `users` WHERE `id` = '".$id."' and `email`<>''");
if ($user_m -> num_rows > 0) {
$user=$user_m-> fetch_assoc();
$db -> query("DELETE FROM `report` WHERE `user` = '".$user['id']."' and `type`='lost'");
$rand=$func->capcha(true);
$db -> query("INSERT INTO `report` SET `user` = '".$user['id']."', `text` = '".$rand."',`type` = 'lost',`time` = '".time()."'");
$d=$db -> insert_id;
$report= $db -> query("Select * FROM `report` WHERE `id` = '".$d."'")-> fetch_assoc();
$theme= language('Восстановление пароля');
$tex='<b>'.$fuser->famname($user['id'],0).'</b>,'.language('Здравствуйте').'.<br />
'.language('Для восстановления вашего пароля от профиля на').' <b>'.$_SERVER['SERVER_NAME'].'</b><br />
'.language('Просто перейдите по ссылке').' <a href="http://'.$_SERVER['SERVER_NAME'].'/lost'.$report['user'].'&'.$report['text'].'">http://'.$_SERVER['SERVER_NAME'].'/lost'.$report['user'].'&'.$report['text'].'</a>
<br/>
'.language('Ссылка действительна до').' '.date('d.m.Y H:i:s',$report['time']+259200).' '.gmt($gmt_array).'';
$header.="From: "".$adm_m."" <".$adm_m.">n";
$header.="Subject: ".$theme."n";
$header.="Content-type: text/html; charset="utf-8"n";
if(mail($user['email'],$theme,$tex,$header)==true){
echo'<div class="fon">'.language('На ваш email').' ('.$fuser->email_mask($user['email']).') '.language('была выслана инструкция').'</div>';
}else echo'<div class="fon">'.language('Ошибка').'</div>';
}else echo'<div class="fon">'.language('Вы не указали адрес электронной почты').'</div>';
unset($_SESSION['code']);
}else header('Location: ?');
break;
//запрос подтверждения
default:
if($_POST['code'] != $_SESSION['code']){
echo '<div class="fon">'.language('Неверно введён проверочный код').'</div>';
} else {
if(preg_match("/[0-9]+/i",$_POST['login'])) $lost='id'; else $lost='login';
$login = shit($_POST['login']);
$count = $db -> query("Select `email`,`id` FROM `users` WHERE `".shit($lost)."` = '".$login."' and `email` <> ''");
if ($count -> num_rows > 0) {
$count=$count-> fetch_assoc();
echo '<div class="fon">';
echo '<table><tr valign="top"><td>
'.$fuser->avatar($count['id'],56,55,1).'</td>
<td>'.$fuser -> famname($count['id'],0);
echo '</td></tr></table>';
echo language('Это ваша учетная запись').'?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?id='.$count['id'].'&do=load&mode=lost&act='.$_POST['code'].'">'.language('Да').'</a>
<a class="dialog_m" href="?">'.language('Нет').'</a>
</div>';
} else echo '<div class="fon">'.language('Пользователь не найден').'</div>';
}
}
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
break;
///////////////////////////
default:
$_SESSION['code'] = $func->capcha(true);
echo '<div class="fon">'.language('Если вы утеряли свой пароль,то вы можете восстановить его по email').'<hr/>';
echo '<form action="?do=load" method="POST">';
echo language('Логин').'/ID:<br/>
<input type="text" name="login" value="" maxlength="12" required/></br>'.language('Введите код').':'.$diz -> img('code.php').'
<br/><input type="text" name="code" maxlength="4" required/></br>
<input type="submit" name="submit" value="'.language('Восстановить').'"/>
</form>
</div>';
}
echo '<div class="levo"><a href="'.ROOT.'" class="levo_tuch">'.$diz -> icon('home.png').' '.language('На главную').'</a></div>';
#####Копирайт#######
$diz -> out($msg);
} else header('location: '.ROOT);
?>