<?php
/**
- * Laconica, the distributed open-source microblogging tool
+ * StatusNet, the distributed open-source microblogging tool
*
* Menu for login group of actions
*
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Menu
- * @package Laconica
- * @author Evan Prodromou <evan@controlyourself.ca>
- * @copyright 2008 Control Yourself, Inc.
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2008 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://laconi.ca/
+ * @link http://status.net/
*/
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
* Menu for login group of actions
*
* @category Output
- * @package Laconica
- * @author Evan Prodromou <evan@controlyourself.ca>
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://laconi.ca/
+ * @link http://status.net/
*
* @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('login' =>
- array(_('Login'),
- _('Login with a username and password')),
- 'register' =>
- array(_('Register'),
- _('Sign up for a new account')),
- 'openid' =>
- 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');