'Delete', 3 => 'Enable', 4 => 'Disable' ); $href_options = array( 3 => array( 'radio_value' => '4', 'radio_caption' => 'Defer to the Users Setting' ), 0 => array( 'radio_value' => '1', 'radio_caption' => 'Show the Page that the User pointed their browser to' ), 1 => array( 'radio_value' => '2', 'radio_caption' => 'Show the Console' ), 2 => array( 'radio_value' => '3', 'radio_caption' => 'Show the default Graph Screen' ) ); $gperm_options = array( 0 => array( 'radio_value' => '1', 'radio_caption' => 'Defer to the Users Setting' ), 1 => array( 'radio_value' => '2', 'radio_caption' => 'Grant Access' ), 2 => array( 'radio_value' => '3', 'radio_caption' => 'Restrict Access' ) ); //if (isset($_REQUEST['id']) && !group_group_console_allowed($_REQUEST['id'])) { // unset($href_options[1]); //} $fields_user_group_edit = array( 'name' => array( 'method' => 'textbox', 'friendly_name' => 'Group Name', 'description' => 'The name of this Group.', 'value' => '|arg1:name|', 'max_length' => '255' ), 'description' => array( 'method' => 'textbox', 'friendly_name' => 'Group Description', 'description' => 'A more descriptive name for this group, that can include spaces or special characters.', 'value' => '|arg1:description|', 'max_length' => '255' ), 'enabled' => array( 'method' => 'checkbox', 'friendly_name' => 'Enabled', 'description' => 'Determines if user is able to login.', 'value' => '|arg1:enabled|', 'default' => '' ), 'grp1' => array( 'friendly_name' => 'General Group Options', 'method' => 'checkbox_group', 'description' => 'Set any user account-specific options here.', 'items' => array( 'graph_settings' => array( 'value' => '|arg1:graph_settings|', 'friendly_name' => 'Allow Users of this Group to keep custom Graph Settings', 'form_id' => '|arg1:id|', 'default' => 'on' ) ) ), 'show_tree' => array( 'friendly_name' => 'Graph Tree Rights', 'method' => 'radio', 'description' => 'Should Users of this Group have access to the Tree?', 'value' => '|arg1:show_tree|', 'default' => '1', 'items' => $gperm_options ), 'show_list' => array( 'friendly_name' => 'Graph List Rights', 'method' => 'radio', 'description' => 'Should Users of this Group have access to the Graph List?', 'value' => '|arg1:show_list|', 'default' => '1', 'items' => $gperm_options ), 'show_preview' => array( 'friendly_name' => 'Graph Preview Rights', 'method' => 'radio', 'description' => 'Should Users of this Group have access to the Graph Preview?', 'value' => '|arg1:show_preview|', 'default' => '1', 'items' => $gperm_options ), 'login_opts' => array( 'friendly_name' => 'Login Options', 'method' => 'radio', 'default' => '1', 'description' => 'What to do when a User from this User Group logs in.', 'value' => '|arg1:login_opts|', 'items' => $href_options ), 'id' => array( 'method' => 'hidden_zero', 'value' => '|arg1:id|' ), '_policy_graphs' => array( 'method' => 'hidden', 'default' => '2', 'value' => '|arg1:policy_graphs|' ), '_policy_trees' => array( 'method' => 'hidden', 'default' => '2', 'value' => '|arg1:policy_trees|' ), '_policy_hosts' => array( 'method' => 'hidden', 'default' => '2', 'value' => '|arg1:policy_hosts|' ), '_policy_graph_templates' => array( 'method' => 'hidden', 'default' => '2', 'value' => '|arg1:policy_graph_templates|' ), 'save_component_group' => array( 'method' => 'hidden', 'value' => '1' ) ); if (isset($_POST['update_policy'])) { update_policies(); }else{ switch (get_request_var_request('action')) { case 'actions': form_actions(); break; case 'save': form_save(); break; case 'perm_remove': perm_remove(); break; case 'edit': top_header(); group_edit(); bottom_footer(); break; default: if (!api_plugin_hook_function('user_group_admin_action', get_request_var_request('action'))) { top_header(); user_group(); bottom_footer(); } break; } } /* -------------------------- Actions Function -------------------------- */ function user_group_disable($id) { db_execute_prepared("UPDATE user_auth_group SET enabled = '' WHERE id = ?", array($id)); } function user_group_enable($id) { db_execute_prepared("UPDATE user_auth_group SET enabled = 'on' WHERE id = ?", array($id)); } function user_group_remove($id) { db_execute_prepared('DELETE FROM user_auth_group WHERE id = ?', array($id)); db_execute_prepared('DELETE FROM user_auth_group_members WHERE group_id = ?', array($id)); db_execute_prepared('DELETE FROM user_auth_group_realm WHERE group_id = ?', array($id)); db_execute_prepared('DELETE FROM user_auth_group_perms WHERE group_id = ?', array($id)); } function update_policies() { $set = ''; $set .= isset($_POST['policy_graphs']) ? 'policy_graphs=' . get_request_var_post('policy_graphs'):''; $set .= isset($_POST['policy_trees']) ? (strlen($set) ? ',':'') . 'policy_trees=' . get_request_var_post('policy_trees'):''; $set .= isset($_POST['policy_hosts']) ? (strlen($set) ? ',':'') . 'policy_hosts=' . get_request_var_post('policy_hosts'):''; $set .= isset($_POST['policy_graph_templates']) ? (strlen($set) ? ',':'') . 'policy_graph_templates=' . get_request_var_post('policy_graph_templates'):''; if (strlen($set)) { db_execute_prepared("UPDATE user_auth_group SET $set WHERE id = ?", array(get_request_var_post('id'))); } header('Location: user_group_admin.php?action=edit&header=false&tab=' . get_request_var_post('tab') . '&id=' . get_request_var_post('id')); exit; } function form_actions() { global $group_actions, $user_auth_realms; /* if we are to save this form, instead of display it */ if (isset($_POST['associate_host'])) { while (list($var,$val) = each($_POST)) { if (preg_match('/^chk_([0-9]+)$/', $var, $matches)) { /* ================= input validation ================= */ input_validate_input_number($matches[1]); /* ==================================================== */ if (get_request_var_post('drp_action') == '1') { db_execute_prepared('REPLACE INTO user_auth_group_perms (group_id, item_id, type) VALUES (?, ?, 3)', array(get_request_var_post('id'), $matches[1])); }else{ db_execute_prepared('DELETE FROM user_auth_group_perms WHERE group_id = ? AND item_id = ? AND type = 3', array(get_request_var_post('id'), $matches[1])); } } } header('Location: user_group_admin.php?action=edit&header=false&tab=permsd&id=' . get_request_var_post('id')); exit; }elseif (isset($_POST['associate_graph'])) { while (list($var,$val) = each($_POST)) { if (preg_match('/^chk_([0-9]+)$/', $var, $matches)) { /* ================= input validation ================= */ input_validate_input_number($matches[1]); /* ==================================================== */ if (get_request_var_post('drp_action') == '1') { db_execute_prepared('REPLACE INTO user_auth_group_perms (group_id, item_id, type) VALUES (?, ?, 1)', array(get_request_var_post('id'), $matches[1])); }else{ db_execute_prepared('DELETE FROM user_auth_group_perms WHERE group_id = ? AND item_id = ? AND type = 1', array(get_request_var_post('id'), $matches[1])); } } } header('Location: user_group_admin.php?action=edit&header=false&tab=permsg&id=' . get_request_var_post('id')); exit; }elseif (isset($_POST['associate_template'])) { while (list($var,$val) = each($_POST)) { if (preg_match('/^chk_([0-9]+)$/', $var, $matches)) { /* ================= input validation ================= */ input_validate_input_number($matches[1]); /* ==================================================== */ if (get_request_var_post('drp_action') == '1') { db_execute_prepared('REPLACE INTO user_auth_group_perms (group_id, item_id, type) VALUES (?, ?, 4)', array(get_request_var_post('id'), $matches[1])); }else{ db_execute_prepared('DELETE FROM user_auth_group_perms WHERE group_id = ? AND item_id = ? AND type = 4', array(get_request_var_post('id'), $matches[1])); } } } header('Location: user_group_admin.php?action=edit&header=false&tab=permste&id=' . get_request_var_post('id')); exit; }elseif (isset($_POST['associate_tree'])) { while (list($var,$val) = each($_POST)) { if (preg_match('/^chk_([0-9]+)$/', $var, $matches)) { /* ================= input validation ================= */ input_validate_input_number($matches[1]); /* ==================================================== */ if (get_request_var_post('drp_action') == '1') { db_execute_prepared('REPLACE INTO user_auth_group_perms (group_id, item_id, type) VALUES (?, ?, 2)', array(get_request_var_post('id'), $matches[1])); }else{ db_execute_prepared('DELETE FROM user_auth_group_perms WHERE group_id = ? AND item_id = ? AND type = 2', array(get_request_var_post('id'), $matches[1])); } } } header('Location: user_group_admin.php?action=edit&header=false&tab=permstr&id=' . get_request_var_post('id')); exit; }elseif (isset($_POST['associate_member'])) { while (list($var,$val) = each($_POST)) { if (preg_match('/^chk_([0-9]+)$/', $var, $matches)) { /* ================= input validation ================= */ input_validate_input_number($matches[1]); /* ==================================================== */ if (get_request_var_post('drp_action') == '1') { db_execute_prepared('REPLACE INTO user_auth_group_members (group_id, user_id) VALUES (?, ?)', array(get_request_var_post('id'), $matches[1])); }else{ db_execute_prepared('DELETE FROM user_auth_group_members WHERE group_id = ? AND user_id = ?', array(get_request_var_post('id'), $matches[1])); } } } header('Location: user_group_admin.php?action=edit&header=false&tab=members&id=' . get_request_var_post('id')); exit; }elseif (isset($_POST['selected_items'])) { $selected_items = sanitize_unserialize_selected_items($_POST['selected_items']); if ($selected_items != false) { if (get_request_var_post('drp_action') == '1') { /* delete */ for ($i=0;($i'; } $group_array[$i] = $matches[1]; $i++; } } top_header(); form_start('user_group_admin.php'); html_start_box('' . $group_actions[get_request_var_post('drp_action')] . '', '60%', '', '3', 'center', ''); if (isset($group_array) && sizeof($group_array)) { if ((get_request_var_post('drp_action') == '1') && (sizeof($group_array))) { /* delete */ print "

