From 64600f942d99365c8dfd0371bfa3579c5ae65b5c Mon Sep 17 00:00:00 2001 From: Sjon Hortensius Date: Sun, 22 Mar 2015 17:56:38 +0100 Subject: [PATCH] Some bugfixes, converted addPrivs refs #18 --- usr/local/www/system_groupmanager.php | 573 +++++------------- .../www/system_groupmanager_addprivs.php | 159 ++--- usr/local/www/system_usermanager.php | 25 +- 3 files changed, 214 insertions(+), 543 deletions(-) diff --git a/usr/local/www/system_groupmanager.php b/usr/local/www/system_groupmanager.php index 7132a45005..9cb7513b5a 100644 --- a/usr/local/www/system_groupmanager.php +++ b/usr/local/www/system_groupmanager.php @@ -60,10 +60,10 @@ $a_group = &$config['system']['group']; unset($id); if (isset($_POST['groupid']) && is_numericint($_POST['groupid'])) $id = $_POST['groupid']; +elseif (isset($_GET['groupid']) && is_numericint($_GET['groupid'])) + $id = $_GET['groupid']; -$act = (isset($_POST['act']) ? $_POST['act'] : ''); - -if ($act == "delgroup") { +if ($_POST['act'] == "delgroup") { if (!isset($id) || !isset($_POST['groupname']) || !isset($a_group[$id]) || ($_POST['groupname'] != $a_group[$id]['name'])) { pfSenseHeader("system_groupmanager.php"); @@ -80,31 +80,23 @@ if ($act == "delgroup") { gettext("successfully deleted")."
"; } -if ($act == "delpriv") { +if ($_GET['act'] == "edit") { + // This used to be a separate act=delpriv + if (isset($a_group[$id]) && !empty($_POST['delpriv'])) { + foreach ($_POST['delpriv'] as $i) + unset($a_group[$id]['priv'][ $i ]); - if (!isset($id) || !isset($a_group[$id])) { - pfSenseHeader("system_groupmanager.php"); - exit; - } - - $privdeleted = $priv_list[$a_group[$id]['priv'][$_POST['privid']]]['name']; - unset($a_group[$id]['priv'][$_POST['privid']]); - - if (is_array($a_group[$id]['member'])) { - foreach ($a_group[$id]['member'] as $uid) { - $user = getUserEntryByUID($uid); - if ($user) - local_user_set($user); + if (is_array($a_group[$id]['member'])) { + foreach ($a_group[$id]['member'] as $uid) { + $user = getUserEntryByUID($uid); + if ($user) + local_user_set($user); + } } + + write_config(); } - write_config(); - $act = "edit"; - $savemsg = gettext("Privilege")." {$privdeleted} ". - gettext("successfully deleted")."
"; -} - -if ($act == "edit") { if (isset($id) && isset($a_group[$id])) { $pconfig['name'] = $a_group[$id]['name']; $pconfig['gid'] = $a_group[$id]['gid']; @@ -115,26 +107,7 @@ if ($act == "edit") { } } -if(isset($_POST['dellall_x'])) { - - $del_groups = $_POST['delete_check']; - - if(!empty($del_groups)) { - foreach($del_groups as $groupid) { - if(isset($a_group[$groupid]) && $a_group[$groupid]['scope'] != "system") { - conf_mount_rw(); - local_group_del($a_group[$groupid]); - conf_mount_ro(); - unset($a_group[$groupid]); - } - } - $savemsg = gettext("Selected groups removed successfully!"); - write_config($savemsg); - } -} - if (isset($_POST['save'])) { - unset($input_errors); $pconfig = $_POST; @@ -202,384 +175,164 @@ if (isset($_POST['save'])) { include("head.inc"); +if ($input_errors) + print_input_errors($input_errors); +if ($savemsg) + print_info_box($savemsg); + +$tab_array = array(); +$tab_array[] = array(gettext("Users"), false, "system_usermanager.php"); +$tab_array[] = array(gettext("Groups"), true, "system_groupmanager.php"); +$tab_array[] = array(gettext("Settings"), false, "system_usermanager_settings.php"); +$tab_array[] = array(gettext("Servers"), false, "system_authservers.php"); +display_top_tabs($tab_array); + +if (!($_GET['act'] == "new" || $_GET['act'] == "edit")) +{ ?> + + + + + + + + + + + $group): + if ($group["name"] == "all") + $groupcount = count($config['system']['user']); + else + $groupcount = count($group['member']); +?> + + + + + + + + +
+ + + + + + + edit + + delete + +
-"> - - - - - - - - - - - -
- -
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- /> -
- -
- -
- - - - - - -
-
-
- -
-
-
- - " alt="" width="17" height="17" border="0" /> - -

