Example #1
0
 function logoutAction()
 {
     if (!User::factory()->_admin) {
         HTTP::redirect('backend/' . Route::controller() . '/login');
     }
     User::factory()->logout();
     HTTP::redirect('backend/' . Route::controller() . '/login');
 }
Example #2
0
 public function confirmAction()
 {
     if (U::info()) {
         return Config::error();
     }
     if (!Route::param('hash')) {
         return Config::error();
     }
     $user = U::factory()->get_user_by_hash(Route::param('hash'));
     if (!$user) {
         return Config::error();
     }
     if ($user->status) {
         Message::GetMessage(0, 'Вы уже подтвердили свой E-Mail!');
         HTTP::redirect('/');
     }
     DB::update('users')->set(array('status' => 1, 'updated_at' => time()))->where('id', '=', $user->id)->execute();
     U::factory()->auth($user, 0);
     Message::GetMessage(1, 'Вы успешно зарегистрировались на сайте! Пожалуйста укажите остальную информацию о себе в личном кабинете для того, что бы мы могли обращаться к Вам по имени');
     HTTP::redirect('/user');
 }
Example #3
0
 public function forgot_passwordAction()
 {
     // Check incoming data
     $email = Arr::get($this->post, 'email');
     if (!$email or !filter_var($email, FILTER_VALIDATE_EMAIL)) {
         $this->error('Вы неверно ввели E-Mail!');
     }
     $user = DB::select('users')->where('email', '=', $email)->as_object()->execute()->current();
     if (!$user) {
         $this->error('Пользователя с указанным E-Mail адресом не существует!');
     }
     if (!$user->status) {
         $this->error('Пользователь с указанным E-Mail адресом либо заблокирован либо не подтвердил E-Mail адрес. Пожалуйста обратитесь к Администратору для решения сложившейся ситуации');
     }
     // Generate new password for user and save it to his account
     $password = User::factory()->generate_random_password();
     User::factory()->update_password($user->id, $password);
     // Send E-Mail to user with instructions how recover password
     $mail = DB::select()->from('mail_templates')->where('id', '=', 5)->where('status', '=', 1)->as_object()->execute()->current();
     if ($mail) {
         $from = array('{{site}}', '{{ip}}', '{{date}}', '{{password}}');
         $to = array(Arr::get($_SERVER, 'HTTP_HOST'), System::getRealIP(), date('d.m.Y H:i'), $password);
         $subject = str_replace($from, $to, $mail->subject);
         $text = str_replace($from, $to, $mail->text);
         Email::send($subject, $text, $user->email);
     }
     $this->success('На указанный E-Mail адрес выслан новый пароль для входа');
     // $this->success(array('password' => $password));
 }