Exemplo n.º 1
0
 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;
 }