1
0
mirror of https://github.com/e107inc/e107.git synced 2025-06-12 06:01:25 +02:00

Issue #116: Admin-ui Page-Title doesn't match Admin Menu Item. -

addTitle() call inside Observer or Header sets auto the title from admin
menu caption now
This commit is contained in:
SecretR
2013-02-22 16:12:05 +02:00
parent d35720e235
commit dcd8e21c40
2 changed files with 42 additions and 12 deletions

View File

@ -638,8 +638,8 @@ $array_functions = array(
$array_functions = e107::getNav()->adminLinks(); // replacement see e107_handlers/sitelinks.php $array_functions = e107::getNav()->adminLinks(); // replacement see e107_handlers/sitelinks.php
// SecretR - BC only, obsolete meta title auto detection
if(!defset('e_PAGETITLE')) if(!defset('e_ADMIN_UI') && !defset('e_PAGETITLE'))
{ {
foreach($array_functions as $val) foreach($array_functions as $val)
{ {
@ -650,6 +650,3 @@ if(!defset('e_PAGETITLE'))
} }
} }
} }
?>

View File

@ -1014,7 +1014,7 @@ class e_admin_dispatcher
* @param string|array|e_admin_request $request [optional] * @param string|array|e_admin_request $request [optional]
* @param e_admin_response $response * @param e_admin_response $response
*/ */
public function __construct($request = null, $response = null, $auto_observe = true) public function __construct($auto_observe = true, $request = null, $response = null)
{ {
// we let know some admin routines we are in UI mod - related with some legacy checks and fixes // we let know some admin routines we are in UI mod - related with some legacy checks and fixes
if(!defined('e_ADMIN_UI')) if(!defined('e_ADMIN_UI'))
@ -1144,6 +1144,24 @@ class e_admin_dispatcher
return $this; return $this;
} }
/**
* Get admin menu array
* @return array
*/
public function getMenuData()
{
return $this->adminMenu;
}
/**
* Get admin menu array
* @return array
*/
public function getMenuAliases()
{
return $this->adminMenuAliases;
}
/** /**
* Get request object * Get request object
* @return e_admin_request * @return e_admin_request
@ -1536,6 +1554,7 @@ class e_admin_controller
/** /**
* Check against allowed/disallowed actions * Check against allowed/disallowed actions
* FIXME check plugin admin access (check_class(P)), confirm e-token is verified
*/ */
public function checkAccess() public function checkAccess()
{ {
@ -1728,12 +1747,22 @@ class e_admin_controller
/** /**
* Add page title, response proxy method * Add page title, response proxy method
* *
* @param string $title * @param string $title if boolean true - current menu caption will be used
* @param boolean $meta add to meta as well * @param boolean $meta add to meta as well
* @return e_admin_controller * @return e_admin_controller
*/ */
public function addTitle($title, $meta = true) public function addTitle($title = true, $meta = true)
{ {
if(true === $title)
{
$_dispatcher = $this->getDispatcher();
$data = $_dispatcher->getMenuData();
$search = $this->getMode().'/'.$this->getAction();
if(isset($data[$search])) $res = $data[$search];
else return $this;
$title = $res['caption'];
}
$this->getResponse()->appendTitle($title); $this->getResponse()->appendTitle($title);
if($meta) $this->addMetaTitle($title); if($meta) $this->addMetaTitle($title);
return $this; return $this;
@ -4148,7 +4177,7 @@ class e_admin_ui extends e_admin_controller_ui
public function ListObserver() public function ListObserver()
{ {
$this->getTreeModel()->setParam('db_query', $this->_modifyListQry(false, false, false, false, $this->listQry))->load(); $this->getTreeModel()->setParam('db_query', $this->_modifyListQry(false, false, false, false, $this->listQry))->load();
$this->addTitle(LAN_LIST); // FIXME - get captions from dispatch list $this->addTitle();
} }
/** /**
@ -4303,7 +4332,7 @@ class e_admin_ui extends e_admin_controller_ui
public function EditObserver() public function EditObserver()
{ {
$this->getModel()->load($this->getId()); $this->getModel()->load($this->getId());
$this->addTitle(LAN_UPDATE, true); $this->addTitle();
} }
/** /**
@ -4348,7 +4377,7 @@ class e_admin_ui extends e_admin_controller_ui
public function CreateObserver() public function CreateObserver()
{ {
$this->setTriggersEnabled(true); $this->setTriggersEnabled(true);
$this->addTitle(LAN_CREATE, true); $this->addTitle();
} }
/** /**
@ -4439,10 +4468,14 @@ class e_admin_ui extends e_admin_controller_ui
$this->getConfig()->setMessages(); $this->getConfig()->setMessages();
} }
public function PrefsObserver()
{
$this->addTitle();
}
public function PrefsPage() public function PrefsPage()
{ {
$this->addTitle(LAN_PREFS);
return $this->getUI()->getSettings(); return $this->getUI()->getSettings();
} }