'sanitize_search_string')); switch (get_request_var('action')) { case 'save': foreach ($settings{get_request_var('tab')} as $field_name => $field_array) { if (($field_array['method'] == 'header') || ($field_array['method'] == 'spacer' )){ /* do nothing */ } elseif ($field_array['method'] == 'checkbox') { if (isset_request_var($field_name)) { db_execute_prepared("REPLACE INTO settings (name, value) VALUES (?, 'on')", array($field_name)); } else { db_execute_prepared("REPLACE INTO settings (name, value) VALUES (?, '')", array($field_name)); } } elseif ($field_array['method'] == 'checkbox_group') { foreach ($field_array['items'] as $sub_field_name => $sub_field_array) { if (isset_request_var($sub_field_name)) { db_execute_prepared("REPLACE INTO settings (name, value) VALUES (?, 'on')", array($sub_field_name)); } else { db_execute_prepared("REPLACE INTO settings (name, value) VALUES (?, '')", array($sub_field_name)); } } } elseif ($field_array['method'] == 'textbox_password') { if (get_nfilter_request_var($field_name) != get_nfilter_request_var($field_name.'_confirm')) { raise_message(4); break; } elseif (!isempty_request_var($field_name)) { db_execute_prepared('REPLACE INTO settings (name, value) VALUES (?, ?)', array($field_name, get_nfilter_request_var($field_name))); } } elseif ((isset($field_array['items'])) && (is_array($field_array['items']))) { foreach ($field_array['items'] as $sub_field_name => $sub_field_array) { if (isset_request_var($sub_field_name)) { db_execute_prepared('REPLACE INTO settings (name, value) VALUES (?, ?)', array($sub_field_name, get_nfilter_request_var($sub_field_name))); } } } elseif (isset_request_var($field_name)) { if (is_array(get_nfilter_request_var($field_name))) { db_execute_prepared('REPLACE INTO settings (name, value) VALUES (?, ?)', array($field_name, implode(',', get_nfilter_request_var($field_name)))); } else { db_execute_prepared('REPLACE INTO settings (name, value) VALUES (?, ?)', array($field_name, get_nfilter_request_var($field_name))); } } } if (isset_request_var('log_verbosity')) { if (!isset_request_var('selective_debug')) { db_execute('REPLACE INTO settings (name, value) VALUES("selective_debug", "")'); } if (!isset_request_var('selective_plugin_debug')) { db_execute('REPLACE INTO settings (name, value) VALUES("selective_plugin_debug", "")'); } } /* update snmpcache */ snmpagent_global_settings_update(); api_plugin_hook_function('global_settings_update'); raise_message(1); /* reset local settings cache so the user sees the new settings */ kill_session_var('sess_config_array'); if (isset_request_var('header') && get_nfilter_request_var('header') == 'false') { header('Location: settings.php?header=false&tab=' . get_request_var('tab')); } else { header('Location: settings.php?tab=' . get_request_var('tab')); } break; case 'send_test': email_test(); break; default: top_header(); /* set the default settings category */ if (!isset_request_var('tab')) { /* there is no selected tab; select the first one */ if (isset($_SESSION['sess_settings_tab'])) { $current_tab = $_SESSION['sess_settings_tab']; } else { $current_tab = array_keys($tabs); $current_tab = $current_tab[0]; } } else { $current_tab = get_request_var('tab'); } $_SESSION['sess_settings_tab'] = $current_tab; /* draw the categories tabs on the top of the page */ print "
\n"; print "
\n"; print "
\n"; form_start('settings.php', 'chk'); html_start_box( __('Cacti Settings (%s)', $tabs[$current_tab]), '100%', true, '3', 'center', ''); $form_array = array(); if (isset($settings[$current_tab])) { foreach ($settings[$current_tab] as $field_name => $field_array) { $form_array += array($field_name => $field_array); if ((isset($field_array['items'])) && (is_array($field_array['items']))) { foreach ($field_array['items'] as $sub_field_name => $sub_field_array) { if (config_value_exists($sub_field_name)) { $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 WHERE name = ?', array($sub_field_name)); } } else { if (config_value_exists($field_name)) { $form_array[$field_name]['form_id'] = 1; } $form_array[$field_name]['value'] = db_fetch_cell_prepared('SELECT value FROM settings WHERE name = ?', array($field_name)); } } } draw_edit_form( array( 'config' => array('no_form_tag' => true), 'fields' => $form_array ) ); html_end_box(true, true); form_hidden_box('tab', $current_tab, ''); form_save_button('', 'save'); ?>