diff options
Diffstat (limited to 'plugins/FBConnect/FBConnectSettings.php')
-rw-r--r-- | plugins/FBConnect/FBConnectSettings.php | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/plugins/FBConnect/FBConnectSettings.php b/plugins/FBConnect/FBConnectSettings.php deleted file mode 100644 index 911c56787..000000000 --- a/plugins/FBConnect/FBConnectSettings.php +++ /dev/null @@ -1,203 +0,0 @@ -<?php -/** - * StatusNet, the distributed open-source microblogging tool - * - * Facebook Connect settings - * - * PHP version 5 - * - * LICENCE: 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 - * 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 <http://www.gnu.org/licenses/>. - * - * @category Settings - * @package StatusNet - * @author Zach Copley <zach@status.net> - * @copyright 2009 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/connectsettingsaction.php'; - -/** - * Facebook Connect settings action - * - * @category Settings - * @package StatusNet - * @author Zach Copley <zach@status.net> - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -class FBConnectSettingsAction extends ConnectSettingsAction -{ - /** - * Title of the page - * - * @return string Title of the page - */ - - function title() - { - return _('Facebook Connect Settings'); - } - - /** - * Instructions for use - * - * @return instructions for use - */ - - function getInstructions() - { - return _('Manage how your account connects to Facebook'); - } - - /** - * Content area of the page - * - * Shows a form for uploading an avatar. - * - * @return void - */ - - function showContent() - { - $user = common_current_user(); - $flink = Foreign_link::getByUserID($user->id, FACEBOOK_CONNECT_SERVICE); - - $this->elementStart('form', array('method' => 'post', - 'id' => 'form_settings_facebook', - 'class' => 'form_settings', - 'action' => - common_local_url('FBConnectSettings'))); - - if (!$flink) { - - $this->element('p', 'instructions', - _('There is no Facebook user connected to this account.')); - - $this->element('fb:login-button', array('onlogin' => 'goto_login()', - 'length' => 'long')); - - } else { - - $this->element('p', 'form_note', - _('Connected Facebook user')); - - $this->elementStart('p', array('class' => 'facebook-user-display')); - $this->elementStart('fb:profile-pic', - array('uid' => $flink->foreign_id, - 'size' => 'small', - 'linked' => 'true', - 'facebook-logo' => 'true')); - $this->elementEnd('fb:profile-pic'); - - $this->elementStart('fb:name', array('uid' => $flink->foreign_id, - 'useyou' => 'false')); - $this->elementEnd('fb:name'); - $this->elementEnd('p'); - - $this->hidden('token', common_session_token()); - - $this->elementStart('fieldset'); - - $this->element('legend', null, _('Disconnect my account from Facebook')); - - if (!$user->password) { - - $this->elementStart('p', array('class' => 'form_guide')); - $this->text(_('Disconnecting your Faceboook ' . - 'would make it impossible to log in! Please ')); - $this->element('a', - array('href' => common_local_url('passwordsettings')), - _('set a password')); - - $this->text(_(' first.')); - $this->elementEnd('p'); - } else { - - $note = 'Keep your %s account but disconnect from Facebook. ' . - 'You\'ll use your %s password to log in.'; - - $site = common_config('site', 'name'); - - $this->element('p', 'instructions', - sprintf($note, $site, $site)); - - $this->submit('disconnect', _('Disconnect')); - } - - $this->elementEnd('fieldset'); - } - - $this->elementEnd('form'); - } - - /** - * Handle post - * - * Disconnects the current Facebook user from the current user's account - * - * @return void - */ - - function handlePost() - { - // CSRF protection - $token = $this->trimmed('token'); - if (!$token || $token != common_session_token()) { - $this->showForm(_('There was a problem with your session token. '. - 'Try again, please.')); - return; - } - - if ($this->arg('disconnect')) { - - $user = common_current_user(); - - $flink = Foreign_link::getByUserID($user->id, FACEBOOK_CONNECT_SERVICE); - $result = $flink->delete(); - - if ($result === false) { - common_log_db_error($user, 'DELETE', __FILE__); - $this->serverError(_('Couldn\'t delete link to Facebook.')); - return; - } - - try { - - // Clear FB Connect cookies out - $facebook = getFacebook(); - $facebook->clear_cookie_state(); - - } catch (Exception $e) { - common_log(LOG_WARNING, 'Facebook Connect Plugin - ' . - 'Couldn\'t clear Facebook cookies: ' . - $e->getMessage()); - } - - $this->showForm(_('You have disconnected from Facebook.'), true); - - } else { - $this->showForm(_('Not sure what you\'re trying to do.')); - return; - } - - } - -} |