From 8bab524e06831489a882e7d65e9cbd52d39febbd Mon Sep 17 00:00:00 2001 From: Phil Davis Date: Thu, 23 Jun 2016 12:23:16 +0930 Subject: Feature #6388 custom GUI preference settings per user --- src/usr/local/www/classes/Form/Group.class.php | 4 +- src/usr/local/www/head.inc | 20 ++- src/usr/local/www/index.php | 15 +- src/usr/local/www/status_logs_common.inc | 6 +- src/usr/local/www/system.php | 113 ++----------- src/usr/local/www/system_advanced_admin.php | 9 +- src/usr/local/www/system_user_settings.php | 212 +++++++++++++++++++++++++ src/usr/local/www/system_usermanager.php | 118 ++++++++++++++ 8 files changed, 368 insertions(+), 129 deletions(-) create mode 100644 src/usr/local/www/system_user_settings.php (limited to 'src/usr/local') diff --git a/src/usr/local/www/classes/Form/Group.class.php b/src/usr/local/www/classes/Form/Group.class.php index d07010a..813ace9 100644 --- a/src/usr/local/www/classes/Form/Group.class.php +++ b/src/usr/local/www/classes/Form/Group.class.php @@ -108,7 +108,7 @@ EOT; public function __toString() { - global $config; + global $config, $user_settings; $element = parent::__toString(); @@ -142,7 +142,7 @@ EOT; $inputs = implode('', $this->_inputs); $help = $this->_getHelp(); - if (!isset($config['system']['webgui']['webguileftcolumnhyper'])) + if (!$user_settings['webgui']['webguileftcolumnhyper']) $target = null; $label = new Form_Element('label', false, ['for' => $target]); diff --git a/src/usr/local/www/head.inc b/src/usr/local/www/head.inc index 24f7d4e..b3d3ef7 100644 --- a/src/usr/local/www/head.inc +++ b/src/usr/local/www/head.inc @@ -60,7 +60,7 @@ header('Content-Type: text/html; charset=utf-8'); $pagetitle = gentitle($pgtitle); -if (isset($config['system']['webgui']['pagenamefirst'])) { +if ($user_settings['webgui']['pagenamefirst']) { $tabtitle = $pagetitle . " - " . htmlspecialchars($config['system']['hostname'] . "." . $config['system']['domain']); } else { $tabtitle = htmlspecialchars($config['system']['hostname'] . "." . $config['system']['domain']) . " - " . $pagetitle; @@ -68,9 +68,9 @@ if (isset($config['system']['webgui']['pagenamefirst'])) { $cssfile = "/css/pfSense.css"; -if (isset($config['system']['webgui']['webguicss'])) { - if (file_exists("/usr/local/www/css/" . $config['system']['webgui']['webguicss'])) { - $cssfile = "/css/" . $config['system']['webgui']['webguicss']; +if (isset($user_settings['webgui']['webguicss'])) { + if (file_exists("/usr/local/www/css/" . $user_settings['webgui']['webguicss'])) { + $cssfile = "/css/" . $user_settings['webgui']['webguicss']; } } @@ -255,6 +255,10 @@ if (!isAllowedPage("system_usermanager.php*")) { $system_menu[] = array(gettext("User Manager"), "/system_usermanager.php"); } +if ($user_settings['customsettings'] && isAllowedPage("system_user_settings.php*")) { + $system_menu[] = array(gettext("User Settings"), "/system_user_settings.php"); +} + $system_menu = msort(array_merge($system_menu, return_ext_menu("System")), 0); // Interfaces @@ -425,11 +429,11 @@ if (!$g['disablehelpmenu']) { $menuclass = "static"; -if (isset($config['system']['webgui']['webguifixedmenu'])) { +if ($user_settings['webgui']['webguifixedmenu'] == "fixed") { $menuclass = "fixed"; } -$numColumns = $config['system']['webgui']['dashboardcolumns']; +$numColumns = $user_settings['webgui']['dashboardcolumns']; if (($pagename === "index.php") && ($numColumns > 2)) { $columnsContainer = 'style="max-width: ' . 585*$numColumns . 'px;width: 100%"'; @@ -450,10 +454,10 @@ if (($pagename === "index.php") && ($numColumns > 2)) {