Пример #1
0
 public function recover_passwAction()
 {
     // Проверка капчи
     if (!system::validCapcha('random_image')) {
         $answer = array('msg' => lang::get('SITE_CAPHCA'), 'field' => 'captcha');
         if (system::isAjax()) {
             system::json($answer);
         } else {
             system::savePostToSession();
             system::saveErrorToSession('recover', $answer);
             system::redirect('/users/recover');
         }
     }
     // Ищем нужного пользователя
     if (empty($answer)) {
         $sel = new ormSelect('user');
         $sel->where($sel->logOR($sel->val('login', '=', system::POST('login_or_email')), $sel->val('email', '=', system::POST('login_or_email'))));
         $sel->limit(1);
         if ($user = $sel->getObject()) {
             // Формируем временный ключ восставновления
             $key = md5(date('d.m.Y') . $user->id);
             $user->md5_flag = $key;
             $user->save();
             // Отправляет письмо с инструкциями
             $url_pre = 'http://' . domains::curDomain()->getName() . languages::pre();
             page::assign('url', $url_pre . '/users/send_passw/' . $key);
             page::assign('login', $user->login);
             page::assign('name', $user->name);
             system::sendMail('/users/mails/recover1.tpl', $user->email);
         }
     }
     if (system::isAjax()) {
         system::json(array('ok' => 1));
     } else {
         system::redirect('/users/ok/recover');
     }
 }