- - " alt="" width="17" height="17" border="0" /> - -
-
-
- -
-
- -
- - - - - - - - - - - - - - - - - - -
- - - - - '; - return confirm('');" - title="" /> -
- - add - - -
-
  - " /> - " onclick="window.location.href='/system_groupmanager.php'" /> - - - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - '; - document.getElementById('groupid').value=''; - document.iform2.submit();" id="fr"> - - - - - - - - -
 
- ';" - title="" /> - ')" /> -
-

- -

-
- - - - - - - - - -
- <?=gettext(" title="" border="0" height="16" width="16" /> - -   -
-
-   - - - - ';" - title="" /> -   - - '; - return confirm('');" - title="" /> - -
-
- -
-
- - - +include('foot.inc'); \ No newline at end of file diff --git a/usr/local/www/system_groupmanager_addprivs.php b/usr/local/www/system_groupmanager_addprivs.php index ae7e884409..3b06039b95 100644 --- a/usr/local/www/system_groupmanager_addprivs.php +++ b/usr/local/www/system_groupmanager_addprivs.php @@ -44,12 +44,12 @@ function cpusercmp($a, $b) { } function admin_groups_sort() { - global $config; + global $config; - if (!is_array($config['system']['group'])) - return; + if (!is_array($config['system']['group'])) + return; - usort($config['system']['group'], "cpusercmp"); + usort($config['system']['group'], "cpusercmp"); } require("guiconfig.inc"); @@ -58,7 +58,7 @@ $pgtitle = array(gettext("System"),gettext("Group manager"),gettext("Add privile if (is_numericint($_GET['groupid'])) $groupid = $_GET['groupid']; -if (isset($_POST['groupid']) && is_numericint($_POST['groupid'])) +elseif (isset($_POST['groupid']) && is_numericint($_POST['groupid'])) $groupid = $_POST['groupid']; $a_group = & $config['system']['group'][$groupid]; @@ -111,7 +111,7 @@ if ($_POST) { $retval = write_config(); $savemsg = get_std_save_message($retval); - pfSenseHeader("system_groupmanager.php?act=edit&id={$groupid}"); + pfSenseHeader("system_groupmanager.php?act=edit&groupid={$groupid}"); exit; } } @@ -121,121 +121,46 @@ if(isAjax()) print_info_box_np($savemsg); include("head.inc"); -?> -"> - - - - - - - - - - -
- -
-
-
- - - - - - - - - - - - - -
- - - -
- -
- -
- Select all - -
-
-
- -
  - " /> - " onclick="history.back()" /> - - - -
-
-
-
- - - +$section->addInput(new Form_Select( + 'sysprivs', + 'Assigned privileges', + $a_group['priv'], + $priv_list, + true +))->setHelp('Hold down CTRL (pc)/COMMAND (mac) key to select')->setAttribute('size', 30); + +$form->add($section); + +print $form; + +include('foot.inc'); \ No newline at end of file diff --git a/usr/local/www/system_usermanager.php b/usr/local/www/system_usermanager.php index fdb9b8020b..8db54be14f 100644 --- a/usr/local/www/system_usermanager.php +++ b/usr/local/www/system_usermanager.php @@ -323,7 +323,7 @@ display_top_tabs($tab_array); if (!($_GET['act'] == "new" || $_GET['act'] == "edit" || $input_errors)) { - ?> +?> @@ -358,17 +358,9 @@ foreach($a_user as $i => $userent): @@ -442,7 +434,7 @@ $section->addInput($input = new Form_Input( if ($ro) $input->setAttribute('disabled', 'disabled'); -$group = new Form_Group($input->getTitle()); +$group = new Form_Group('Password'); $group->add(new Form_Input( 'passwordfld1', 'Password', @@ -461,7 +453,7 @@ $section->addInput($input = new Form_Input( 'Full name', 'text', htmlspecialchars($pconfig['descr']) -))->setHelp('User"s full name, for your own information only'); +))->setHelp('User\'s full name, for your own information only'); if ($ro) $input->setAttribute('disabled', 'disabled'); @@ -549,10 +541,10 @@ if (isset($pconfig['uid'])) } else { - $section = new Form_Section('Create certificate for user'); - if (is_array($config['ca']) && count($config['ca']) > 0) { + $section = new Form_Section('Create certificate for user'); + $nonPrvCas = array(); foreach( $config['ca'] as $ca) { @@ -597,10 +589,11 @@ else $pconfig['lifetime'] )); } + + $form->add($section); } } -$form->add($section); $section = new Form_Section('Keys'); $section->addInput(new Form_Textarea(
-
- - - -
+ edit -
- - - -
+ delete