$pconfig['name'] = null; $pconfig['gid'] = null; $pconfig['scope'] = null; $pconfig['description'] = null; $pconfig['members'] = array(); $pconfig['priv'] = array(); } } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($a_group[$_POST['groupid']])) { $id = $_POST['groupid']; } $pconfig = $_POST; $act = isset($pconfig['act']) ? $pconfig['act'] : ''; if (isset($id) && $act == "delgroup" && isset($pconfig['groupname']) && $pconfig['groupname'] == $a_group[$id]['name']) { // remove group local_group_del($a_group[$id]); $groupdeleted = $a_group[$id]['name']; unset($a_group[$id]); write_config(); // reload page header("Location: system_groupmanager.php"); exit; } elseif (isset($id) && $act == "delpriv" && isset($a_group[$id]['priv']) && is_array($a_group[$id]['priv'])) { // remove by privid foreach ($a_group[$id]['priv'] as $key => $value) { if ($value == $pconfig['privid']) { unset($a_group[$id]['priv'][$key]); } } if (isset($a_group[$id]['member']) && is_array($a_group[$id]['member'])) { foreach ($a_group[$id]['member'] as $uid) {
$pgtitle = array(gettext("System"), gettext("Group manager")); if (!is_array($config['system']['group'])) { $config['system']['group'] = array(); } $a_group =& $config['system']['group']; $id = $_GET['id']; if (isset($_POST['id'])) { $id = $_POST['id']; } if ($_GET['act'] == "delgroup") { if (!$a_group[$_GET['id']]) { pfSenseHeader("system_groupmanager.php"); exit; } conf_mount_rw(); local_group_del($a_group[$_GET['id']]); conf_mount_ro(); $groupdeleted = $a_group[$_GET['id']]['name']; unset($a_group[$_GET['id']]); write_config(); $savemsg = gettext("Group") . " {$groupdeleted} " . gettext("successfully deleted") . "<br />"; } if ($_GET['act'] == "delpriv") { if (!$a_group[$_GET['id']]) { pfSenseHeader("system_groupmanager.php"); exit; } $privdeleted = $priv_list[$a_group[$id]['priv'][$_GET['privid']]]['name']; unset($a_group[$id]['priv'][$_GET['privid']]); if (is_array($a_group[$id]['member'])) { foreach ($a_group[$id]['member'] as $uid) {
if (isset($id) && isset($a_group[$id])) { $pconfig['name'] = $a_group[$id]['name']; $pconfig['gid'] = $a_group[$id]['gid']; $pconfig['gtype'] = $a_group[$id]['scope']; $pconfig['description'] = $a_group[$id]['description']; $pconfig['members'] = $a_group[$id]['member']; $pconfig['priv'] = $a_group[$id]['priv']; } } if (isset($_GET['dellall_x'])) { $del_groups = $_GET['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; /* input validation */ $reqdfields = explode(" ", "groupname"); $reqdfieldsn = array(gettext("Group Name")); do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors);