public function create($params) { $status = Response::STATUS_BAD_REQUEST; $data = array(); $email = $this->safeGet($params, 'email', null); if ($email) { $status = Response::STATUS_NOT_FOUND; $notify = $this->safeGet($params, 'notify', false); $result = fn_recover_password_generate_key($email, $notify); if ($result) { $status = Response::STATUS_CREATED; if ($notify) { $data = array('message' => __('text_password_recovery_instructions_sent')); } else { $link = 'auth.ekey_login?ekey=' . $result['key'] . '&company_id=' . $result['company_id']; if ($redirect_url = $this->safeGet($params, 'redirect_url', '')) { $link .= '&redirect_url=' . urlencode($redirect_url); } $data = array('key' => $result['key'], 'link' => fn_url($link, $result['user_type'], 'current', CART_LANGUAGE, true)); } } } return array('status' => $status, 'data' => $data); }
// Log user failed login fn_log_event('users', 'failed_login', array('user' => $user_login)); $auth = array(); fn_set_notification('E', __('error'), __('error_incorrect_login')); fn_save_post_data('user_login'); return array(CONTROLLER_STATUS_REDIRECT, $redirect_url); } unset($_SESSION['edit_step']); } // // Recover password mode // if ($mode == 'recover_password') { $user_email = !empty($_REQUEST['user_email']) ? $_REQUEST['user_email'] : ''; $redirect_url = ''; if (!fn_recover_password_generate_key($user_email)) { $redirect_url = "auth.recover_password"; } } // // Change expired password // if ($mode == 'password_change') { fn_restore_processed_user_password($_REQUEST['user_data'], $_POST['user_data']); if (fn_update_user($auth['user_id'], $_REQUEST['user_data'], $auth, false, true)) { $redirect_url = !empty($_REQUEST['return_url']) ? $_REQUEST['return_url'] : ''; } else { $redirect_url = 'auth.password_change'; if (!empty($_REQUEST['return_url'])) { $redirect_url .= '?return_url=' . urlencode($_REQUEST['return_url']); }