Esempio n. 1
0
 function restore_pwd()
 {
     $answer = array();
     //ответ
     //считываем данные
     $login = null;
     if (isset($_POST["login"])) {
         $login = $_POST["login"];
         $user = Users::getUser(array("login" => $login));
         if (empty($user)) {
             //если пользователь не найден
             //возвращаем текст ошибки
             $answer["error"] = array("msg" => "Пользователь не найден", "field" => "login");
             return json_encode($answer);
         }
         $pwd = Crypt::password_generate(6);
         $error = Users::setUserPassword(array("login" => $login, "pwd1" => $pwd, "pwd2" => $pwd));
         if ($error !== Users::ERROR_NOT) {
             //в случае ошибки возвращаем текст ошибки
             $answer["error"]["field"] = "submit";
             $answer["error"]["msg"] = Users::errorMsg($error);
             return $answer;
         }
         if (!mail($login, "Пароль на MIR-NDV", "Ваш новый пароль: " . $pwd)) {
             $answer["error"] = array("msg" => "Извините, но не удалось отправить письмо на Ваш почтовый ящик " . $login);
             return json_encode($answer);
         }
         $answer["success"] = array("msg" => "На Ваш почтовый ящик " . $login . " отправлено письмо с новым паролем ");
         return json_encode($answer);
     } else {
         //если uid не задан
         //возвращаем текст ошибки
         $answer["error"] = array("msg" => "Пользователь не указан", "field" => "login");
         return json_encode($answer);
     }
     $answer["error"] = array("msg" => "Извините, но не удалось восстановить пароль. Попробуйте повторить еще раз.");
     return json_encode($answer);
 }