Advertisement
Guest User

Untitled

a guest
Mar 16th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. Thêm function:
  2. function checkUserIDFacebook($userID) {
  3. global $wpdb;
  4. $user = $wpdb->get_results("SELECT * FROM wp_nicmsusermeta WHERE meta_key = 'open_type_facebook' AND meta_value= $userID ");
  5. return $user;
  6. }
  7.  
  8. function existsEmail($exists) {
  9. if(get_user_meta($exists, 'open_type', true) == 'facebook,') {
  10. $this->checkContent($exists);
  11. $status = $this->isUserInfoValid($exists);
  12. $token = $this->set_token($exists);
  13. if($status == 1) {
  14. $data = array(
  15. 'status' => 1,
  16. 'token' => $token
  17. );
  18. return $data;
  19. }
  20. $data = array(
  21. 'status' => 0,
  22. 'token' => $token
  23. );
  24. return $data;
  25. } else {
  26. return new WP_Error( 'rest_not_found', __( 'Email already exists.', 'wpuf-pro' ), array( 'status' => 404 ) );
  27. }
  28. }
  29.  
  30. function notExistEmail($user, $url, $access_token) {
  31. if (!isset($user['email'])) {
  32. $user['email'] = '';
  33. }
  34. $username = 'FACEBOOK'.$user['id'];
  35. $password = wp_generate_password( 20, false );
  36. $creationResult = wp_create_user( $username, $password, $user['email'] );
  37. if ( is_wp_error( $creationResult ) ) {
  38. return new WP_Error( 'registration_failed', __( 'Registration failed.' ), array( 'status' => 422, 'message' => $creationResult->get_error_message() ) );
  39. }
  40. $user_img = open_connect_http($url.'/me/picture?redirect=false&height=320&type=small&width=320&access_token='.$access_token);
  41. $img = $user_img['data']['url'];
  42. if(isset($img)) {
  43. $imagesID = $this->saveImageFromUrl($img);
  44. update_user_meta($creationResult, 'images', $imagesID);
  45. $image = wp_get_attachment_image_src($imagesID, 'avatar-thumb');
  46. update_user_meta($creationResult, 'user_avatar', $image[0]);
  47. }
  48. $name = $user['name'];
  49. update_user_meta($creationResult, 'nickname', $name);
  50. update_user_meta($creationResult, 'gender', $this->gender($user));
  51. update_user_meta($creationResult, 'open_type', 'facebook,');
  52. update_user_meta($creationResult, 'open_type_facebook', $user['id']);
  53. update_user_meta($creationResult, 'open_img', $img);
  54. update_user_meta($creationResult, 'open_access_token', $access_token);
  55. update_user_meta($creationResult, 'deactive_user', 1);
  56. $test = get_user_meta($creationResult , 'user_avatar', true);
  57. $token = $this->set_token($creationResult);
  58. $data = array(
  59. 'status' => 1,
  60. 'token' => $token
  61. );
  62. return $data;
  63. }
  64.  
  65. ------------
  66. Search: function doLoginFacebook Sửa thành:
  67. public function doLoginFacebook($request) {
  68. global $wpdb;
  69. $access_token = $request['access_token'];
  70. $appID = '801820409985344';
  71. $appsecret = 'e97f2f8b0612369b1eaf605d46e6e018';
  72. $url = 'https://graph.facebook.com';
  73. $user = open_connect_http($url.'/me?fields=id,name,email,gender&access_token='.$access_token);
  74. $idUser = $user['id'];
  75. if(!isset($idUser)) {
  76. return new WP_Error( 'rest_not_found', __( 'User not found.', 'wpuf-pro' ), array( 'status' => 404 ) );
  77. }
  78. $email = $user['email'];
  79. if($email != '') {
  80. $exists = email_exists($email);
  81. if($exists) {
  82. return $this->existsEmail($exists);
  83. } else {
  84. return $this->notExistEmail($user, $url, $access_token);
  85. }
  86. } else {
  87. $checkUser = $this->checkUserIDFacebook($idUser);
  88. if(count($checkUser) > 0) {
  89. return $this->existsEmail($checkUser[0]->user_id);
  90. } else {
  91. return $this->notExistEmail($user, $url, $access_token);
  92. }
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement