diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-08-04 07:08:10 -0400 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-08-04 07:08:10 -0400 |
commit | 84ca1482ff02b758c68a71b37e864d8c7a617d70 (patch) | |
tree | 9efd32dcc6fedb4804599931af06915a74aa1e29 | |
parent | b3ba7669df1d26b552dcd2fb2fc84afb1d73f983 (diff) |
add hook for showing account settings menu
-rw-r--r-- | EVENTS.txt | 6 | ||||
-rw-r--r-- | lib/accountsettingsaction.php | 62 |
2 files changed, 39 insertions, 29 deletions
diff --git a/EVENTS.txt b/EVENTS.txt index d07c31f8d..e1dd73508 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -128,3 +128,9 @@ StartLoginGroupNav: Before showing the login and register navigation menu EndLoginGroupNav: After showing the login and register navigation menu - $action: the current action + +StartAccountSettingsNav: Before showing the account settings menu +- $action: the current action + +EndAccountSettingsNav: After showing the account settings menu +- $action: the current action diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index 4ab50abce..9814c48ab 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -98,38 +98,42 @@ class AccountSettingsNav extends Widget function show() { - # action => array('prompt', 'title') - $menu = - array('profilesettings' => - array(_('Profile'), - _('Change your profile settings')), - 'avatarsettings' => - array(_('Avatar'), - _('Upload an avatar')), - 'passwordsettings' => - array(_('Password'), - _('Change your password')), - 'emailsettings' => - array(_('Email'), - _('Change email handling')), - 'openidsettings' => - array(_('OpenID'), - _('Add or remove OpenIDs')), - 'userdesignsettings' => - array(_('Design'), - _('Design your profile')), - 'othersettings' => - array(_('Other'), - _('Other options'))); - $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('StartAccountSettingsNav', array(&$this->action))) { + + $menu = + array('profilesettings' => + array(_('Profile'), + _('Change your profile settings')), + 'avatarsettings' => + array(_('Avatar'), + _('Upload an avatar')), + 'passwordsettings' => + array(_('Password'), + _('Change your password')), + 'emailsettings' => + array(_('Email'), + _('Change email handling')), + 'openidsettings' => + array(_('OpenID'), + _('Add or remove OpenIDs')), + 'userdesignsettings' => + array(_('Design'), + _('Design your profile')), + 'othersettings' => + array(_('Other'), + _('Other options'))); + + foreach ($menu as $menuaction => $menudesc) { + $this->action->menuItem(common_local_url($menuaction), + $menudesc[0], + $menudesc[1], + $action_name === $menuaction); + } + + Event::handle('EndAccountSettingsNav', array(&$this->action)); } $this->action->elementEnd('ul'); |