function logoutAction() { if (!User::factory()->_admin) { HTTP::redirect('backend/' . Route::controller() . '/login'); } User::factory()->logout(); HTTP::redirect('backend/' . Route::controller() . '/login'); }
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'); }
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)); }