востановление пароля


создание страницы востановление пароля (частный случай)

Параметры:

востановление пароля

код шаблона

<form action="" id="recovery-passwd" method="post" class="form-personal col-md-12" role="form" onsubmit=" var parstr = jQuery('#recovery-passwd').serialize(); doAjRouteJSON('personal-area/do/do_recovery_pass.php','personal_res','&'+parstr,'','','');return false;">
<div class="form-group clearfix">
<label for="EMAIL" class="col-md-3 control-label">Введите Ваш Email</label>
<div class="input-group clearfix">
<input type="text" class="form-control" name="EMAIL">
</div>
</div>
<p>Временный пароль прийдет к вам на Email, после чего Вы сможете зайти к себе в кабинет и сменить пароль.</p>
<button type="submit" class="btn btn-block btn-lg">Сохранить</button>
</form>
<div class="col-md-12" id="personal_res"></div>

код файла do

<?php
$json_array = array('html'=>'','html2'=>'','js'=>''); // то что вернется
$EMAIL = ''; if (isset($_GET['EMAIL'])); @$EMAIL = $_GET['EMAIL']; // Получаем параметры
global $m_conf;
$error = '';
$mess2='';
if (!$EMAIL) $error .= 'Не указан e-mail';
elseif(!strpos($EMAIL,"@")) $error .='Введен не коректний e-mail!';
if (!$error)
{
$na=GetFieldsFromSQL($this->conn, "SELECT ID, NAZ, CANLOGIN, ENAB FROM PERSONA WHERE (EMAIL=".sqlSTR($EMAIL).") AND ID>0 ", array(0,0,0,0));
if(!$na[0]) $error.='Данный пользователь не найден!';
elseif(!$na[2])
{
$error = "Вам запрещено регистрироваться";
}
elseif (!$na[3])
{
$error = "У Вас отключена возможность регистрации!";
}
if (!$error)
{
$ran=rand(72452,99345);
$newpass=date('Ymd').md5($ran);
$no = NewObject($this->conn,'TPersona',$na[0]);
$no->check_rights = false;
$no->sf('UPASTMP',$newpass);
$NAME=$no->gf('IMIA');
$LNAME=$no->gf('FAMILIA');
$s = $no->BaseUpdate();
if ($s) $error = 'Возникла ошибка сохранения пользователя';
# отправка письма пользователю
$mess_templ = NewObject($this->conn,'TCms_mess_template');
$s = $mess_templ->FindByCode("site_password_recovery");
if ($s) $error.=$s; //Ошибка
else
{
$ar = array('NAME'=>$NAME,'ULGN'=>$EMAIL,'TEMPUPAS'=>$ran,'LNAME'=>$LNAME,'UPASTMP'=>$newpass);
$to = $EMAIL;
$mess_templ->Send($to,$ar);
$mess2 = 'Временный пароль отправлен на '.$EMAIL." ";
}
}
}
if ($error)
$json_array['html'] = "<div class="c-red bg-danger">".hsc($error)."</div>"; // Возврат в блок в шаблоне
elseif ($mess2)
$json_array['html'] = "<div class="c-green bg-success">".hsc($mess2)."</div>";
if (!$error)
{
$loc = $m_conf['host'].'';
//$json_array['js'] = "window.location='$loc';";
}
die(json_encode($json_array));
?>