X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Faccountsettingsaction.php;h=7991c9002c0fa287f8d2a0d25b34f69c9dd008f0;hb=06a8de060d4f24406f9589cd463812abf318f121;hp=1a21d871ed592c5ea5926ab77b937e2e9ced8411;hpb=7dc3a90d1252137859a687e32313ea569dcf8796;p=quix0rs-gnu-social.git diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index 1a21d871ed..7991c9002c 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @copyright 2008-2009 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); } @@ -37,14 +37,13 @@ require_once INSTALLDIR.'/lib/settingsaction.php'; * Base class for account settings actions * * @category Settings - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 AccountSettingsAction extends SettingsAction { /** @@ -54,7 +53,6 @@ class AccountSettingsAction extends SettingsAction * * @return void */ - function showLocalNav() { $menu = new AccountSettingsNav($this); @@ -66,14 +64,13 @@ class AccountSettingsAction extends SettingsAction * A widget for showing the settings group local nav menu * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 HTMLOutputter */ - class AccountSettingsNav extends Widget { var $action = null; @@ -83,7 +80,6 @@ class AccountSettingsNav extends Widget * * @param Action $action current action, used for output */ - function __construct($action=null) { parent::__construct($action); @@ -95,47 +91,69 @@ class AccountSettingsNav extends Widget * * @return void */ - 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) { - if ($menuaction == 'openidsettings' && - !common_config('openid', 'enabled')) { - continue; + if (Event::handle('StartAccountSettingsNav', array(&$this->action))) { + $user = common_current_user(); + + 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('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)); + } + 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)); } - $this->action->menuItem(common_local_url($menuaction), - $menudesc[0], - $menudesc[1], - $action_name === $menuaction); + 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)); } $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); + } }