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/system_usermanager.php | 118 +++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) (limited to 'src/usr/local/www/system_usermanager.php') diff --git a/src/usr/local/www/system_usermanager.php b/src/usr/local/www/system_usermanager.php index 13b405d..c12b916 100644 --- a/src/usr/local/www/system_usermanager.php +++ b/src/usr/local/www/system_usermanager.php @@ -94,6 +94,17 @@ if (isset($id) && $a_user[$id]) { $pconfig['usernamefld'] = $a_user[$id]['name']; $pconfig['descr'] = $a_user[$id]['descr']; $pconfig['expires'] = $a_user[$id]['expires']; + $pconfig['customsettings'] = isset($a_user[$id]['customsettings']); + $pconfig['webguicss'] = $a_user[$id]['webguicss']; + $pconfig['webguifixedmenu'] = $a_user[$id]['webguifixedmenu']; + $pconfig['webguihostnamemenu'] = $a_user[$id]['webguihostnamemenu']; + $pconfig['dashboardcolumns'] = $a_user[$id]['dashboardcolumns']; + $pconfig['dashboardavailablewidgetspanel'] = isset($a_user[$id]['dashboardavailablewidgetspanel']); + $pconfig['systemlogsfilterpanel'] = isset($a_user[$id]['systemlogsfilterpanel']); + $pconfig['systemlogsmanagelogpanel'] = isset($a_user[$id]['systemlogsmanagelogpanel']); + $pconfig['statusmonitoringsettingspanel'] = isset($a_user[$id]['statusmonitoringsettingspanel']); + $pconfig['webguileftcolumnhyper'] = isset($a_user[$id]['webguileftcolumnhyper']); + $pconfig['pagenamefirst'] = isset($a_user[$id]['pagenamefirst']); $pconfig['groups'] = local_user_get_groups($a_user[$id]); $pconfig['utype'] = $a_user[$id]['scope']; $pconfig['uid'] = $a_user[$id]['uid']; @@ -330,6 +341,7 @@ if ($_POST['save']) { $userent['name'] = $_POST['usernamefld']; $userent['expires'] = $_POST['expires']; + $userent['dashboardcolumns'] = $_POST['dashboardcolumns']; $userent['authorizedkeys'] = base64_encode($_POST['authorizedkeys']); $userent['ipsecpsk'] = $_POST['ipsecpsk']; @@ -339,6 +351,66 @@ if ($_POST['save']) { unset($userent['disabled']); } + if ($_POST['customsettings']) { + $userent['customsettings'] = true; + } else { + unset($userent['customsettings']); + } + + if ($_POST['webguicss']) { + $userent['webguicss'] = $_POST['webguicss']; + } else { + unset($userent['webguicss']); + } + + if ($_POST['webguifixedmenu']) { + $userent['webguifixedmenu'] = $_POST['webguifixedmenu']; + } else { + unset($userent['webguifixedmenu']); + } + + if ($_POST['webguihostnamemenu']) { + $userent['webguihostnamemenu'] = $_POST['webguihostnamemenu']; + } else { + unset($userent['webguihostnamemenu']); + } + + if ($_POST['dashboardavailablewidgetspanel']) { + $userent['dashboardavailablewidgetspanel'] = true; + } else { + unset($userent['dashboardavailablewidgetspanel']); + } + + if ($_POST['systemlogsfilterpanel']) { + $userent['systemlogsfilterpanel'] = true; + } else { + unset($userent['systemlogsfilterpanel']); + } + + if ($_POST['systemlogsmanagelogpanel']) { + $userent['systemlogsmanagelogpanel'] = true; + } else { + unset($userent['systemlogsmanagelogpanel']); + } + + if ($_POST['statusmonitoringsettingspanel']) { + $userent['statusmonitoringsettingspanel'] = true; + } else { + unset($userent['statusmonitoringsettingspanel']); + } + + if ($_POST['webguileftcolumnhyper']) { + $userent['webguileftcolumnhyper'] = true; + } else { + unset($userent['webguileftcolumnhyper']); + } + + if ($_POST['pagenamefirst']) { + $userent['pagenamefirst'] = true; + } else { + unset($userent['pagenamefirst']); + } + if (isset($id) && $a_user[$id]) { $a_user[$id] = $userent; } else { @@ -710,6 +782,15 @@ if ($act == "new" || $act == "edit" || $input_errors): ))->setHelp('Leave blank if the account shouldn\'t expire, otherwise enter '. 'the expiration date'); + $section->addInput(new Form_Checkbox( + 'customsettings', + 'Custom Settings', + 'Use individual customized GUI options and dashboard layout for this user.', + $pconfig['customsettings'] + )); + + gen_user_settings_fields($section, $pconfig); + // ==== Group membership ================================================== $group = new Form_Group('Group membership'); @@ -883,12 +964,48 @@ $section->addInput(new Form_Input( $form->add($section); print $form; + +$csswarning = sprintf(gettext("%sUser-created themes are unsupported, use at your own risk."), "
"); ?>