From 17e2dcca83e32a889e4c564f1c70c5692357a11e Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Wed, 23 Jul 2014 14:28:29 -0500 Subject: [PATCH] i18n: Language change takes effect immediately --- include/class.nav.php | 21 ++++++++++++++++----- include/class.staff.php | 1 + 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/include/class.nav.php b/include/class.nav.php index 644a00f6c..6f72add47 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 836fa09de..fa776422d 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']) -- GitLab