From 125f05563b5c7bd5b74b1afbea3c0b663795bff5 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Mon, 12 Jan 2009 05:25:07 +0000 Subject: [PATCH] trac750 Add prefix string option in Facebook app for notice sync --- actions/facebookhome.php | 20 +++++++++++++++----- actions/facebookinvite.php | 2 +- actions/facebooksettings.php | 11 +++++++++++ scripts/update_facebook.php | 5 ++++- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/actions/facebookhome.php b/actions/facebookhome.php index bbef447cdb..f72f08a345 100644 --- a/actions/facebookhome.php +++ b/actions/facebookhome.php @@ -70,6 +70,8 @@ class FacebookhomeAction extends FacebookAction // XXX: Do some error handling here + $this->setDefaults(); + $this->showHome($flink, _('You can now use Identi.ca from Facebook!')); } else { @@ -80,18 +82,26 @@ class FacebookhomeAction extends FacebookAction $this->showLoginForm($msg); } + function setDefaults() + { + $facebook = get_facebook(); + + // A default prefix string for notices + $facebook->api_client->data_setUserPreference(1, 'dented: '); + } + function showHome($flink, $msg) { - + $facebook = get_facebook(); $fbuid = $facebook->require_login(); - + $user = $flink->getUser(); - + $notice = $user->getCurrentNotice(); update_profile_box($facebook, $fbuid, $user, $notice); - - + + $this->show_header('Home'); if ($msg) { diff --git a/actions/facebookinvite.php b/actions/facebookinvite.php index 14c09db3d2..fe0c5e4934 100644 --- a/actions/facebookinvite.php +++ b/actions/facebookinvite.php @@ -46,7 +46,7 @@ class FacebookinviteAction extends FacebookAction common_element('h2', null, _('Thanks for inviting your friends to use Identi.ca!')); common_element('p', null, _('Invitations have been sent to the following users:')); - $friend_ids = $_POST['ids']; // Hmm... $arg->('ids) doesn't seem to work + $friend_ids = $_POST['ids']; // Hmm... $this->arg('ids') doesn't seem to work common_element_start("ul"); diff --git a/actions/facebooksettings.php b/actions/facebooksettings.php index 862dc07322..ab04ad82b5 100644 --- a/actions/facebooksettings.php +++ b/actions/facebooksettings.php @@ -39,6 +39,7 @@ class FacebooksettingsAction extends FacebookAction $noticesync = $this->arg('noticesync'); $replysync = $this->arg('replysync'); + $prefix = $this->trimmed('prefix'); $facebook = get_facebook(); $fbuid = $facebook->require_login(); @@ -49,6 +50,8 @@ class FacebooksettingsAction extends FacebookAction $flink->set_flags($noticesync, $replysync, false); $result = $flink->update($original); + $facebook->api_client->data_setUserPreference(1, substr($prefix, 0, 128)); + if ($result) { $this->show_form('Sync preferences saved.', true); } else { @@ -91,6 +94,14 @@ class FacebooksettingsAction extends FacebookAction common_checkbox('replysync', _('Send local "@" replies to Facebook.'), ($flink) ? ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : true); + // function common_input($id, $label, $value=null,$instructions=null) + + $prefix = $facebook->api_client->data_getUserPreference(1); + + + common_input('prefix', _('Prefix'), + ($prefix) ? $prefix : null, + _('A string to prefix notices with.')); common_submit('save', _('Save')); common_element_end('form'); diff --git a/scripts/update_facebook.php b/scripts/update_facebook.php index 2a1251f372..8c91df384b 100755 --- a/scripts/update_facebook.php +++ b/scripts/update_facebook.php @@ -57,7 +57,10 @@ while($notice->fetch()) { $flink = Foreign_link::getByUserID($notice->profile_id, FACEBOOK_SERVICE); $user = $flink->getUser(); $fbuid = $flink->foreign_id; - $content = $notice->content; + + $prefix = $facebook->api_client->data_getUserPreference(1, $fbuid); + + $content = "$prefix $notice->content"; if (($flink->noticesync & FOREIGN_NOTICE_SEND) == FOREIGN_NOTICE_SEND) {