]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Facebook/facebookutil.php
Merge branch 'master' of gitorious.org:statusnet/mainline
[quix0rs-gnu-social.git] / plugins / Facebook / facebookutil.php
index 6f50c173ad875d4deb028f957e58f27bb3686248..ab2d427264254d4f15b8194f07af1044d8d9533f 100644 (file)
@@ -104,9 +104,13 @@ function facebookBroadcastNotice($notice)
 
             $status = "$prefix $notice->content";
 
+            common_debug("FacebookPlugin - checking for publish_stream permission for user $user->id");
+
             $can_publish = $facebook->api_client->users_hasAppPermission('publish_stream',
                                                                          $fbuid);
 
+            common_debug("FacebookPlugin - checking for status_update permission for user $user->id");
+
             $can_update  = $facebook->api_client->users_hasAppPermission('status_update',
                                                                          $fbuid);
             if (!empty($attachments) && $can_publish == 1) {
@@ -114,15 +118,15 @@ function facebookBroadcastNotice($notice)
                 $facebook->api_client->stream_publish($status, $fbattachment,
                                                       null, null, $fbuid);
                 common_log(LOG_INFO,
-                           "Posted notice $notice->id w/attachment " .
+                           "FacebookPlugin - Posted notice $notice->id w/attachment " .
                            "to Facebook user's stream (fbuid = $fbuid).");
             } elseif ($can_update == 1 || $can_publish == 1) {
                 $facebook->api_client->users_setStatus($status, $fbuid, false, true);
                 common_log(LOG_INFO,
-                           "Posted notice $notice->id to Facebook " .
+                           "FacebookPlugin - Posted notice $notice->id to Facebook " .
                            "as a status update (fbuid = $fbuid).");
             } else {
-                $msg = "Not sending notice $notice->id to Facebook " .
+                $msg = "FacebookPlugin - Not sending notice $notice->id to Facebook " .
                   "because user $user->nickname hasn't given the " .
                   'Facebook app \'status_update\' or \'publish_stream\' permission.';
                 common_log(LOG_WARNING, $msg);
@@ -138,21 +142,23 @@ function facebookBroadcastNotice($notice)
 
             $code = $e->getCode();
 
-            common_log(LOG_WARNING, 'Facebook returned error code ' .
-                       $code . ': ' . $e->getMessage());
-            common_log(LOG_WARNING,
-                       'Unable to update Facebook status for ' .
-                       "$user->nickname (user id: $user->id)!");
+            $msg = "FacebookPlugin - Facebook returned error code $code: " .
+              $e->getMessage() . ' - ' .
+              "Unable to update Facebook status (notice $notice->id) " .
+              "for $user->nickname (user id: $user->id)!";
+
+            common_log(LOG_WARNING, $msg);
 
-            if ($code == 200 || $code == 250) {
+            if ($code == 100 || $code == 200 || $code == 250) {
 
+                // 100 The account is 'inactive' (probably - this is not well documented)
                 // 200 The application does not have permission to operate on the passed in uid parameter.
                 // 250 Updating status requires the extended permission status_update or publish_stream.
                 // see: http://wiki.developers.facebook.com/index.php/Users.setStatus#Example_Return_XML
 
                 remove_facebook_app($flink);
 
-            } else {
+        } else {
 
                 // Try sending again later.
 
@@ -168,7 +174,7 @@ function facebookBroadcastNotice($notice)
 
 function updateProfileBox($facebook, $flink, $notice) {
     $fbaction = new FacebookAction($output = 'php://output',
-                                   $indent = true, $facebook, $flink);
+                                   $indent = null, $facebook, $flink);
     $fbaction->updateProfileBox($notice);
 }
 
@@ -270,17 +276,17 @@ function remove_facebook_app($flink)
 
 function mail_facebook_app_removed($user)
 {
-    common_init_locale($user->language);
-
     $profile = $user->getProfile();
 
     $site_name = common_config('site', 'name');
 
+    common_switch_locale($user->language);
+
     $subject = sprintf(
-        _('Your %1$s Facebook application access has been disabled.',
+        _m('Your %1$s Facebook application access has been disabled.',
             $site_name));
 
-    $body = sprintf(_("Hi, %1\$s. We're sorry to inform you that we are " .
+    $body = sprintf(_m("Hi, %1\$s. We're sorry to inform you that we are " .
         'unable to update your Facebook status from %2$s, and have disabled ' .
         'the Facebook application for your account. This may be because ' .
         'you have removed the Facebook application\'s authorization, or ' .
@@ -289,7 +295,7 @@ function mail_facebook_app_removed($user)
         "re-installing the %2\$s Facebook application.\n\nRegards,\n\n%2\$s"),
         $user->nickname, $site_name);
 
-    common_init_locale();
+    common_switch_locale();
     return mail_to_user($user, $subject, $body);
 
 }