Add hooks for Start/End LoginGroupNav

This commit is contained in:
Evan Prodromou 2009-08-04 06:52:57 -04:00
parent 9e078c28b6
commit b3ba7669df
2 changed files with 27 additions and 17 deletions

View File

@ -122,3 +122,9 @@ StartAddressData: Allows the site owner to provide additional information about
EndAddressData: At the end of <address>
- $action: the current action
StartLoginGroupNav: Before showing the login and register navigation menu
- $action: the current action
EndLoginGroupNav: After showing the login and register navigation menu
- $action: the current action

View File

@ -69,26 +69,30 @@ class LoginGroupNav extends Widget
function show()
{
// action => array('prompt', 'title')
$menu = array();
$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'));
}
$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'),
_('Login'),
_('Login with a username and password'),
$action_name === 'login');
if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
$this->action->menuItem(common_local_url('register'),
_('Register'),
_('Sign up for a new account'),
$action_name === 'register');
}
$this->action->menuItem(common_local_url('openidlogin'),
_('OpenID'),
_('Login or register with OpenID'),
$action_name === 'openidlogin');
Event::handle('EndLoginGroupNav', array(&$menu));
}
$this->action->elementEnd('ul');