diff --git a/include/class.nav.php b/include/class.nav.php index 644a00f6ca2fbbe7811d12d40e50daa019dc51b9..6f72add47f346900b3230096cd5324da0e14a6eb 100644 --- a/include/class.nav.php +++ b/include/class.nav.php @@ -16,11 +16,9 @@ require_once(INCLUDE_DIR.'class.app.php'); class StaffNav { - var $tabs=array(); - var $submenus=array(); var $activetab; - var $activemenu; + var $activeMenu; var $panel; var $staff; @@ -28,8 +26,21 @@ class StaffNav { function StaffNav($staff, $panel='staff'){ $this->staff=$staff; $this->panel=strtolower($panel); - $this->tabs=$this->getTabs(); - $this->submenus=$this->getSubMenus(); + } + + function __get($what) { + // Lazily initialize the tabbing system + switch($what) { + case 'tabs': + $this->tabs=$this->getTabs(); + break; + case 'submenus': + $this->submenus=$this->getSubMenus(); + break; + default: + throw new Exception($what . ': No such attribute'); + } + return $this->{$what}; } function getPanel(){ diff --git a/include/class.staff.php b/include/class.staff.php index 836fa09de2e000884bbfa886aca80227e4c3549a..fa776422d3145a2aa74b5b55a9a0fb99dc04c950 100644 --- a/include/class.staff.php +++ b/include/class.staff.php @@ -500,6 +500,7 @@ class Staff extends AuthenticatedUser { $this->config->set('lang', $vars['lang']); $_SESSION['staff:lang'] = null; + TextDomain::configureForUser($this); $sql='UPDATE '.STAFF_TABLE.' SET updated=NOW() ' .' ,firstname='.db_input($vars['firstname'])