$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) {
$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);
$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.
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(
_m('Your %1$s Facebook application access has been disabled.',
$site_name));
"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);
}