]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Facebook/facebookutil.php
Merge branch 'master' of git@gitorious.org:statusnet/mainline
[quix0rs-gnu-social.git] / plugins / Facebook / facebookutil.php
index da53f35e2882eb1a13aa26b4dc40b34f00273cd5..ac532e18bf2682e086ab56b1134200e0cfbb8cd6 100644 (file)
@@ -138,21 +138,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 = "Facebook returned error code $code: " .
+              $e->getMessage() . ' - ' .
+              "Unable to update Facebook status (notice $notice->id) " .
+              "for $user->nickname (user id: $user->id)!";
 
-            if ($code == 200 || $code == 250) {
+            common_log(LOG_WARNING, $msg);
 
+            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 +170,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);
 }
 
@@ -258,3 +260,38 @@ function remove_facebook_app($flink)
     }
 
 }
+
+/**
+ * Send a mail message to notify a user that her Facebook Application
+ * access has been removed.
+ *
+ * @param User $user   user whose Facebook app link has been removed
+ *
+ * @return boolean success flag
+ */
+
+function mail_facebook_app_removed($user)
+{
+    common_init_locale($user->language);
+
+    $profile = $user->getProfile();
+
+    $site_name = common_config('site', 'name');
+
+    $subject = sprintf(
+        _m('Your %1$s Facebook application access has been disabled.',
+            $site_name));
+
+    $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 ' .
+        'have deleted your Facebook account.  You can re-enable the ' .
+        'Facebook application and automatic status updating by ' .
+        "re-installing the %2\$s Facebook application.\n\nRegards,\n\n%2\$s"),
+        $user->nickname, $site_name);
+
+    common_init_locale();
+    return mail_to_user($user, $subject, $body);
+
+}