]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Facebook plugin no longer takes over Login and Connect settings nav menus
authorZach Copley <zach@status.net>
Wed, 25 Nov 2009 00:43:20 +0000 (00:43 +0000)
committerZach Copley <zach@status.net>
Wed, 25 Nov 2009 00:46:34 +0000 (00:46 +0000)
plugins/Facebook/FBCLoginGroupNav.php [deleted file]
plugins/Facebook/FBCSettingsNav.php [deleted file]
plugins/Facebook/FacebookPlugin.php

diff --git a/plugins/Facebook/FBCLoginGroupNav.php b/plugins/Facebook/FBCLoginGroupNav.php
deleted file mode 100644 (file)
index 81b2520..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Menu for login group of actions
- *
- * 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  Menu
- * @package   StatusNet
- * @author    Evan Prodromou <evan@status.net>
- * @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/widget.php';
-
-/**
- * Menu for login group of actions
- *
- * @category Output
- * @package  StatusNet
- * @author   Evan Prodromou <evan@status.net>
- * @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/
- *
- * @see      Widget
- */
-
-class FBCLoginGroupNav extends Widget
-{
-    var $action = null;
-
-    /**
-     * Construction
-     *
-     * @param Action $action current action, used for output
-     */
-
-    function __construct($action=null)
-    {
-        parent::__construct($action);
-        $this->action = $action;
-    }
-
-    /**
-     * Show the menu
-     *
-     * @return void
-     */
-
-    function show()
-    {
-        $this->action->elementStart('dl', array('id' => 'site_nav_local_views'));
-        $this->action->element('dt', null, _('Local views'));
-        $this->action->elementStart('dd');
-
-        // action => array('prompt', 'title')
-        $menu = array();
-
-        if (!common_config('site','openidonly')) {
-            $menu['login'] = array(_('Login'),
-                             _('Login with a username and password'));
-
-            if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
-                $menu['register'] = array(_('Register'),
-                                    _('Sign up for a new account'));
-            }
-        }
-
-        if (common_config('openid', 'enabled')) {
-            $menu['openidlogin'] = array(_('OpenID'),
-                                   _('Login or register with OpenID'));
-        }
-
-        $menu['FBConnectLogin'] = array(_('Facebook'),
-                               _('Login or register using Facebook'));
-
-        $action_name = $this->action->trimmed('action');
-        $this->action->elementStart('ul', array('class' => 'nav'));
-
-        foreach ($menu as $menuaction => $menudesc) {
-            $this->action->menuItem(common_local_url($menuaction),
-                                    $menudesc[0],
-                                    $menudesc[1],
-                                    $action_name === $menuaction);
-        }
-
-        $this->action->elementEnd('ul');
-
-        $this->action->elementEnd('dd');
-        $this->action->elementEnd('dl');
-    }
-}
diff --git a/plugins/Facebook/FBCSettingsNav.php b/plugins/Facebook/FBCSettingsNav.php
deleted file mode 100644 (file)
index ed02371..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Menu for login group of actions
- *
- * 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  Menu
- * @package   StatusNet
- * @author    Evan Prodromou <evan@status.net>
- * @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/widget.php';
-
-/**
- * A widget for showing the connect group local nav menu
- *
- * @category Output
- * @package  StatusNet
- * @author   Evan Prodromou <evan@status.net>
- * @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/
- *
- * @see      Widget
- */
-
-class FBCSettingsNav extends Widget
-{
-    var $action = null;
-
-    /**
-     * Construction
-     *
-     * @param Action $action current action, used for output
-     */
-
-    function __construct($action=null)
-    {
-        parent::__construct($action);
-        $this->action = $action;
-    }
-
-    /**
-     * Show the menu
-     *
-     * @return void
-     */
-
-    function show()
-    {
-
-        $this->action->elementStart('dl', array('id' => 'site_nav_local_views'));
-        $this->action->element('dt', null, _('Local views'));
-        $this->action->elementStart('dd');
-
-        # action => array('prompt', 'title')
-        $menu = array();
-        if (common_config('xmpp', 'enabled')) {
-            $menu['imsettings'] =
-              array(_('IM'),
-                    _('Updates by instant messenger (IM)'));
-        }
-        if (common_config('sms', 'enabled')) {
-            $menu['smssettings'] =
-              array(_('SMS'),
-                    _('Updates by SMS'));
-        }
-        if (common_config('twitter', 'enabled')) {
-            $menu['twittersettings'] =
-              array(_('Twitter'),
-                    _('Twitter integration options'));
-        }
-        $menu['FBConnectSettings'] =
-          array(_('Facebook'),
-                _('Facebook Connect settings'));
-
-        $action_name = $this->action->trimmed('action');
-        $this->action->elementStart('ul', array('class' => 'nav'));
-
-        foreach ($menu as $menuaction => $menudesc) {
-            $this->action->menuItem(common_local_url($menuaction),
-                                    $menudesc[0],
-                                    $menudesc[1],
-                                    $action_name === $menuaction);
-        }
-
-        $this->action->elementEnd('ul');
-
-        $this->action->elementEnd('dd');
-        $this->action->elementEnd('dl');
-    }
-}
index c5b9298f702fc2ee29e76c22e8713d44724d9b9b..047477d9cbd8ea491fa5a21c893669c7088fd8e0 100644 (file)
@@ -394,37 +394,43 @@ class FacebookPlugin extends Plugin
         return true;
     }
 
-    /**
-     * Alter the local nav menu to have a Facebook Connect login and
-     * settings pages
+    /*
+     * Add a login tab for Facebook Connect
      *
-     * @param Action $action the current action
+     * @param Action &action the current action
      *
      * @return void
-     *
      */
 
-    function onStartShowLocalNavBlock($action)
+    function onEndLoginGroupNav(&$action)
     {
-        $action_name = get_class($action);
 
-        $login_actions = array('LoginAction', 'RegisterAction',
-            'OpenidloginAction', 'FBConnectLoginAction');
+        $action_name = $action->trimmed('action');
 
-        if (in_array($action_name, $login_actions)) {
-            $nav = new FBCLoginGroupNav($action);
-            $nav->show();
-            return false;
-        }
+        $action->menuItem(common_local_url('FBConnectLogin'),
+                                           _('Facebook'),
+                                           _('Login or register using Facebook'),
+                                             'FBConnectLogin' === $action_name);
 
-        $connect_actions = array('SmssettingsAction', 'ImsettingsAction',
-            'TwittersettingsAction', 'FBConnectSettingsAction');
+        return true;
+    }
 
-        if (in_array($action_name, $connect_actions)) {
-            $nav = new FBCSettingsNav($action);
-            $nav->show();
-            return false;
-        }
+    /*
+     * Add a tab for managing Facebook Connect settings
+     *
+     * @param Action &action the current action
+     *
+     * @return void
+     */
+
+    function onEndConnectSettingsNav(&$action)
+    {
+        $action_name = $action->trimmed('action');
+
+        $action->menuItem(common_local_url('FBConnectSettings'),
+                          _('Facebook'),
+                          _('Facebook Connect Settings'),
+                          $action_name === 'FBConnectSettings');
 
         return true;
     }