]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/logingroupnav.php
Merge branch 'master' of gitorious.org:social/mainline
[quix0rs-gnu-social.git] / lib / logingroupnav.php
index 5e8682c032e64c20e5f01218c094e860552e6f53..5d1b52f795d2030088fd151d5553bb860caa72af 100644 (file)
@@ -27,7 +27,7 @@
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -44,55 +44,39 @@ require_once INSTALLDIR.'/lib/widget.php';
  *
  * @see      Widget
  */
-
-class LoginGroupNav extends Widget
+class LoginGroupNav extends Menu
 {
-    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()
     {
-        // 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'));
-        }
-
         $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);
+        if (Event::handle('StartLoginGroupNav', array($this->action))) {
+
+            $this->action->menuItem(common_local_url('login'),
+                                    // TRANS: Menu item for logging in to the StatusNet site.
+                                    _m('MENU','Login'),
+                                    // TRANS: Title for menu item for logging in to the StatusNet site.
+                                    _('Login with a username and password'),
+                                    $action_name === 'login');
+
+            if (!common_logged_in() &&
+                !(common_config('site','closed') || common_config('site','inviteonly'))) {
+                $this->action->menuItem(common_local_url('register'),
+                                        // TRANS: Menu item for registering with the StatusNet site.
+                                        _m('MENU','Register'),
+                                        // TRANS: Title for menu item for registering with the StatusNet site.
+                                        _('Sign up for a new account'),
+                                        $action_name === 'register');
+            }
+
+            Event::handle('EndLoginGroupNav', array($this->action));
         }
 
         $this->action->elementEnd('ul');