/** * 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); }