Click 'Continue' and the the selected User Group(s).

\n"; $save_html = " "; } $group_id = ''; if ((get_request_var_post('drp_action') == '3') && (sizeof($group_array))) { /* enable */ print "

Click 'Continue' to enable the selected User Group(s).

\n"; $save_html = " "; } if ((get_request_var_post('drp_action') == '4') && (sizeof($group_array))) { /* disable */ print "

Click 'Continue' to disable the selected User Group(s).

\n"; $save_html = " "; } }else{ print "You must select at least one Group.\n"; $save_html = ""; } print " "; if (get_request_var_post('drp_action') == '2') { /* copy */ print "\n"; }else{ print "\n"; } print " $save_html \n"; html_end_box(); form_end(); bottom_footer(); } /* -------------------------- Save Function -------------------------- */ function form_save() { global $settings_graphs; if (isset($_POST['save_component_group'])) { /* ================= input validation ================= */ input_validate_input_number(get_request_var_post('id')); input_validate_input_number(get_request_var_post('realm')); /* ==================================================== */ /* check duplicate group */ if (sizeof(db_fetch_row_prepared('SELECT * FROM user_auth_group WHERE name = ? AND id != ?', array(get_request_var_post('name'), get_request_var_post('id'))))) { raise_message(12); } $save['id'] = get_request_var_post('id'); $save['name'] = form_input_validate(get_request_var_post('name'), 'name', "^[A-Za-z0-9\._\\\@\ -]+$", false, 3); $save['description'] = form_input_validate(get_request_var_post('description'), 'description', '', true, 3); $save['show_tree'] = form_input_validate(get_request_var_post('show_tree', ''), 'show_tree', '', true, 3); $save['show_list'] = form_input_validate(get_request_var_post('show_list', ''), 'show_list', '', true, 3); $save['show_preview'] = form_input_validate(get_request_var_post('show_preview', ''), 'show_preview', '', true, 3); $save['graph_settings'] = form_input_validate(get_request_var_post('graph_settings', ''), 'graph_settings', '', true, 3); $save['login_opts'] = form_input_validate(get_request_var_post('login_opts'), 'login_opts', '', true, 3); $save['enabled'] = form_input_validate(get_request_var_post('enabled', ''), 'enabled', '', true, 3); $save = api_plugin_hook_function('user_group_admin_setup_sql_save', $save); if (!is_error_message()) { $group_id = sql_save($save, 'user_auth_group'); if ($group_id) { raise_message(1); }else{ raise_message(2); } } header('Location: user_group_admin.php?action=edit&header=false&tab=general&id=' . (isset($group_id) && $group_id > 0 ? $group_id : get_request_var_post('id'))); exit; }elseif (isset($_POST['save_component_realm_perms'])) { db_execute_prepared('DELETE FROM user_auth_group_realm WHERE group_id = ?', array(get_request_var_post('id'))); while (list($var, $val) = each($_POST)) { if (preg_match('/^[section]/i', $var)) { if (substr($var, 0, 7) == 'section') { db_execute_prepared('REPLACE INTO user_auth_group_realm (group_id, realm_id) VALUES (?, ?)', array(get_request_var_post('id'), substr($var, 7))); } } } raise_message(1); header('Location: user_group_admin.php?action=edit&header=false&tab=realms&id=' . get_request_var_post('id')); exit; }elseif (isset($_POST['save_component_graph_settings'])) { while (list($tab_short_name, $tab_fields) = each($settings_graphs)) { while (list($field_name, $field_array) = each($tab_fields)) { if ((isset($field_array['items'])) && (is_array($field_array['items']))) { while (list($sub_field_name, $sub_field_array) = each($field_array['items'])) { db_execute_prepared('REPLACE INTO settings_graphs_group (group_id, name, value) VALUES (?, ?, ?)', array(get_request_var_post('id'), $sub_field_name, get_request_var_post($sub_field_name, ''))); } }else{ db_execute_prepared('REPLACE INTO settings_graphs_group (group_id, name, value) VALUES (?, ?, ?)', array(get_request_var_post('id'), $field_name, get_request_var_post($field_name))); } } } /* reset local settings cache so the user sees the new settings */ kill_session_var('sess_graph_config_array'); raise_message(1); header('Location: user_group_admin.php?action=edit&header=false&tab=settings&id=' . get_request_var_post('id')); exit; } else { api_plugin_hook('user_group_admin_save'); } /* redirect to the appropriate page */ header('Location: user_group_admin.php?action=edit&header=false&tab=general&id=' . get_request_var_post('id')); } /* -------------------------- Graph Permissions -------------------------- */ function perm_remove() { /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('id')); input_validate_input_number(get_request_var_request('group_id')); /* ==================================================== */ if (get_request_var_request('type') == 'graph') { db_execute_prepared('DELETE FROM user_auth_group_perms WHERE type=1 AND group_id = ? AND item_id = ?', array(get_request_var_request('group_id'), get_request_var_request('id'))); }elseif (get_request_var_request('type') == 'tree') { db_execute_prepared('DELETE FROM user_auth_group_perms WHERE type=2 AND group_id = ? AND item_id = ?', array(get_request_var_request('group_id'), get_request_var_request('id'))); }elseif (get_request_var_request('type') == 'host') { db_execute_prepared('DELETE FROM user_auth_group_perms WHERE type=3 AND group_id = ? AND item_id = ?', array(get_request_var_request('group_id'), get_request_var_request('id'))); }elseif (get_request_var_request('type') == 'graph_template') { db_execute_prepared('DELETE FROM user_auth_group_perms WHERE type=4 AND group_id = ? AND item_id = ?', array(get_request_var_request('group_id'), get_request_var_request('id'))); } header('Location: user_group_admin.php?action=edit&header=false&tab=gperms&id=' . get_request_var_request('group_id')); } function user_group_members_edit($header_label) { global $config, $auth_realms; process_member_request_vars(); member_filter($header_label); /* if the number of rows is -1, set it to the default */ if ($_REQUEST['rows'] == -1) { $rows = read_config_option('num_rows_table'); }else{ $rows = $_REQUEST['rows']; } /* form the 'where' clause for our main sql query */ if (strlen(get_request_var_request('filter'))) { $sql_where = "WHERE (username LIKE '%%" . get_request_var_request('filter') . "%%' OR full_name LIKE '%%" . get_request_var_request('filter') . "%%')"; } else { $sql_where = ''; } if (get_request_var_request('associated') == 'false') { /* Show all items */ } else { $sql_where .= (strlen($sql_where) ? ' AND ':'WHERE ') . ' (user_auth_group_members.group_id=' . get_request_var_request('id', 0) . ')'; } $total_rows = db_fetch_cell("SELECT COUNT(ua.id) FROM user_auth AS ua LEFT JOIN user_auth_group_members ON (ua.id = user_auth_group_members.user_id) $sql_where"); $sql_query = "SELECT DISTINCT ua.id, ua.username, ua.full_name, ua.enabled, ua.realm FROM user_auth AS ua LEFT JOIN user_auth_group_members ON (ua.id = user_auth_group_members.user_id) $sql_where ORDER BY username, full_name LIMIT " . ($rows*(get_request_var_request('page')-1)) . ',' . $rows; $members = db_fetch_assoc($sql_query); form_start(htmlspecialchars('user_group_admin.php?action=edit&tab=members&id=' . get_request_var_request('id')), 'chk'); html_start_box('', '100%', '', '3', 'center', ''); $nav = html_nav_bar('user_group_admin.php?action=edit&tab=members&id=' . get_request_var_request('id'), MAX_DISPLAY_PAGES, get_request_var_request('page'), $rows, $total_rows, 7, 'Users', 'page', 'main'); print $nav; $display_text = array('Login Name', 'Full Name', 'ID', 'Membership', 'Enabled', 'Realm'); html_header_checkbox($display_text, false); if (sizeof($members)) { foreach ($members as $g) { form_alternate_row('line' . $g['id'], true); form_selectable_cell('' . (strlen(get_request_var_request('filter')) ? preg_replace('/(' . preg_quote(get_request_var_request('filter')) . ')/i', "\\1", htmlspecialchars($g['username'])) : htmlspecialchars($g['username'])) . '', $g['id']); form_selectable_cell((strlen(get_request_var_request('filter')) ? preg_replace('/(' . preg_quote(get_request_var_request('filter')) . ')/i', "\\1", htmlspecialchars($g['full_name'])) : htmlspecialchars($g['full_name'])), $g['id']); form_selectable_cell($g['id'], $g['id']); if (user_group_is_member($g['id'], get_request_var_request('id'))) { form_selectable_cell('Group Member', $g['id']); }else{ form_selectable_cell('Non Member', $g['id']); } form_selectable_cell(($g['enabled'] == 'on' ? 'Enabled':'Disabled'), $g['id']); form_selectable_cell((isset($auth_realms[$g['realm']]) ? $auth_realms[$g['realm']]:'Unknown'), $g['id']); form_checkbox_cell($g['full_name'], $g['id']); form_end_row(); } /* put the nav bar on the bottom as well */ print $nav; } else { print 'No Matching Group Members Found'; } html_end_box(false); form_hidden_box('action', 'edit', ''); form_hidden_box('tab', 'members', ''); form_hidden_box('id', get_request_var_request('id'), ''); form_hidden_box('associate_member', '1', ''); $assoc_actions = array( 1 => 'Add to Group', 2 => 'Remove from Group' ); /* draw the dropdown containing a list of available actions for this form */ draw_actions_dropdown($assoc_actions); form_end(); } function user_group_graph_perms_edit($tab, $header_label) { global $config, $assoc_actions; /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('id')); /* ==================================================== */ $policy_array = array( 1 => 'Allow', 2 => 'Deny'); if (!empty($_REQUEST['id'])) { $policy = db_fetch_row_prepared('SELECT policy_graphs, policy_trees, policy_hosts, policy_graph_templates FROM user_auth_group WHERE id = ?', array(get_request_var_request('id'))); } switch($tab) { case 'permsg': process_graph_request_vars(); graph_filter($header_label); form_start('user_group_admin.php', 'policy'); /* box: device permissions */ html_start_box('Default Graph Policy', '100%', '', '3', 'center', ''); ?>
Default Graph policy for this User Group '>
0)"; } else { $sql_where = 'WHERE (gtg.local_graph_id>0)'; } if (get_request_var_request('graph_template_id') == '-1') { /* Show all items */ }elseif (get_request_var_request('graph_template_id') == '0') { $sql_where .= (strlen($sql_where) ? ' AND ':'WHERE ') . ' gtg.graph_template_id=0'; }elseif (!empty($_REQUEST['graph_template_id'])) { $sql_where .= (strlen($sql_where) ? ' AND ':'WHERE ') . ' gtg.graph_template_id=' . get_request_var_request('graph_template_id'); } if (get_request_var_request('associated') == 'false') { /* Show all items */ } else { $sql_where .= (strlen($sql_where) ? ' AND ':'WHERE ') . ' (user_auth_group_perms.type=1 AND user_auth_group_perms.group_id=' . get_request_var_request('id', 0) . ')'; } form_start(htmlspecialchars('user_group_admin.php?action=edit&tab=permsg&id=' . get_request_var_request('id')), 'chk'); html_start_box('', '100%', '', '3', 'center', ''); $total_rows = db_fetch_cell("select COUNT(gtg.id) FROM graph_templates_graph AS gtg LEFT JOIN user_auth_group_perms ON (gtg.local_graph_id = user_auth_group_perms.item_id AND user_auth_group_perms.type = 1) $sql_where"); $sql_query = "SELECT gtg.local_graph_id, gtg.title_cache, user_auth_group_perms.group_id FROM graph_templates_graph AS gtg LEFT JOIN user_auth_group_perms ON (gtg.local_graph_id=user_auth_group_perms.item_id AND user_auth_group_perms.type=1) $sql_where ORDER BY title_cache LIMIT " . ($rows*(get_request_var_request('page')-1)) . ',' . $rows; $graphs = db_fetch_assoc($sql_query); $nav = html_nav_bar('user_group_admin.php?action=edit&tab=permsg&id=' . get_request_var_request('id'), MAX_DISPLAY_PAGES, get_request_var_request('page'), $rows, $total_rows, 7, 'Graphs', 'page', 'main'); print $nav; $display_text = array('Graph Title', 'ID', 'Effective Policy'); html_header_checkbox($display_text, false); if (sizeof($graphs)) { foreach ($graphs as $g) { form_alternate_row('line' . $g['local_graph_id'], true); form_selectable_cell((strlen(get_request_var_request('filter')) ? preg_replace('/(' . preg_quote(get_request_var_request('filter')) . ')/i', "\\1", htmlspecialchars($g['title_cache'])) : htmlspecialchars($g['title_cache'])), $g['local_graph_id'], 250); form_selectable_cell($g['local_graph_id'], $g['local_graph_id']); if (empty($g['group_id']) || $g['group_id'] == NULL) { if ($policy['policy_graphs'] == 1) { form_selectable_cell('Access Granted', $g['local_graph_id']); }else{ form_selectable_cell('Access Restricted', $g['local_graph_id']); } } else { if ($policy['policy_graphs'] == 1) { form_selectable_cell('Access Restricted', $g['local_graph_id']); }else{ form_selectable_cell('Access Granted', $g['local_graph_id']); } } form_checkbox_cell($g['title_cache'], $g['local_graph_id']); form_end_row(); } /* put the nav bar on the bottom as well */ print $nav; } else { print 'No Matching Graphs Found'; } html_end_box(false); form_hidden_box('action', 'edit', ''); form_hidden_box('tab',$tab,''); form_hidden_box('id', get_request_var_request('id'), ''); form_hidden_box('associate_graph', '1', ''); if ($policy['policy_graphs'] == 1) { $assoc_actions = array( 1 => 'Revoke Access', 2 => 'Grant Access' ); }else{ $assoc_actions = array( 1 => 'Grant Access', 2 => 'Revoke Access' ); } /* draw the dropdown containing a list of available actions for this form */ draw_actions_dropdown($assoc_actions); form_end(); break; case 'permsd': process_device_request_vars(); device_filter($header_label); form_start('user_group_admin.php', 'policy'); /* box: device permissions */ html_start_box('Default Device Policy', '100%', '', '3', 'center', ''); ?>
Default Graph policy for this User Group '>
\\1", htmlspecialchars($host['description'])) : htmlspecialchars($host['description'])), $host['id'], 250); form_selectable_cell(round(($host['id']), 2), $host['id']); if (empty($host['group_id']) || $host['group_id'] == NULL) { if ($policy['policy_hosts'] == 1) { form_selectable_cell('Access Granted', $host['id']); }else{ form_selectable_cell('Access Restricted', $host['id']); } } else { if ($policy['policy_hosts'] == 1) { form_selectable_cell('Access Restricted', $host['id']); }else{ form_selectable_cell('Access Granted', $host['id']); } } form_selectable_cell((isset($host_graphs[$host['id']]) ? $host_graphs[$host['id']] : 0), $host['id']); form_selectable_cell((isset($host_data_sources[$host['id']]) ? $host_data_sources[$host['id']] : 0), $host['id']); form_selectable_cell(get_colored_device_status(($host['disabled'] == 'on' ? true : false), $host['status']), $host['id']); form_selectable_cell((strlen(get_request_var_request('filter')) ? preg_replace('/(' . preg_quote(get_request_var_request('filter')) . ')/i', "\\1", htmlspecialchars($host['hostname'])) : htmlspecialchars($host['hostname'])), $host['id']); form_checkbox_cell($host['description'], $host['id']); form_end_row(); } /* put the nav bar on the bottom as well */ print $nav; } else { print 'No Matching Devices Found'; } html_end_box(false); form_hidden_box('action', 'edit', ''); form_hidden_box('tab',$tab,''); form_hidden_box('id', get_request_var_request('id'), ''); form_hidden_box('associate_host', '1', ''); if ($policy['policy_hosts'] == 1) { $assoc_actions = array( 1 => 'Revoke Access', 2 => 'Grant Access' ); }else{ $assoc_actions = array( 1 => 'Grant Access', 2 => 'Revoke Access' ); } /* draw the dropdown containing a list of available actions for this form */ draw_actions_dropdown($assoc_actions); form_end(); break; case 'permste': process_template_request_vars(); template_filter($header_label); form_start('user_group_admin.php', 'policy'); /* box: device permissions */ html_start_box('Default Graph Template Policy', '100%', '', '3', 'center', ''); ?>
Default Graph Template Template policy for this User Group '>
\\1", htmlspecialchars($g['name'])) : htmlspecialchars($g['name'])), $g['id'], 250); form_selectable_cell($g['id'], $g['id']); if (empty($g['group_id']) || $g['group_id'] == NULL) { if ($policy['policy_graph_templates'] == 1) { form_selectable_cell('Access Granted', $g['id']); }else{ form_selectable_cell('Access Restricted', $g['id']); } } else { if ($policy['policy_graph_templates'] == 1) { form_selectable_cell('Access Restricted', $g['id']); }else{ form_selectable_cell('Access Granted', $g['id']); } } form_selectable_cell($g['totals'], $g['id']); form_checkbox_cell($g['name'], $g['id']); form_end_row(); } /* put the nav bar on the bottom as well */ print $nav; } else { print 'No Matching Graph Templates Found'; } html_end_box(false); form_hidden_box('action', 'edit', ''); form_hidden_box('tab',$tab,''); form_hidden_box('id', get_request_var_request('id'), ''); form_hidden_box('associate_template', '1', ''); if ($policy['policy_graph_templates'] == 1) { $assoc_actions = array( 1 => 'Revoke Access', 2 => 'Grant Access' ); }else{ $assoc_actions = array( 1 => 'Grant Access', 2 => 'Revoke Access' ); } /* draw the dropdown containing a list of available actions for this form */ draw_actions_dropdown($assoc_actions); form_end(); break; case 'permstr': process_tree_request_vars(); tree_filter($header_label); form_start('user_group_admin.php', 'policy'); /* box: device permissions */ html_start_box('Default Tree Policy', '100%', '', '3', 'center', ''); ?>
Default Tree policy for this User Group '>
\\1", htmlspecialchars($t['name'])) : htmlspecialchars($t['name'])), $t['id'], 250); form_selectable_cell($t['id'], $t['id']); if (empty($t['group_id']) || $t['group_id'] == NULL) { if ($policy['policy_trees'] == 1) { form_selectable_cell('Access Granted', $t['id']); }else{ form_selectable_cell('Access Restricted', $t['id']); } } else { if ($policy['policy_trees'] == 1) { form_selectable_cell('Access Restricted', $t['id']); }else{ form_selectable_cell('Access Granted', $t['id']); } } form_checkbox_cell($t['name'], $t['id']); form_end_row(); } /* put the nav bar on the bottom as well */ print $nav; } else { print 'No Matching Trees Found'; } html_end_box(false); form_hidden_box('action', 'edit', ''); form_hidden_box('tab',$tab,''); form_hidden_box('id', get_request_var_request('id'), ''); form_hidden_box('associate_tree', '1', ''); if ($policy['policy_graph_templates'] == 1) { $assoc_actions = array( 1 => 'Revoke Access', 2 => 'Grant Access' ); }else{ $assoc_actions = array( 1 => 'Grant Access', 2 => 'Revoke Access' ); } /* draw the dropdown containing a list of available actions for this form */ draw_actions_dropdown($assoc_actions); form_end(); break; } } function user_group_is_member($user_id, $group_id) { return db_fetch_cell_prepared('SELECT COUNT(*) FROM user_auth_group_members WHERE user_id = ? AND group_id = ?', array($user_id, $group_id)); } function user_group_realms_edit($header_label) { global $user_auth_realms; /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('id')); /* ==================================================== */ form_start('user_group_admin.php', 'chk'); $all_realms = $user_auth_realms; html_start_box('', '100%', '', '3', 'center', ''); print " Realm Permissions $header_label \n \n"; /* do cacti realms first */ print "Base Permissions\n"; print "
\n"; $i = 1; $j = 1; $base = array(7,8,15,1,2,3,4,5,6,9,10,11,12,13,14,16,17,18,19,20,21,22,23,101); foreach($base as $realm) { if (isset($user_auth_realms[$realm])) { if (sizeof(db_fetch_assoc_prepared('SELECT realm_id FROM user_auth_group_realm WHERE group_id = ? AND realm_id = ?', array(get_request_var_request('id', 0), $realm))) > 0) { $old_value = 'on'; }else{ $old_value = ''; } unset($all_realms[$realm]); if ($j == 5) { print "\n"; $j = 1; } form_checkbox('section' . $realm, $old_value, $user_auth_realms[$realm], '', '', '', (!empty($_REQUEST['id']) ? 1 : 0)); print '
'; $j++; } } print "
\n"; print "\n"; /* do plugin realms */ $realms = db_fetch_assoc('SELECT pc.name, pr.id AS realm_id, pr.display FROM plugin_config AS pc INNER JOIN plugin_realms AS pr ON pc.directory = pr.plugin ORDER BY pc.name, pr.display'); print "Plugin Permissions\n"; print "
\n"; if (sizeof($realms)) { $last_plugin = 'none'; $i = 1; $j = 1; $level = floor(sizeof($all_realms) / 4); $break = false; foreach($realms as $r) { if ($last_plugin != $r['name']) { if ($break) { print "\n"; $break = false; $j = 1; } print '' . $r['name'] . "
\n"; $last_plugin = $r['name']; }elseif ($break) { print "
\n"; $break = false; $j = 1; print '' . $r['name'] . " (cont)
\n"; } if ($j == 6) { $break = true;; } $realm = $r['realm_id'] + 100; if (sizeof(db_fetch_assoc_prepared('SELECT realm_id FROM user_auth_group_realm WHERE group_id = ? AND realm_id = ?', array(get_request_var_request('id', 0), $realm))) > 0) { $old_value = 'on'; }else{ $old_value = ''; } unset($all_realms[$realm]); $pos = (strpos($user_auth_realms[$realm], '->') !== false ? strpos($user_auth_realms[$realm], '->')+2:0); form_checkbox('section' . $realm, $old_value, substr($user_auth_realms[$realm], $pos), '', '', '', (!empty($_REQUEST['id']) ? 1 : 0)); print '
'; $j++; } } /* get the old PIA 1.x realms */ if (sizeof($all_realms)) { if ($break) { print "
\n"; } print "Legacy 1.x Plugins
\n"; foreach($all_realms as $realm => $name) { if (sizeof(db_fetch_assoc_prepared('SELECT realm_id FROM user_auth_group_realm WHERE group_id = ? AND realm_id = ?', array(get_request_var_request('id', 0), $realm))) > 0) { $old_value = 'on'; }else{ $old_value = ''; } $pos = (strpos($user_auth_realms[$realm], '->') !== false ? strpos($user_auth_realms[$realm], '->')+2:0); form_checkbox('section' . $realm, $old_value, substr($user_auth_realms[$realm], $pos), '', '', '', (!empty($_REQUEST['id']) ? 1 : 0)); print '
'; } } print "
\n"; html_end_box(); form_hidden_box('save_component_realm_perms','1',''); form_hidden_box('tab','realms',''); form_hidden_box('id',get_request_var_request('id'),''); form_save_button('user_group_admin.php', 'return'); } function user_group_graph_settings_edit($header_label) { global $settings_graphs, $tabs_graphs, $graph_views; /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('id')); /* ==================================================== */ form_start('user_group_admin.php', 'chk'); html_start_box("Graph Settings $header_label", '100%', '', '3', 'center', ''); while (list($tab_short_name, $tab_fields) = each($settings_graphs)) { $collapsible = true; print "" . $tabs_graphs[$tab_short_name] . ($collapsible ? "
":"") . "\n"; $form_array = array(); while (list($field_name, $field_array) = each($tab_fields)) { $form_array += array($field_name => $tab_fields[$field_name]); if ((isset($field_array['items'])) && (is_array($field_array['items']))) { while (list($sub_field_name, $sub_field_array) = each($field_array['items'])) { if (graph_config_value_exists($sub_field_name, $_REQUEST['id'])) { $form_array[$field_name]['items'][$sub_field_name]['form_id'] = 1; } $form_array[$field_name]['items'][$sub_field_name]['value'] = db_fetch_cell_prepared('SELECT value FROM settings_graphs_group WHERE name = ? AND group_id = ?', array($sub_field_name, get_request_var_request('id'))); } }else{ if (graph_config_value_exists($field_name, $_REQUEST['id'])) { $form_array[$field_name]['form_id'] = 1; } $form_array[$field_name]['value'] = db_fetch_cell_prepared('SELECT value FROM settings_graphs_group WHERE name = ? AND group_id = ?', array($field_name, $_REQUEST['id'])); } } draw_edit_form( array( 'config' => array('no_form_tag' => true), 'fields' => $form_array ) ); } html_end_box(); form_hidden_box('save_component_graph_settings','1',''); form_hidden_box('tab','settings',''); form_hidden_box('id',get_request_var_request('id'),''); form_save_button('user_group_admin.php', 'return'); ?> 'General', 'members' => 'Members', 'realms' => 'Realm Perms', 'permsg' => 'Graph Perms', 'permsd' => 'Device Perms', 'permste' => 'Template Perms', 'permstr' => 'Tree Perms', 'settings' => 'Graph Settings' ); $tabs = api_plugin_hook_function('ugroup_tabs', $tabs); if (!empty($_REQUEST['id'])) { $group = db_fetch_row_prepared('SELECT * FROM user_auth_group WHERE id = ?', array(get_request_var_request('id'))); $header_label = '[edit: ' . $group['name'] . ']'; }else{ $header_label = '[new]'; } /* set the default tab */ load_current_session_value('tab', 'sess_ugroup_tab', 'general'); $current_tab = $_REQUEST['tab']; if (sizeof($tabs) && isset($_REQUEST['id'])) { /* draw the tabs */ print "
\n"; } switch($_REQUEST['tab']) { case 'general': api_plugin_hook_function('user_group_admin_edit', (isset($user) ? get_request_var_request('id') : 0)); form_start('user_group_admin.php'); html_start_box("User Group Management $header_label", '100%', '', '3', 'center', ''); draw_edit_form(array( 'config' => array('no_form_tag' => true), 'fields' => inject_form_variables($fields_user_group_edit, (isset($group) ? $group : array())) )); html_end_box(); form_save_button('user_group_admin.php', 'return'); break; case 'settings': user_group_graph_settings_edit($header_label); break; case 'realms': user_group_realms_edit($header_label); break; case 'permsg': case 'permsd': case 'permste': case 'permstr': user_group_graph_perms_edit($_REQUEST['tab'], $header_label); break; case 'members': user_group_members_edit($header_label); break; } } function user_group() { global $group_actions, $item_rows; /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('page')); input_validate_input_number(get_request_var_request('rows')); /* ==================================================== */ /* clean up search string */ if (isset($_REQUEST['filter'])) { $_REQUEST['filter'] = sanitize_search_string(get_request_var_request('filter')); } /* clean up sort_column */ if (isset($_REQUEST['sort_column'])) { $_REQUEST['sort_column'] = sanitize_search_string(get_request_var_request('sort_column')); } /* clean up sort_direction string */ if (isset($_REQUEST['sort_direction'])) { $_REQUEST['sort_direction'] = sanitize_search_string(get_request_var_request('sort_direction')); } /* if the user pushed the 'clear' button */ if (isset($_REQUEST['clear'])) { kill_session_var('sess_user_group_admin_page'); kill_session_var('sess_user_group_admin_rows'); kill_session_var('sess_user_group_admin_filter'); kill_session_var('sess_user_group_admin_sort_column'); kill_session_var('sess_user_group_admin_sort_direction'); unset($_REQUEST['page']); unset($_REQUEST['rows']); unset($_REQUEST['filter']); unset($_REQUEST['sort_column']); unset($_REQUEST['sort_direction']); }else{ } /* remember these search fields in session vars so we don't have to keep passing them around */ load_current_session_value('page', 'sess_user_group_admin_page', '1'); load_current_session_value('rows', 'sess_user_group_admin_rows', '-1'); load_current_session_value('filter', 'sess_user_group_admin_filter', ''); load_current_session_value('sort_column', 'sess_user_group_admin_sort_column', 'name'); load_current_session_value('sort_direction', 'sess_user_group_admin_sort_direction', 'ASC'); ?> User Group Management', '100%', '', '3', 'center', 'user_group_admin.php?action=edit&tab=general'); if ($_REQUEST['rows'] == '-1') { $rows = read_config_option('num_rows_table'); }else{ $rows = $_REQUEST['rows']; } ?>
Search '> Groups
'>
array('Group Name', 'ASC'), 'members' => array('Members', 'ASC'), 'description' => array('Description', 'ASC'), 'policy_graphs' => array('Graph Policy', 'ASC'), 'policy_hosts' => array('Device Policy', 'ASC'), 'policy_graph_templates' => array('Template Policy', 'ASC'), 'enabled' => array('Enabled', 'ASC')); html_header_sort_checkbox($display_text, get_request_var_request('sort_column'), get_request_var_request('sort_direction'), false); if (sizeof($group_list)) { foreach ($group_list as $group) { if ($group['enabled'] == 'on') { $enabled = 'Yes'; }else{ $enabled = 'No'; } form_alternate_row('line' . $group['id'], true); form_selectable_cell("" . (strlen(get_request_var_request('filter')) ? preg_replace('/(' . preg_quote(get_request_var_request('filter')) . ')/i', "\\1", htmlspecialchars($group['name'])) : htmlspecialchars($group['name'])) . '', $group['id']); form_selectable_cell(($group['members'] > 0 ? number_format($group['members']):'None'), $group['id']); form_selectable_cell((strlen(get_request_var_request('filter')) ? preg_replace('/(' . preg_quote(get_request_var_request('filter')) . ')/i', "\\1", htmlspecialchars($group['description'])) : htmlspecialchars($group['description'])), $group['id']); form_selectable_cell(($group['policy_graphs'] == 1 ? 'ALLOW':'DENY'), $group['id']); form_selectable_cell(($group['policy_hosts'] == 1 ? 'ALLOW':'DENY'), $group['id']); form_selectable_cell(($group['policy_graph_templates'] == 1 ? 'ALLOW':'DENY'), $group['id']); form_selectable_cell($enabled, $group['id']); form_checkbox_cell($group['name'], $group['id']); form_end_row(); } print $nav; }else{ print 'No User Groups Found'; } html_end_box(false); draw_actions_dropdown($group_actions); } function process_graph_request_vars() { /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('graph_template_id')); input_validate_input_number(get_request_var_request('rows')); input_validate_input_number(get_request_var_request('page')); /* ==================================================== */ /* clean up search string */ if (isset($_REQUEST['filter'])) { $_REQUEST['filter'] = sanitize_search_string(get_request_var_request('filter')); } /* clean up sort solumn */ if (isset($_REQUEST['sort_column'])) { $_REQUEST['sort_column'] = sanitize_search_string(get_request_var_request('sort_column')); } /* clean up sort direction */ if (isset($_REQUEST['sort_direction'])) { $_REQUEST['sort_direction'] = sanitize_search_string(get_request_var_request('sort_direction')); } /* clean up associated */ if (isset($_REQUEST['associated'])) { $_REQUEST['associated'] = sanitize_search_string(get_request_var_request('associated')); }elseif (isset($_SESSION['sess_ugg_associated'])) { $_REQUEST['associated'] = $_SESSION['sess_ugg_associated']; } /* if the user pushed the 'clear' button */ if (isset($_REQUEST['clearf'])) { kill_session_var('sess_ugg_page'); kill_session_var('sess_default_rows'); kill_session_var('sess_ugg_filter'); kill_session_var('sess_ugg_graph_template_id'); kill_session_var('sess_ugg_associated'); kill_session_var('sess_ugg_sort_column'); kill_session_var('sess_ugg_sort_direction'); unset($_REQUEST['page']); unset($_REQUEST['rows']); unset($_REQUEST['filter']); unset($_REQUEST['graph_template_id']); unset($_REQUEST['associated']); unset($_REQUEST['sort_column']); unset($_REQUEST['sort_direction']); }else{ $changed = 0; $changed += check_changed('rows', 'sess_default_rows'); $changed += check_changed('filter', 'sess_ugg_filter'); $changed += check_changed('graph_template_id', 'sess_ugg_graph_template_id'); $changed += check_changed('associated', 'sess_ugg_associated'); $changed += check_changed('sort_column', 'sess_ugg_sort_column'); $changed += check_changed('sort_direction', 'sess_ugg_sort_direction'); if ($changed) { $_REQUEST['page'] = '1'; } } /* remember these search fields in session vars so we don't have to keep passing them around */ load_current_session_value('page', 'sess_ugg_page', '1'); load_current_session_value('filter', 'sess_ugg_filter', ''); load_current_session_value('associated', 'sess_ugg_associated', 'true'); load_current_session_value('graph_template_id', 'sess_ugd_graph_template_id', '-1'); load_current_session_value('rows', 'sess_default_rows', read_config_option('num_rows_table')); } function process_device_request_vars() { /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('host_template_id')); input_validate_input_number(get_request_var_request('rows')); input_validate_input_number(get_request_var_request('page')); /* ==================================================== */ /* clean up search string */ if (isset($_REQUEST['filter'])) { $_REQUEST['filter'] = sanitize_search_string(get_request_var_request('filter')); } /* clean up sort solumn */ if (isset($_REQUEST['sort_column'])) { $_REQUEST['sort_column'] = sanitize_search_string(get_request_var_request('sort_column')); } /* clean up sort direction */ if (isset($_REQUEST['sort_direction'])) { $_REQUEST['sort_direction'] = sanitize_search_string(get_request_var_request('sort_direction')); } /* clean up associated */ if (isset($_REQUEST['associated'])) { $_REQUEST['associated'] = sanitize_search_string(get_request_var_request('associated')); }elseif (isset($_SESSION['sess_ugd_associated'])) { $_REQUEST['associated'] = $_SESSION['sess_ugd_associated']; } /* if the user pushed the 'clear' button */ if (isset($_REQUEST['clearf'])) { kill_session_var('sess_ugd_page'); kill_session_var('sess_default_rows'); kill_session_var('sess_ugd_filter'); kill_session_var('sess_ugd_host_template_id'); kill_session_var('sess_ugd_associated'); kill_session_var('sess_ugd_sort_column'); kill_session_var('sess_ugd_sort_direction'); unset($_REQUEST['page']); unset($_REQUEST['rows']); unset($_REQUEST['filter']); unset($_REQUEST['host_template_id']); unset($_REQUEST['associated']); unset($_REQUEST['sort_column']); unset($_REQUEST['sort_direction']); }else{ $changed = 0; $changed += check_changed('rows', 'sess_default_rows'); $changed += check_changed('filter', 'sess_ugd_filter'); $changed += check_changed('host_template_id', 'sess_ugd_host_template_id'); $changed += check_changed('associated', 'sess_ugd_associated'); $changed += check_changed('sort_column', 'sess_ugd_sort_column'); $changed += check_changed('sort_direction', 'sess_ugd_sort_direction'); if ($changed) { $_REQUEST['page'] = '1'; } } /* remember these search fields in session vars so we don't have to keep passing them around */ load_current_session_value('page', 'sess_ugd_page', '1'); load_current_session_value('filter', 'sess_ugd_filter', ''); load_current_session_value('associated', 'sess_ugd_associated', 'true'); load_current_session_value('host_template_id', 'sess_ugd_host_template_id', '-1'); load_current_session_value('rows', 'sess_default_rows', read_config_option('num_rows_table')); } function process_template_request_vars() { /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('rows')); input_validate_input_number(get_request_var_request('page')); /* ==================================================== */ /* clean up search string */ if (isset($_REQUEST['filter'])) { $_REQUEST['filter'] = sanitize_search_string(get_request_var_request('filter')); } /* clean up sort solumn */ if (isset($_REQUEST['sort_column'])) { $_REQUEST['sort_column'] = sanitize_search_string(get_request_var_request('sort_column')); } /* clean up sort direction */ if (isset($_REQUEST['sort_direction'])) { $_REQUEST['sort_direction'] = sanitize_search_string(get_request_var_request('sort_direction')); } /* clean up associated */ if (isset($_REQUEST['associated'])) { $_REQUEST['associated'] = sanitize_search_string(get_request_var_request('associated')); }elseif (isset($_SESSION['sess_ugte_associated'])) { $_REQUEST['associated'] = $_SESSION['sess_ugte_associated']; } /* if the user pushed the 'clear' button */ if (isset($_REQUEST['clearf'])) { kill_session_var('sess_ugte_page'); kill_session_var('sess_default_rows'); kill_session_var('sess_ugte_filter'); kill_session_var('sess_ugte_associated'); kill_session_var('sess_ugte_sort_column'); kill_session_var('sess_ugte_sort_direction'); unset($_REQUEST['page']); unset($_REQUEST['rows']); unset($_REQUEST['filter']); unset($_REQUEST['associated']); unset($_REQUEST['sort_column']); unset($_REQUEST['sort_direction']); }else{ $changed = 0; $changed += check_changed('rows', 'sess_default_rows'); $changed += check_changed('filter', 'sess_ugte_filter'); $changed += check_changed('associated', 'sess_ugte_associated'); $changed += check_changed('sort_column', 'sess_ugte_sort_column'); $changed += check_changed('sort_direction', 'sess_ugte_sort_direction'); if ($changed) { $_REQUEST['page'] = '1'; } } /* remember these search fields in session vars so we don't have to keep passing them around */ load_current_session_value('page', 'sess_ugte_page', '1'); load_current_session_value('filter', 'sess_ugte_filter', ''); load_current_session_value('associated', 'sess_ugte_associated', 'true'); load_current_session_value('rows', 'sess_default_rows', read_config_option('num_rows_table')); } function process_tree_request_vars() { /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('rows')); input_validate_input_number(get_request_var_request('page')); /* ==================================================== */ /* clean up search string */ if (isset($_REQUEST['filter'])) { $_REQUEST['filter'] = sanitize_search_string(get_request_var_request('filter')); } /* clean up sort solumn */ if (isset($_REQUEST['sort_column'])) { $_REQUEST['sort_column'] = sanitize_search_string(get_request_var_request('sort_column')); } /* clean up sort direction */ if (isset($_REQUEST['sort_direction'])) { $_REQUEST['sort_direction'] = sanitize_search_string(get_request_var_request('sort_direction')); } /* clean up associated */ if (isset($_REQUEST['associated'])) { $_REQUEST['associated'] = sanitize_search_string(get_request_var_request('associated')); }elseif (isset($_SESSION['sess_ugtr_associated'])) { $_REQUEST['associated'] = $_SESSION['sess_ugtr_associated']; } /* if the user pushed the 'clear' button */ if (isset($_REQUEST['clearf'])) { kill_session_var('sess_ugtr_page'); kill_session_var('sess_default_rows'); kill_session_var('sess_ugtr_filter'); kill_session_var('sess_ugtr_associated'); kill_session_var('sess_ugtr_sort_column'); kill_session_var('sess_ugtr_sort_direction'); unset($_REQUEST['page']); unset($_REQUEST['rows']); unset($_REQUEST['filter']); unset($_REQUEST['associated']); unset($_REQUEST['sort_column']); unset($_REQUEST['sort_direction']); }else{ $changed = 0; $changed += check_changed('rows', 'sess_default_rows'); $changed += check_changed('filter', 'sess_ugtr_filter'); $changed += check_changed('associated', 'sess_ugtr_associated'); $changed += check_changed('sort_column', 'sess_ugtr_sort_column'); $changed += check_changed('sort_direction', 'sess_ugtr_sort_direction'); if ($changed) { $_REQUEST['page'] = '1'; } $reset_multi = false; } /* remember these search fields in session vars so we don't have to keep passing them around */ load_current_session_value('page', 'sess_ugtr_page', '1'); load_current_session_value('filter', 'sess_ugtr_filter', ''); load_current_session_value('associated', 'sess_ugtr_associated', 'true'); load_current_session_value('rows', 'sess_default_rows', read_config_option('num_rows_table')); } function process_member_request_vars() { /* ================= input validation ================= */ input_validate_input_number(get_request_var_request('rows')); input_validate_input_number(get_request_var_request('page')); /* ==================================================== */ /* clean up search string */ if (isset($_REQUEST['filter'])) { $_REQUEST['filter'] = sanitize_search_string(get_request_var_request('filter')); } /* clean up sort solumn */ if (isset($_REQUEST['sort_column'])) { $_REQUEST['sort_column'] = sanitize_search_string(get_request_var_request('sort_column')); } /* clean up sort direction */ if (isset($_REQUEST['sort_direction'])) { $_REQUEST['sort_direction'] = sanitize_search_string(get_request_var_request('sort_direction')); } /* clean up associated */ if (isset($_REQUEST['associated'])) { $_REQUEST['associated'] = sanitize_search_string(get_request_var_request('associated')); }elseif (isset($_SESSION['sess_ugm_associated'])) { $_REQUEST['associated'] = $_SESSION['sess_ugm_associated']; } /* if the user pushed the 'clear' button */ if (isset($_REQUEST['clearf'])) { kill_session_var('sess_ugm_page'); kill_session_var('sess_default_rows'); kill_session_var('sess_ugm_filter'); kill_session_var('sess_ugm_associated'); kill_session_var('sess_ugm_sort_column'); kill_session_var('sess_ugm_sort_direction'); unset($_REQUEST['page']); unset($_REQUEST['rows']); unset($_REQUEST['filter']); unset($_REQUEST['associated']); unset($_REQUEST['sort_column']); unset($_REQUEST['sort_direction']); }else{ $changed = 0; $changed += check_changed('rows', 'sess_default_rows'); $changed += check_changed('filter', 'sess_ugm_filter'); $changed += check_changed('associated', 'sess_ugm_associated'); $changed += check_changed('sort_column', 'sess_ugm_sort_column'); $changed += check_changed('sort_direction', 'sess_ugm_sort_direction'); if ($changed) { $_REQUEST['page'] = '1'; } } /* remember these search fields in session vars so we don't have to keep passing them around */ load_current_session_value('page', 'sess_ugm_page', '1'); load_current_session_value('filter', 'sess_ugm_filter', ''); load_current_session_value('associated', 'sess_ugm_associated', 'true'); load_current_session_value('rows', 'sess_default_rows', read_config_option('num_rows_table')); } function graph_filter($header_label) { global $config, $item_rows; ?> Graph Permissions ' . htmlspecialchars($header_label), '100%', '', '3', 'center', ''); ?>
Search ' onChange='applyFilter()'> Template Graphs >
'> '>
Devices Permission ' . htmlspecialchars($header_label), '100%', '', '3', 'center', ''); ?>
Search ' onChange='applyFilter()'> Template Devices >
'> '>
Template Permission ' . htmlspecialchars($header_label), '100%', '', '3', 'center', ''); ?>
Search ' onChange='applyFilter()'> Templates >
'> '>
Tree Permission ' . htmlspecialchars($header_label), '100%', '', '3', 'center', ''); ?>
Search ' onChange='applyFilter()'> Trees >
'> '>
User Membership ' . htmlspecialchars($header_label), '100%', '', '3', 'center', ''); ?>
Search ' onChange='applyFilter()'> Users >
'> '>