2008-12-06 12:01:32 +09:00
|
|
|
<?php
|
|
|
|
/*
|
|
|
|
* Laconica - a distributed open-source microblogging tool
|
|
|
|
* Copyright (C) 2008, Controlez-Vous, Inc.
|
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Affero General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2008-12-24 04:19:07 +09:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2008-12-06 12:01:32 +09:00
|
|
|
* GNU Affero General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
2008-12-24 04:19:07 +09:00
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2008-12-06 12:01:32 +09:00
|
|
|
*/
|
|
|
|
|
|
|
|
if (!defined('LACONICA')) { exit(1); }
|
|
|
|
|
|
|
|
require_once(INSTALLDIR.'/lib/facebookaction.php');
|
|
|
|
|
2008-12-24 04:49:23 +09:00
|
|
|
class FacebookinviteAction extends FacebookAction
|
|
|
|
{
|
2008-12-06 12:01:32 +09:00
|
|
|
|
2008-12-24 04:33:23 +09:00
|
|
|
function handle($args)
|
|
|
|
{
|
2008-12-24 04:19:07 +09:00
|
|
|
parent::handle($args);
|
2008-12-06 12:01:32 +09:00
|
|
|
|
2009-01-12 12:16:22 +09:00
|
|
|
if ($this->arg('ids')) {
|
|
|
|
$this->showThankYou();
|
|
|
|
} else {
|
|
|
|
$this->showInviteForm();
|
|
|
|
}
|
2008-12-24 04:19:07 +09:00
|
|
|
}
|
2008-12-06 12:01:32 +09:00
|
|
|
|
|
|
|
|
2009-01-12 12:16:22 +09:00
|
|
|
function showThankYou()
|
|
|
|
{
|
2009-01-05 10:04:07 +09:00
|
|
|
$facebook = get_facebook();
|
2008-12-24 04:19:07 +09:00
|
|
|
$fbuid = $facebook->require_login();
|
2008-12-06 12:01:32 +09:00
|
|
|
|
2009-01-18 10:31:39 +09:00
|
|
|
$this->showHeader('Invite');
|
2008-12-06 12:01:32 +09:00
|
|
|
|
2009-01-16 07:57:15 +09:00
|
|
|
$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:'));
|
2009-01-12 12:16:22 +09:00
|
|
|
|
2009-01-12 14:25:07 +09:00
|
|
|
$friend_ids = $_POST['ids']; // Hmm... $this->arg('ids') doesn't seem to work
|
2009-01-12 12:16:22 +09:00
|
|
|
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementStart("ul");
|
2009-01-12 12:16:22 +09:00
|
|
|
|
|
|
|
foreach ($friend_ids as $friend) {
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementStart('li');
|
|
|
|
$this->element('fb:profile-pic', array('uid' => $friend));
|
|
|
|
$this->element('fb:name', array('uid' => $friend,
|
2009-01-12 12:16:22 +09:00
|
|
|
'capitalize' => 'true'));
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementEnd('li');
|
2009-01-12 12:16:22 +09:00
|
|
|
}
|
|
|
|
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementEnd("ul");
|
2009-01-12 12:16:22 +09:00
|
|
|
|
2009-01-18 10:31:39 +09:00
|
|
|
$this->showFooter();
|
2009-01-12 12:16:22 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
function showInviteForm()
|
|
|
|
{
|
|
|
|
|
|
|
|
$facebook = get_facebook();
|
|
|
|
$fbuid = $facebook->require_login();
|
|
|
|
|
2009-01-19 16:24:12 +09:00
|
|
|
$this->showHeader();
|
|
|
|
$this->showNav('Invite');
|
2009-01-12 09:42:42 +09:00
|
|
|
|
|
|
|
// Get a list of users who are already using the app for exclusion
|
|
|
|
$exclude_ids = $facebook->api_client->friends_getAppUsers();
|
|
|
|
|
2009-01-12 12:16:22 +09:00
|
|
|
$content = _('You have been invited to Identi.ca!') .
|
2009-01-11 16:03:59 +09:00
|
|
|
htmlentities('<fb:req-choice url="http://apps.facebook.com/identica_app/" label="Add"/>');
|
|
|
|
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementStart('fb:request-form', array('action' => 'invite.php',
|
2009-01-12 12:16:22 +09:00
|
|
|
'method' => 'post',
|
2009-01-11 16:03:59 +09:00
|
|
|
'invite' => 'true',
|
|
|
|
'type' => 'Identi.ca',
|
|
|
|
'content' => $content));
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->hidden('invite', 'true');
|
2009-01-11 16:03:59 +09:00
|
|
|
$actiontext = 'Invite your friends to use Identi.ca.';
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->element('fb:multi-friend-selector', array('showborder' => 'false',
|
2009-01-12 09:42:42 +09:00
|
|
|
'actiontext' => $actiontext,
|
2009-01-12 12:16:22 +09:00
|
|
|
'exclude_ids' => implode(',', $exclude_ids),
|
|
|
|
'bypass' => 'cancel'));
|
2009-01-11 16:03:59 +09:00
|
|
|
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementEnd('fb:request-form');
|
2008-12-06 12:01:32 +09:00
|
|
|
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->element('h2', null, _('Friends already using Identi.ca:'));
|
|
|
|
$this->elementStart("ul");
|
2009-01-12 12:16:22 +09:00
|
|
|
|
|
|
|
foreach ($exclude_ids as $friend) {
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementStart('li');
|
|
|
|
$this->element('fb:profile-pic', array('uid' => $friend));
|
|
|
|
$this->element('fb:name', array('uid' => $friend,
|
2009-01-12 12:16:22 +09:00
|
|
|
'capitalize' => 'true'));
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementEnd('li');
|
2009-01-12 12:16:22 +09:00
|
|
|
}
|
|
|
|
|
2009-01-16 07:57:15 +09:00
|
|
|
$this->elementEnd("ul");
|
2009-01-12 12:16:22 +09:00
|
|
|
|
2009-01-18 10:31:39 +09:00
|
|
|
$this->showFooter();
|
2008-12-06 12:01:32 +09:00
|
|
|
|
2008-12-24 04:19:07 +09:00
|
|
|
}
|
2008-12-06 12:01:32 +09:00
|
|
|
|
|
|
|
}
|