Example #1
0
 /**
  * Creates a new user in WordPress using their FB account info.
  *
  * @uses setup_new_user();
  */
 public function facebook_login()
 {
     check_ajax_referer('facebook-nonce', 'security');
     // Map our FB response fields to the correct user fields as found in wp_update_user
     $user = array('username' => $_POST['fb_response']['id'], 'user_login' => $_POST['fb_response']['id'], 'first_name' => $_POST['fb_response']['first_name'], 'last_name' => $_POST['fb_response']['last_name'], 'email' => $_POST['fb_response']['email'], 'user_url' => $_POST['fb_response']['link'], 'fb_id' => $_POST['fb_response']['id']);
     if (empty($user['username'])) {
         $status = $this->status('invalid_username');
         $user_id = false;
     } else {
         // If older version use this
         // $user_obj = get_user_by( 'email', $user['email'] );
         $user_obj = get_user_by('login', $user['user_login']);
         if ($user_obj == false) {
             $register_obj = new ajax_login_register_Register();
             $user_obj = $register_obj->setup_new_facebook_user($user);
         }
         if ($user_obj) {
             $user_id = $user_obj->ID;
             wp_set_auth_cookie($user_id, true);
             $status = $this->status('success_login');
         } else {
             $status = $this->status('invalid_username');
         }
     }
     wp_send_json($status);
 }