trac750 Add prefix string option in Facebook app for notice sync

This commit is contained in:
Zach Copley 2009-01-12 05:25:07 +00:00
parent 10e32eca5c
commit 125f05563b
4 changed files with 31 additions and 7 deletions

View File

@ -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) {

View File

@ -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");

View File

@ -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');

View File

@ -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) {