Advertisement
Guest User

Untitled

a guest
Jun 1st, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.69 KB | None | 0 0
  1. FBSDKLoginManager *login = [FBSDKLoginManager new];
  2. [login logInWithReadPermissions:@[@"public_profile", @"email"] fromViewController:weakSelf handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
  3. if (error) {
  4. NSLog(@"Process error");
  5. } else if (result.isCancelled) {
  6. NSLog(@"Cancelled");
  7. } else {
  8. NSString *token = result.token.tokenString;
  9.  
  10. JGProgressHUD *hud = [JGProgressHUD progressHUDWithStyle:JGProgressHUDStyleDark];
  11. hud.textLabel.font = [PLFont fontRegularWithSize:14.0f];
  12. hud.textLabel.text = [[[[PLSharedManager sharedManager] languageDictionary] objectForKey:@"UserLoginView"] objectForKey:@"LoadingText"];
  13. hud.interactionType = JGProgressHUDInteractionTypeBlockAllTouches;
  14. [hud showInView:weakSelf.view];
  15.  
  16. [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id,first_name,last_name,email"}] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
  17. if (!error) {
  18. NSString *name = [NSString stringWithFormat:@"%@ %@", [result objectForKey:@"first_name"],[result objectForKey:@"last_name"]];
  19. UIImage *avatar = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large", [result objectForKey:@"id"]]]]];
  20.  
  21. NSMutableDictionary *parameters = [NSMutableDictionary new];
  22.  
  23. [parameters setValue:@"facebook" forKey:@"provider"];
  24. [parameters setValue:token forKey:@"provider_token"];
  25. [parameters setValue:[result objectForKey:@"email"] forKey:@"email"];
  26. [parameters setValue:name forKey:@"name"];
  27. [parameters setValue:[result objectForKey:@"id"] forKey:@"provider_uid"];
  28.  
  29. [[[PLSharedManager sharedManager] apiManager] loginUserSocialWithParameters:parameters successfulBlock:^(PLUser *loggedUser) {
  30. UIImage *resizedImage = [PLImageManager imageWithImage:avatar scaledToMaxWidth:RESIZED_IMAGE_SIZE maxHeight:RESIZED_IMAGE_SIZE];
  31.  
  32. [[[PLSharedManager sharedManager] apiManager] uploadAvatar:resizedImage accessToken:loggedUser.accessToken successfulBlock:^{
  33. // QuickBlox
  34.  
  35. QBUUser *quickBloxUser = [QBUUser new];
  36.  
  37. quickBloxUser.login = loggedUser.email;
  38. quickBloxUser.password = [NSString stringWithFormat:@"%@%ld", loggedUser.email, (long)(long)loggedUser.ID];
  39. quickBloxUser.email = loggedUser.email;
  40. quickBloxUser.fullName = loggedUser.name;
  41. quickBloxUser.facebookID = loggedUser.providerUid;
  42. quickBloxUser.externalUserID = loggedUser.ID;
  43. quickBloxUser.customData = loggedUser.avatarUrl;
  44.  
  45. [[QMServicesManager instance] logInWithUser:quickBloxUser completion:^(BOOL success, NSString * _Nullable errorMessage) {
  46. if (success) {
  47. [hud dismiss];
  48.  
  49. [self loginSuccessful:loggedUser];
  50. } else {
  51. [QBRequest signUp:quickBloxUser successBlock:^(QBResponse * _Nonnull response, QBUUser * _Nullable user) {
  52. [hud dismiss];
  53.  
  54. loggedUser.quickbloxUserID = user.ID;
  55.  
  56. [self loginSuccessful:loggedUser];
  57. } errorBlock:^(QBResponse * _Nonnull response) {
  58. [hud dismiss];
  59.  
  60. [self loginError:nil];
  61. }];
  62. }
  63. }];
  64. } failureBlock:^(NSURLResponse *response, id responseObject, NSError *error) {
  65. [hud dismiss];
  66.  
  67. NSString *message = [PLApiManager getErrorDescriptionFromResponse:responseObject];
  68.  
  69. [self loginError:message];
  70. }];
  71. } failureBlock:^(NSURLResponse *response, id responseObject, NSError *error) {
  72. [hud dismiss];
  73.  
  74. NSString *message = [PLApiManager getErrorDescriptionFromResponse:responseObject];
  75.  
  76. [self loginError:message];
  77. }];
  78. } else {
  79. [hud dismiss];
  80.  
  81. [self loginError:nil];
  82. }
  83. }];
  84. }
  85. }];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement