Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Controller_auth_app extends Controller_auth
- {
- function render_authed()
- {
- $view = new View_page('authed');
- return $view->render();
- }
- function render_restricted()
- {
- $this->_redirect('shop_control_panel');
- $view = new View_page('restricted');
- return $view->render();
- }
- function pass_recover()
- {
- $view = new View_page('pass_recover');
- $view->set('error', '');
- $view->set('success', '');
- if(isset($_POST['submit'])) {
- $login_email = Cvar::post('login_email', Cvar::STR, '1,255', '');
- if(!$login_email) {
- $view->set('error', Error_msg::get('form_input_error_app'));
- return $view->render();
- }
- $email = '';
- $login = '';
- if(preg_match(cfg('input.email.regx'), $login_email)) {
- $email = $login_email;
- }
- else {
- $login = $login_email;
- }
- try
- {
- $db = new Model_auth_app;
- if($email) {
- $user = $db->pass_recover_by_email($email);
- }
- else {
- $user = $db->pass_recover_by_login($login);
- }
- if($user) {
- $pass_recover_key = rnd_hash(32) . rnd_hash(32);
- $db->set_pass_recover($user['id'], $pass_recover_key);
- Mailer::send($user['email'], 'user_pass_recover', array(
- 'pass_recover_key' => $pass_recover_key
- ));
- Mailer::notify('pass_recover_request', array(
- 'login' => $user['login'],
- 'email' => $user['email'],
- 'ip' => Client::ip(),
- ));
- }
- }
- catch(Exception $e) {
- $view->set('error', Error_msg::get('form_process_error_app'));
- return $view->render();
- }
- $this->_redirect('auth/pass_recover?success=1');
- }
- if(isset($_GET['success']) && $_GET['success']) {
- $view->set('success', 1);
- return $view->render();
- }
- return $view->render();
- }
- function pass_reset()
- {
- $pass_recover_key = $this->_get_route_param('pass_recover_key', Cvar::STR, '1,64', '');
- $view = new View_page('pass_reset');
- $view->set('key_error', '');
- $view->set('submit_error', '');
- $view->set('success', '');
- if(isset($_POST['submit'])) {
- $error = '';
- $pass = Cvar::post('pass', Cvar::REGX, cfg('input.pass.regx'), '');
- $err_code = Cvar::get_err_code();
- if($err_code == Cvar::ERR_MISMATCH_PATTERN) {
- $error = Error_msg::get('form_data_process_error');
- }
- $pass_repeat = Cvar::post('pass_repeat', Cvar::REGX, cfg('input.pass.regx'), '');
- $err_code = Cvar::get_err_code();
- if($err_code == Cvar::ERR_MISMATCH_PATTERN || $pass_repeat != $pass) {
- $error = Error_msg::get('form_data_process_error');
- }
- if(!$pass_recover_key) {
- $error = Error_msg::get('form_data_process_error');
- }
- if($error) {
- $view->set('submit_error', $error);
- return $view->render();
- }
- try {
- $db = new Model_auth_app;
- $user_id = $db->get_user_id_by_pass_recover_key($pass_recover_key);
- if(!$user_id) {
- $view->set('submit_error', Error_msg::get('form_data_process_error'));
- return $view->render();
- }
- $db->set_new_pass_by_user_id($user_id, Auth::md5_pass($pass));
- }
- catch(Exception $e) {
- $view->set('submit_error', Error_msg::get('form_process_error_app'));
- return $view->render();
- }
- $this->_redirect('auth/pass_reset?success=1');
- }
- if(isset($_GET['success']) && $_GET['success']) {
- $view->set('success', 1);
- return $view->render();
- }
- if(!$pass_recover_key) {
- $view->set('key_error', 1);
- return $view->render();
- }
- $db = new Model_auth_app;
- $user_id = $db->get_user_id_by_pass_recover_key($pass_recover_key);
- if(!$user_id) {
- $view->set('key_error', 1);
- return $view->render();
- }
- return $view->render();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement