X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=actions%2Ffacebookinvite.php;h=103d5a5686fd721d30796b46fb5db86c751630ed;hb=6edbf3ca781d20f2ec98daf32080c60e804d8215;hp=68b351fb93b96b4a967affedca7093cb9029f060;hpb=dccf8374cf7e4673cbc83f695e1665031bdf6539;p=quix0rs-gnu-social.git diff --git a/actions/facebookinvite.php b/actions/facebookinvite.php index 68b351fb93..103d5a5686 100644 --- a/actions/facebookinvite.php +++ b/actions/facebookinvite.php @@ -10,37 +10,102 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . */ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/facebookaction.php'); -class FacebookinviteAction extends FacebookAction { +class FacebookinviteAction extends FacebookAction +{ - function handle($args) { - parent::handle($args); + function handle($args) + { + parent::handle($args); - $this->display(); - } + if ($this->arg('ids')) { + $this->showThankYou(); + } else { + $this->showInviteForm(); + } + } - function display() { - $facebook = $this->get_facebook(); + function showThankYou() + { + $facebook = get_facebook(); + $fbuid = $facebook->require_login(); - $fbuid = $facebook->require_login(); + $this->show_header('Invite'); - $this->show_header('Invite'); + $this->element('h2', null, _('Thanks for inviting your friends to use Identi.ca!')); + $this->element('p', null, _('Invitations have been sent to the following users:')); - echo '

Coming soon...

'; + $friend_ids = $_POST['ids']; // Hmm... $this->arg('ids') doesn't seem to work - $this->show_footer(); + $this->elementStart("ul"); - } + foreach ($friend_ids as $friend) { + $this->elementStart('li'); + $this->element('fb:profile-pic', array('uid' => $friend)); + $this->element('fb:name', array('uid' => $friend, + 'capitalize' => 'true')); + $this->elementEnd('li'); + } + + $this->elementEnd("ul"); + + $this->show_footer(); + } + + function showInviteForm() + { + + $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(); + + $content = _('You have been invited to Identi.ca!') . + htmlentities(''); + + $this->elementStart('fb:request-form', array('action' => 'invite.php', + 'method' => 'post', + 'invite' => 'true', + 'type' => 'Identi.ca', + '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')); + + $this->elementEnd('fb:request-form'); + + $this->element('h2', null, _('Friends already using Identi.ca:')); + $this->elementStart("ul"); + + foreach ($exclude_ids as $friend) { + $this->elementStart('li'); + $this->element('fb:profile-pic', array('uid' => $friend)); + $this->element('fb:name', array('uid' => $friend, + 'capitalize' => 'true')); + $this->elementEnd('li'); + } + + $this->elementEnd("ul"); + + $this->show_footer(); + + } }