summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@controlyourself.ca>2009-01-12 05:25:07 +0000
committerZach Copley <zach@controlyourself.ca>2009-01-12 05:25:07 +0000
commit125f05563b5c7bd5b74b1afbea3c0b663795bff5 (patch)
tree0e4fae530a15ecf7a3255b12ffa1d2bceba9db64
parent10e32eca5ca7683dd7ea3746d563727f1923163f (diff)
trac750 Add prefix string option in Facebook app for notice sync
-rw-r--r--actions/facebookhome.php20
-rw-r--r--actions/facebookinvite.php2
-rw-r--r--actions/facebooksettings.php11
-rwxr-xr-xscripts/update_facebook.php5
4 files changed, 31 insertions, 7 deletions
diff --git a/actions/facebookhome.php b/actions/facebookhome.php
index bbef447cd..f72f08a34 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 14c09db3d..fe0c5e493 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 862dc0732..ab04ad82b 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 2a1251f37..8c91df384 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) {