static function Facebook_login()
 {
     header('Content-type: text/plain');
     try {
         // Check token
         $url = 'https://graph.facebook.com/v2.2/' . $_REQUEST['uid'];
         $url = apply_filters('al2fb_url', $url);
         $query = http_build_query(array('access_token' => $_REQUEST['token']), '', '&');
         $response = WPAL2Int::Request($url, $query, 'GET');
         $me = json_decode($response);
         // Workaround if no e-mail present
         if (!empty($me) && empty($me->email)) {
             $users = get_users(array('meta_key' => c_al2fb_meta_facebook_id, 'meta_value' => $me->id));
             if (count($users) == 0) {
                 $regurl = get_user_meta($_REQUEST['user'], c_al2fb_meta_login_regurl, true);
                 if (!empty($regurl)) {
                     wp_redirect($regurl);
                 }
             } else {
                 if (count($users) == 1) {
                     $me->email = $users[0]->user_email;
                 }
             }
         }
         // Check Facebook user
         if (!empty($me) && !empty($me->id)) {
             // Find user by Facebook ID
             $users = get_users(array('meta_key' => c_al2fb_meta_facebook_id, 'meta_value' => $me->id));
             // Check if found one
             if (count($users) == 1) {
                 // Try to login
                 $user = WPAL2Int::Login_by_email($users[0]->user_email, true);
                 // Check login
                 if ($user) {
                     // Persist token
                     update_user_meta($user->ID, c_al2fb_meta_facebook_token, $_REQUEST['token']);
                     update_user_meta($user->ID, c_al2fb_meta_facebook_token_time, time());
                     // Redirect
                     $self = (is_ssl() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_REQUEST['uri'];
                     $redir = get_user_meta($_REQUEST['user'], c_al2fb_meta_login_redir, true);
                     wp_redirect($redir ? $redir : $self);
                 } else {
                     // User not found (anymore)
                     header('Content-type: text/plain');
                     _e('User not found', c_al2fb_text_domain);
                     echo PHP_EOL;
                     if (get_option(c_al2fb_option_debug)) {
                         print_r($me);
                     }
                 }
             } else {
                 $self = (is_ssl() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_REQUEST['uri'];
                 $regurl = get_user_meta($_REQUEST['user'], c_al2fb_meta_login_regurl, true);
                 wp_redirect($regurl ? $regurl : $self);
             }
         } else {
             // Something went wrong
             header('Content-type: text/plain');
             _e('Could not verify Facebook login', c_al2fb_text_domain);
             echo PHP_EOL;
             if (get_option(c_al2fb_option_debug)) {
                 print_r($_REQUEST);
                 print_r($response);
             }
         }
     } catch (Exception $e) {
         // Communication error?
         header('Content-type: text/plain');
         _e('Could not verify Facebook login', c_al2fb_text_domain);
         echo PHP_EOL;
         echo $e->getMessage();
         echo PHP_EOL;
     }
 }