*
* @category Menu
* @package StatusNet
- * @author Evan Prodromou <evan@controlyourself.ca>
+ * @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);
}
*
* @category Output
* @package StatusNet
- * @author Evan Prodromou <evan@controlyourself.ca>
+ * @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();
-
- 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');