/** * 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); }
/** * Creates a new user in WordPress using their FB account info. * * @uses register_submit(); */ 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' => intval($_POST['fb_response']['id']), 'user_login' => intval($_POST['fb_response']['id']), 'first_name' => sanitize_text_field($_POST['fb_response']['first_name']), 'last_name' => sanitize_text_field($_POST['fb_response']['last_name']), 'user_email' => sanitize_text_field($_POST['fb_response']['email']), 'user_url' => sanitize_text_field($_POST['fb_response']['link']), 'user_avatar' => !empty($_POST['fb_response']['picture']["data"]["url"]) ? sanitize_text_field($_POST['fb_response']['picture']["data"]["url"]) : ''); if (empty($user['username'])) { $msg = $this->status('invalid_username'); } else { $user_obj = get_user_by('login', $user['user_login']); if ($user_obj == false) { $register_obj = new ajax_login_register_Register(); $user_obj = $register_obj->create_facebook_user($user); $args = array('ID' => $user_obj->ID, 'user_nicename' => $user_obj->first_name . '-' . $user_obj->last_name); wp_update_user($args); } // Log our FB user in $password = get_user_meta($user_obj->ID, '_random'); if (is_array($password) && !empty($password[0])) { $password = $password[0]; } $logged_in = @$this->login_submit($user_obj->user_login, $password, false); if ($logged_in == true) { $msg = $this->status('success_login'); } else { die("\nSomething to do here"); } } wp_send_json($msg); }
/** * Creates a new user in WordPress using their FB account info. * * @uses register_submit(); */ 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'], 'user_email' => $_POST['fb_response']['email'], 'user_url' => $_POST['fb_response']['link']); if (empty($user['username'])) { $msg = $this->status('invalid_username'); } 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->create_facebook_user($user); } // Log our FB user in $password = get_usermeta($user_obj->ID, '_random'); $logged_in = $this->login_submit($user_obj->user_login, $password, false); if ($logged_in == true) { $msg = $this->status('success_login'); } else { die("\nSomething to do here"); } } wp_send_json($msg); }