X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Faccountsettingsaction.php;h=57740f8b85cb15417dcfed217d86b5e5f52a87c4;hb=4c4dc6571231b188740c106a1f558b10388004cc;hp=9865e17489d9e9661849fe4e7bdd51ac92ab5706;hpb=3be120571446880cb71a57845204b3213e6df67e;p=quix0rs-gnu-social.git diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index 9865e17489..57740f8b85 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -104,35 +104,47 @@ class AccountSettingsNav extends Widget if (Event::handle('StartAccountSettingsNav', array(&$this->action))) { $user = common_current_user(); - $menu = array(); - $menu['profilesettings'] = - array(_('Profile'), - _('Change your profile settings')); - if(Event::handle('CanUserChangeField', array($user->nickname, 'avatar'))){ - $menu['avatarsettings'] = - array(_('Avatar'), - _('Upload an avatar')); + if(Event::handle('StartAccountSettingsProfileMenuItem', array($this, &$menu))){ + // TRANS: Link title attribute in user account settings menu. + $title = _('Change your profile settings'); + // TRANS: Link description in user account settings menu. + $this->showMenuItem('profilesettings',_('Profile'),$title); + Event::handle('EndAccountSettingsProfileMenuItem', array($this, &$menu)); } - if(Event::handle('CanUserChangeField', array($user->nickname, 'password'))){ - $menu['passwordsettings'] = - array(_('Password'), - _('Change your password')); + if(Event::handle('StartAccountSettingsAvatarMenuItem', array($this, &$menu))){ + // TRANS: Link title attribute in user account settings menu. + $title = _('Upload an avatar'); + // TRANS: Link description in user account settings menu. + $this->showMenuItem('avatarsettings',_('Avatar'),$title); + Event::handle('EndAccountSettingsAvatarMenuItem', array($this, &$menu)); } - $menu['emailsettings'] = - array(_('Email'), - _('Change email handling')); - $menu['userdesignsettings'] = - array(_('Design'), - _('Design your profile')); - $menu['othersettings'] = - array(_('Other'), - _('Other options')); - - foreach ($menu as $menuaction => $menudesc) { - $this->action->menuItem(common_local_url($menuaction), - $menudesc[0], - $menudesc[1], - $action_name === $menuaction); + if(Event::handle('StartAccountSettingsPasswordMenuItem', array($this, &$menu))){ + // TRANS: Link title attribute in user account settings menu. + $title = _('Change your password'); + // TRANS: Link description in user account settings menu. + $this->showMenuItem('passwordsettings',_('Password'),$title); + Event::handle('EndAccountSettingsPasswordMenuItem', array($this, &$menu)); + } + if(Event::handle('StartAccountSettingsEmailMenuItem', array($this, &$menu))){ + // TRANS: Link title attribute in user account settings menu. + $title = _('Change email handling'); + // TRANS: Link description in user account settings menu. + $this->showMenuItem('emailsettings',_('Email'),$title); + Event::handle('EndAccountSettingsEmailMenuItem', array($this, &$menu)); + } + if(Event::handle('StartAccountSettingsDesignMenuItem', array($this, &$menu))){ + // TRANS: Link title attribute in user account settings menu. + $title = _('Design your profile'); + // TRANS: Link description in user account settings menu. + $this->showMenuItem('userdesignsettings',_('Design'),$title); + Event::handle('EndAccountSettingsDesignMenuItem', array($this, &$menu)); + } + if(Event::handle('StartAccountSettingsOtherMenuItem', array($this, &$menu))){ + // TRANS: Link title attribute in user account settings menu. + $title = _('Other options'); + // TRANS: Link description in user account settings menu. + $this->showMenuItem('othersettings',_('Other'),$title); + Event::handle('EndAccountSettingsOtherMenuItem', array($this, &$menu)); } Event::handle('EndAccountSettingsNav', array(&$this->action)); @@ -140,4 +152,13 @@ class AccountSettingsNav extends Widget $this->action->elementEnd('ul'); } + + function showMenuItem($menuaction, $desc1, $desc2) + { + $action_name = $this->action->trimmed('action'); + $this->action->menuItem(common_local_url($menuaction), + $desc1, + $desc2, + $action_name === $menuaction); + } }