public static function login() { $return = array(); //What we send back if (!empty($_REQUEST['log']) && !empty($_REQUEST['pwd']) && trim($_REQUEST['log']) != '' && trim($_REQUEST['pwd'] != '')) { $loginResult = wp_signon(); $user_role = 'null'; if (strtolower(get_class($loginResult)) == 'wp_user') { //User login successful self::$current_user = $loginResult; /* @var $loginResult WP_User */ $return['result'] = true; $return['message'] = __("Login Successful, redirecting...", 'login-with-ajax'); //Do a redirect if necessary $redirect = self::getLoginRedirect(self::$current_user); if ($redirect != '') { $return['redirect'] = $redirect; } //If the widget should just update with ajax, then supply the URL here. if (!empty(self::$data['no_login_refresh']) && self::$data['no_login_refresh'] == 1) { //Is this coming from a template? $query_vars = !empty($_REQUEST['template']) ? "&template={$_REQUEST['template']}" : ''; $query_vars .= !empty($_REQUEST['lwa_profile_link']) ? "&lwa_profile_link=1" : ''; $return['widget'] = get_bloginfo('wpurl') . "?login-with-ajax-widget=1{$query_vars}"; $return['message'] = __("Login successful, updating...", 'login-with-ajax'); } } elseif (strtolower(get_class($loginResult)) == 'wp_error') { //User login failed /* @var WP_Error $loginResult */ $return['result'] = false; $return['error'] = $loginResult->get_error_message(); } else { //Undefined Error $return['result'] = false; $return['error'] = __('An undefined error has ocurred', 'login-with-ajax'); } } else { $return['result'] = false; $return['error'] = __('Please supply your username and password.', 'login-with-ajax'); } $return['action'] = 'login'; //Return the result array with errors etc. return $return; }