X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Ffacebookinvite.php;h=1302064ad7fc6c8b33f540c3c8eb4df06beaccc3;hb=5e816d7be208fc24419288234559c78da7391c8b;hp=103d5a5686fd721d30796b46fb5db86c751630ed;hpb=eaa81d25fa7bd954132ce7f901fae69b0d46ec1a;p=quix0rs-gnu-social.git diff --git a/actions/facebookinvite.php b/actions/facebookinvite.php index 103d5a5686..1302064ad7 100644 --- a/actions/facebookinvite.php +++ b/actions/facebookinvite.php @@ -27,32 +27,57 @@ class FacebookinviteAction extends FacebookAction function handle($args) { parent::handle($args); + $this->showForm(); + } + + /** + * Wrapper for showing a page + * + * Stores an error and shows the page + * + * @param string $error Error, if any + * + * @return void + */ + + function showForm($error=null) + { + $this->error = $error; + $this->showPage(); + } + + /** + * Show the page content + * + * Either shows the registration form or, if registration was successful, + * instructions for using the site. + * + * @return void + */ + function showContent() + { if ($this->arg('ids')) { - $this->showThankYou(); + $this->showSuccessContent(); } else { - $this->showInviteForm(); + $this->showFormContent(); } } - - function showThankYou() + function showSuccessContent() { - $facebook = get_facebook(); - $fbuid = $facebook->require_login(); - $this->show_header('Invite'); - - $this->element('h2', null, _('Thanks for inviting your friends to use Identi.ca!')); + $this->element('h2', null, sprintf(_('Thanks for inviting your friends to use %s'), + common_config('site', 'name'))); $this->element('p', null, _('Invitations have been sent to the following users:')); - $friend_ids = $_POST['ids']; // Hmm... $this->arg('ids') doesn't seem to work + $friend_ids = $_POST['ids']; // XXX: Hmm... is this the best way to access the list? - $this->elementStart("ul"); + $this->elementStart('ul', array('id' => 'facebook-friends')); foreach ($friend_ids as $friend) { $this->elementStart('li'); - $this->element('fb:profile-pic', array('uid' => $friend)); + $this->element('fb:profile-pic', array('uid' => $friend, 'size' => 'square')); $this->element('fb:name', array('uid' => $friend, 'capitalize' => 'true')); $this->elementEnd('li'); @@ -60,52 +85,62 @@ class FacebookinviteAction extends FacebookAction $this->elementEnd("ul"); - $this->show_footer(); } - function showInviteForm() + function showFormContent() { - $facebook = get_facebook(); - $fbuid = $facebook->require_login(); - - $this->show_header('Invite'); - // Get a list of users who are already using the app for exclusion - $exclude_ids = $facebook->api_client->friends_getAppUsers(); + $exclude_ids = $this->facebook->api_client->friends_getAppUsers(); + $exclude_ids_csv = null; + + // fbml needs these as a csv string, not an array + if ($exclude_ids) { + $exclude_ids_csv = implode(',', $exclude_ids); + } - $content = _('You have been invited to Identi.ca!') . - htmlentities(''); + $content = sprintf(_('You have been invited to %s'), common_config('site', 'name')) . + htmlentities(''); $this->elementStart('fb:request-form', array('action' => 'invite.php', 'method' => 'post', 'invite' => 'true', - 'type' => 'Identi.ca', + 'type' => common_config('site', 'name'), 'content' => $content)); $this->hidden('invite', 'true'); - $actiontext = 'Invite your friends to use Identi.ca.'; - $this->element('fb:multi-friend-selector', array('showborder' => 'false', - 'actiontext' => $actiontext, - 'exclude_ids' => implode(',', $exclude_ids), - 'bypass' => 'cancel')); + $actiontext = sprintf(_('Invite your friends to use %s'), common_config('site', 'name')); + + $multi_params = array('showborder' => 'false'); + $multi_params['actiontext'] = $actiontext; + + if ($exclude_ids_csv) { + $multi_params['exclude_ids'] = $exclude_ids_csv; + } - $this->elementEnd('fb:request-form'); + $multi_params['bypass'] = 'cancel'; + + $this->element('fb:multi-friend-selector', $multi_params); - $this->element('h2', null, _('Friends already using Identi.ca:')); - $this->elementStart("ul"); + $this->elementEnd('fb:request-form'); + $this->element('h2', null, sprintf(_('Friends already using %s:'), + common_config('site', 'name'))); + $this->elementStart('ul', array('id' => 'facebook-friends')); + foreach ($exclude_ids as $friend) { $this->elementStart('li'); - $this->element('fb:profile-pic', array('uid' => $friend)); + $this->element('fb:profile-pic', array('uid' => $friend, 'size' => 'square')); $this->element('fb:name', array('uid' => $friend, 'capitalize' => 'true')); $this->elementEnd('li'); } $this->elementEnd("ul"); - - $this->show_footer(); - + } + + function title() + { + return sprintf(_('Send invitations')); } }