Esempio n. 1
0
function form_save()
{
    if (isset($_POST['save_component_item'])) {
        global $graph_item_types;
        $items[0] = array();
        if ($graph_item_types[$_POST['graph_type_id']] == 'LEGEND') {
            /* this can be a major time saver when creating lots of graphs with the typical
            			GPRINT LAST/AVERAGE/MAX legends */
            $items = array(0 => array('color_id' => '0', 'graph_type_id' => '9', 'consolidation_function_id' => '4', 'text_format' => 'Current:', 'hard_return' => ''), 1 => array('color_id' => '0', 'graph_type_id' => '9', 'consolidation_function_id' => '1', 'text_format' => 'Average:', 'hard_return' => ''), 2 => array('color_id' => '0', 'graph_type_id' => '9', 'consolidation_function_id' => '3', 'text_format' => 'Maximum:', 'hard_return' => 'on'));
        }
        foreach ($items as $item) {
            /* generate a new sequence if needed */
            if (empty($_POST['sequence'])) {
                $_POST['sequence'] = get_sequence($_POST['sequence'], 'sequence', 'graph_templates_item', 'local_graph_id=' . $_POST['local_graph_id']);
            }
            $save['id'] = $_POST['graph_template_item_id'];
            $save['graph_template_id'] = $_POST['graph_template_id'];
            $save['local_graph_template_item_id'] = $_POST['local_graph_template_item_id'];
            $save['local_graph_id'] = $_POST['local_graph_id'];
            $save['task_item_id'] = form_input_validate($_POST['task_item_id'], 'task_item_id', '', true, 3);
            $save['color_id'] = form_input_validate(isset($item['color_id']) ? $item['color_id'] : $_POST['color_id'], 'color_id', '', true, 3);
            /* if alpha is disabled, use invisible_alpha instead */
            if (!isset($_POST['alpha'])) {
                $_POST['alpha'] = $_POST['invisible_alpha'];
            }
            $save['alpha'] = form_input_validate(isset($item['alpha']) ? $item['alpha'] : $_POST['alpha'], 'alpha', '', true, 3);
            $save['graph_type_id'] = form_input_validate(isset($item['graph_type_id']) ? $item['graph_type_id'] : $_POST['graph_type_id'], 'graph_type_id', '', true, 3);
            $save['cdef_id'] = form_input_validate($_POST['cdef_id'], 'cdef_id', '', true, 3);
            $save['consolidation_function_id'] = form_input_validate(isset($item['consolidation_function_id']) ? $item['consolidation_function_id'] : $_POST['consolidation_function_id'], 'consolidation_function_id', '', true, 3);
            $save['text_format'] = form_input_validate(isset($item['text_format']) ? $item['text_format'] : $_POST['text_format'], 'text_format', '', true, 3);
            $save['value'] = form_input_validate($_POST['value'], 'value', '', true, 3);
            $save['hard_return'] = form_input_validate(isset($item['hard_return']) ? $item['hard_return'] : (isset($_POST['hard_return']) ? $_POST['hard_return'] : ''), 'hard_return', '', true, 3);
            $save['gprint_id'] = form_input_validate($_POST['gprint_id'], 'gprint_id', '', true, 3);
            $save['sequence'] = $_POST['sequence'];
            if (!is_error_message()) {
                $graph_template_item_id = sql_save($save, 'graph_templates_item');
                if ($graph_template_item_id) {
                    raise_message(1);
                } else {
                    raise_message(2);
                }
            }
            $_POST['sequence'] = 0;
        }
        if (is_error_message()) {
            header('Location: graphs.php?action=item_edit&graph_template_item_id=' . (empty($graph_template_item_id) ? $_POST['graph_template_item_id'] : $graph_template_item_id) . '&id=' . $_POST['local_graph_id']);
            exit;
        } else {
            header('Location: graphs.php?action=graph_edit&id=' . $_POST['local_graph_id']);
            exit;
        }
    }
}
Esempio n. 2
0
function form_save()
{
    if (isset($_POST["save_component_item"])) {
        global $graph_item_types;
        $items[0] = array();
        if ($graph_item_types[$_POST["graph_type_id"]] == "LEGEND") {
            /* this can be a major time saver when creating lots of graphs with the typical
            			GPRINT LAST/AVERAGE/MAX legends */
            $items = array(0 => array("color_id" => "0", "graph_type_id" => "9", "consolidation_function_id" => "4", "text_format" => "Current:", "hard_return" => ""), 1 => array("color_id" => "0", "graph_type_id" => "9", "consolidation_function_id" => "1", "text_format" => "Average:", "hard_return" => ""), 2 => array("color_id" => "0", "graph_type_id" => "9", "consolidation_function_id" => "3", "text_format" => "Maximum:", "hard_return" => "on"));
        }
        foreach ($items as $item) {
            /* generate a new sequence if needed */
            if (empty($_POST["sequence"])) {
                $_POST["sequence"] = get_sequence($_POST["sequence"], "sequence", "graph_templates_item", "local_graph_id=" . $_POST["local_graph_id"]);
            }
            $save["id"] = $_POST["graph_template_item_id"];
            $save["graph_template_id"] = $_POST["graph_template_id"];
            $save["local_graph_template_item_id"] = $_POST["local_graph_template_item_id"];
            $save["local_graph_id"] = $_POST["local_graph_id"];
            $save["task_item_id"] = form_input_validate($_POST["task_item_id"], "task_item_id", "", true, 3);
            $save["color_id"] = form_input_validate(isset($item["color_id"]) ? $item["color_id"] : $_POST["color_id"], "color_id", "", true, 3);
            /* if alpha is disabled, use invisible_alpha instead */
            if (!isset($_POST["alpha"])) {
                $_POST["alpha"] = $_POST["invisible_alpha"];
            }
            $save["alpha"] = form_input_validate(isset($item["alpha"]) ? $item["alpha"] : $_POST["alpha"], "alpha", "", true, 3);
            $save["graph_type_id"] = form_input_validate(isset($item["graph_type_id"]) ? $item["graph_type_id"] : $_POST["graph_type_id"], "graph_type_id", "", true, 3);
            $save["cdef_id"] = form_input_validate($_POST["cdef_id"], "cdef_id", "", true, 3);
            $save["consolidation_function_id"] = form_input_validate(isset($item["consolidation_function_id"]) ? $item["consolidation_function_id"] : $_POST["consolidation_function_id"], "consolidation_function_id", "", true, 3);
            $save["text_format"] = form_input_validate(isset($item["text_format"]) ? $item["text_format"] : $_POST["text_format"], "text_format", "", true, 3);
            $save["value"] = form_input_validate($_POST["value"], "value", "", true, 3);
            $save["hard_return"] = form_input_validate(isset($item["hard_return"]) ? $item["hard_return"] : (isset($_POST["hard_return"]) ? $_POST["hard_return"] : ""), "hard_return", "", true, 3);
            $save["gprint_id"] = form_input_validate($_POST["gprint_id"], "gprint_id", "", true, 3);
            $save["sequence"] = $_POST["sequence"];
            if (!is_error_message()) {
                $graph_template_item_id = sql_save($save, "graph_templates_item");
                if ($graph_template_item_id) {
                    raise_message(1);
                } else {
                    raise_message(2);
                }
            }
            $_POST["sequence"] = 0;
        }
        if (is_error_message()) {
            header("Location: graphs.php?action=item_edit&graph_template_item_id=" . (empty($graph_template_item_id) ? $_POST["graph_template_item_id"] : $graph_template_item_id) . "&id=" . $_POST["local_graph_id"]);
            exit;
        } else {
            header("Location: graphs.php?action=graph_edit&id=" . $_POST["local_graph_id"]);
            exit;
        }
    }
}
Esempio n. 3
0
function mactrack_snmp_item_edit()
{
    global $config;
    global $fields_mactrack_snmp_item_edit;
    include_once $config['base_path'] . '/plugins/mactrack/lib/mactrack_functions.php';
    /* ================= input validation ================= */
    get_filter_request_var('id');
    get_filter_request_var('item_id');
    /* ==================================================== */
    # fetch the current mactrack snmp record
    $snmp_option = db_fetch_row_prepared('SELECT * FROM mac_track_snmp WHERE id = ?', array(get_request_var('id')));
    # if an existing item was requested, fetch data for it
    if (get_request_var('item_id', '') !== '') {
        $mactrack_snmp_item = db_fetch_row_prepared('SELECT * FROM mac_track_snmp_items WHERE id = ?', array(get_request_var('item_id')));
        $header_label = __('SNMP Options [edit %s]', $snmp_option['name']);
    } else {
        $header_label = __('SNMP Options [new]');
        $mactrack_snmp_item = array();
        $mactrack_snmp_item['snmp_id'] = get_request_var('id');
        $mactrack_snmp_item['sequence'] = get_sequence('', 'sequence', 'mac_track_snmp_items', 'snmp_id=' . get_request_var('id'));
    }
    form_start(basename($_SERVER['PHP_SELF']), 'mactrack_item_edit');
    html_start_box($header_label, '100%', '', '3', 'center', '');
    draw_edit_form(array('config' => array('no_form_tag' => true), 'fields' => inject_form_variables($fields_mactrack_snmp_item_edit, isset($mactrack_snmp_item) ? $mactrack_snmp_item : array())));
    html_end_box();
    form_hidden_box('item_id', isset_request_var('item_id') ? get_request_var('item_id') : '0', '');
    form_hidden_box('id', isset($mactrack_snmp_item['snmp_id']) ? $mactrack_snmp_item['snmp_id'] : '0', '');
    form_hidden_box('save_component_mactrack_snmp_item', '1', '');
    form_save_button(htmlspecialchars('mactrack_snmp.php?action=edit&id=' . get_request_var('id')));
    ?>
	<script type='text/javascript'>
	$(function() {
		setSNMP();
		$('#snmp_version').change(function() {
			setSNMP();
		});
	});
	</script>
	<?php 
}
Esempio n. 4
0
function form_save()
{
    if (isset($_POST['save_component_snmp_query'])) {
        $save['id'] = $_POST['id'];
        $save['hash'] = get_hash_data_query($_POST['id']);
        $save['name'] = form_input_validate($_POST['name'], 'name', '', false, 3);
        $save['description'] = form_input_validate($_POST['description'], 'description', '', true, 3);
        $save['xml_path'] = form_input_validate($_POST['xml_path'], 'xml_path', '', false, 3);
        $save['data_input_id'] = $_POST['data_input_id'];
        if (!is_error_message()) {
            $snmp_query_id = sql_save($save, 'snmp_query');
            if ($snmp_query_id) {
                raise_message(1);
            } else {
                raise_message(2);
            }
        }
        header('Location: data_queries.php?action=edit&id=' . (empty($snmp_query_id) ? $_POST['id'] : $snmp_query_id));
    } elseif (isset($_POST['save_component_snmp_query_item'])) {
        /* ================= input validation ================= */
        input_validate_input_number(get_request_var_post('id'));
        /* ==================================================== */
        $redirect_back = false;
        $save['id'] = $_POST['id'];
        $save['hash'] = get_hash_data_query($_POST['id'], 'data_query_graph');
        $save['snmp_query_id'] = $_POST['snmp_query_id'];
        $save['name'] = form_input_validate($_POST['name'], 'name', '', false, 3);
        $save['graph_template_id'] = $_POST['graph_template_id'];
        if (!is_error_message()) {
            $snmp_query_graph_id = sql_save($save, 'snmp_query_graph');
            if ($snmp_query_graph_id) {
                raise_message(1);
                /* if the user changed the graph template, go through and delete everything that
                			was associated with the old graph template */
                if ($_POST['graph_template_id'] != $_POST['_graph_template_id']) {
                    db_execute_prepared('DELETE FROM snmp_query_graph_rrd_sv WHERE snmp_query_graph_id = ?', array($snmp_query_graph_id));
                    db_execute_prepared('DELETE FROM snmp_query_graph_sv WHERE snmp_query_graph_id = ?', array($snmp_query_graph_id));
                    $redirect_back = true;
                }
                db_execute_prepared('DELETE FROM snmp_query_graph_rrd WHERE snmp_query_graph_id = ?', array($snmp_query_graph_id));
                while (list($var, $val) = each($_POST)) {
                    if (preg_match('/^dsdt_([0-9]+)_([0-9]+)_check/i', $var)) {
                        $data_template_id = preg_replace('/^dsdt_([0-9]+)_([0-9]+).+/', "\\1", $var);
                        $data_template_rrd_id = preg_replace('/^dsdt_([0-9]+)_([0-9]+).+/', "\\2", $var);
                        db_execute_prepared('REPLACE INTO snmp_query_graph_rrd (snmp_query_graph_id, data_template_id, data_template_rrd_id, snmp_field_name) VALUES (?, ?, ?, ?)', array($snmp_query_graph_id, $data_template_id, $data_template_rrd_id, $_POST['dsdt_' . $data_template_id . '_' . $data_template_rrd_id . '_snmp_field_output']));
                    } elseif (preg_match('/^svds_([0-9]+)_x/i', $var, $matches) && !empty($_POST['svds_' . $matches[1] . '_text']) && !empty($_POST['svds_' . $matches[1] . '_field'])) {
                        /* suggested values -- data templates */
                        $sequence = get_sequence(0, 'sequence', 'snmp_query_graph_rrd_sv', 'snmp_query_graph_id=' . $_POST['id'] . ' AND data_template_id=' . $matches[1] . " AND field_name='" . $_POST['svds_' . $matches[1] . '_field'] . "'");
                        $hash = get_hash_data_query(0, 'data_query_sv_data_source');
                        db_execute_prepared('INSERT INTO snmp_query_graph_rrd_sv (hash, snmp_query_graph_id, data_template_id, sequence, field_name, text) VALUES (?, ?, ?, ?, ?, ?)', array($hash, $_POST['id'], $matches[1], $sequence, $_POST['svds_' . $matches[1] . '_field'], $_POST['svds_' . $matches[1] . '_text']));
                        $redirect_back = true;
                        clear_messages();
                    } elseif (preg_match('/^svg_x/i', $var) && !empty($_POST['svg_text']) && !empty($_POST['svg_field'])) {
                        /* suggested values -- graph templates */
                        $sequence = get_sequence(0, 'sequence', 'snmp_query_graph_sv', 'snmp_query_graph_id=' . $_POST['id'] . " AND field_name='" . $_POST['svg_field'] . "'");
                        $hash = get_hash_data_query(0, 'data_query_sv_graph');
                        db_execute_prepared('INSERT INTO snmp_query_graph_sv (hash, snmp_query_graph_id, sequence, field_name, text) VALUES (?, ?, ?, ?, ?)', array($hash, $_POST['id'], $sequence, $_POST['svg_field'], $_POST['svg_text']));
                        $redirect_back = true;
                        clear_messages();
                    }
                }
                if (isset($_POST['header']) && $_POST['header'] == 'false') {
                    $header = '&header=false';
                } else {
                    $header = '';
                }
            } else {
                raise_message(2);
                $header = '';
            }
        }
        header('Location: data_queries.php?action=item_edit' . $header . '&id=' . (empty($snmp_query_graph_id) ? $_POST['id'] : $snmp_query_graph_id) . '&snmp_query_id=' . $_POST['snmp_query_id']);
    }
}
Esempio n. 5
0
function form_save()
{
    global $cnn_id;
    if (isset($_POST["save_component_snmp_query"])) {
        input_validate_input_number(get_request_var_post("id"));
        input_validate_input_number(get_request_var_post("data_input_id"));
        $save["id"] = $_POST["id"];
        $save["hash"] = get_hash_data_query($_POST["id"]);
        $save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);
        $save["description"] = form_input_validate($_POST["description"], "description", "", true, 3);
        $save["xml_path"] = form_input_validate($_POST["xml_path"], "xml_path", "", false, 3);
        $save["data_input_id"] = $_POST["data_input_id"];
        if (!is_error_message()) {
            $snmp_query_id = sql_save($save, "snmp_query");
            if ($snmp_query_id) {
                raise_message(1);
            } else {
                raise_message(2);
            }
        }
        header("Location: data_queries.php?action=edit&id=" . (empty($snmp_query_id) ? $_POST["id"] : $snmp_query_id));
    } elseif (isset($_POST["save_component_snmp_query_item"])) {
        /* ================= input validation ================= */
        input_validate_input_number(get_request_var_post("id"));
        input_validate_input_number(get_request_var_post("snmp_query_id"));
        input_validate_input_number(get_request_var_post("graph_template_id"));
        /* ==================================================== */
        $redirect_back = false;
        $save["id"] = $_POST["id"];
        $save["hash"] = get_hash_data_query($_POST["id"], "data_query_graph");
        $save["snmp_query_id"] = $_POST["snmp_query_id"];
        $save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);
        $save["graph_template_id"] = $_POST["graph_template_id"];
        if (!is_error_message()) {
            $snmp_query_graph_id = sql_save($save, "snmp_query_graph");
            if ($snmp_query_graph_id) {
                raise_message(1);
                /* if the user changed the graph template, go through and delete everything that
                			was associated with the old graph template */
                if ($_POST["graph_template_id"] != $_POST["_graph_template_id"]) {
                    db_execute("delete from snmp_query_graph_rrd_sv where snmp_query_graph_id={$snmp_query_graph_id}");
                    db_execute("delete from snmp_query_graph_sv where snmp_query_graph_id={$snmp_query_graph_id}");
                    $redirect_back = true;
                }
                db_execute("delete from snmp_query_graph_rrd where snmp_query_graph_id={$snmp_query_graph_id}");
                while (list($var, $val) = each($_POST)) {
                    if (preg_match("/^dsdt_([0-9]+)_([0-9]+)_check/i", $var)) {
                        $data_template_id = preg_replace("/^dsdt_([0-9]+)_([0-9]+).+/", "\\1", $var);
                        $data_template_rrd_id = preg_replace("/^dsdt_([0-9]+)_([0-9]+).+/", "\\2", $var);
                        /* ================= input validation ================= */
                        input_validate_input_number($data_template_id);
                        input_validate_input_number($data_template_rrd_id);
                        /* ==================================================== */
                        db_execute("replace into snmp_query_graph_rrd (snmp_query_graph_id,data_template_id,data_template_rrd_id,snmp_field_name) values({$snmp_query_graph_id},{$data_template_id},{$data_template_rrd_id}," . $cnn_id->qstr($_POST["dsdt_" . $data_template_id . "_" . $data_template_rrd_id . "_snmp_field_output"]) . ")");
                    } elseif (preg_match("/^svds_([0-9]+)_x/i", $var, $matches) && !empty($_POST["svds_" . $matches[1] . "_text"]) && !empty($_POST["svds_" . $matches[1] . "_field"])) {
                        /* suggested values -- data templates */
                        /* ================= input validation ================= */
                        input_validate_input_number($matches[1]);
                        /* ==================================================== */
                        $sequence = get_sequence(0, "sequence", "snmp_query_graph_rrd_sv", "snmp_query_graph_id=" . $_POST["id"] . " and data_template_id=" . $matches[1] . " and field_name=" . $cnn_id->qstr($_POST["svds_" . $matches[1] . "_field"]));
                        $hash = get_hash_data_query(0, "data_query_sv_data_source");
                        db_execute("insert into snmp_query_graph_rrd_sv (hash,snmp_query_graph_id,data_template_id,sequence,field_name,text) values ('{$hash}'," . $_POST["id"] . "," . $matches[1] . ",{$sequence}," . $cnn_id->qstr($_POST["svds_" . $matches[1] . "_field"]) . "," . $cnn_id->qstr($_POST["svds_" . $matches[1] . "_text"]) . ")");
                        $redirect_back = true;
                        clear_messages();
                    } elseif (preg_match("/^svg_x/i", $var) && !empty($_POST["svg_text"]) && !empty($_POST["svg_field"])) {
                        /* suggested values -- graph templates */
                        $sequence = get_sequence(0, "sequence", "snmp_query_graph_sv", "snmp_query_graph_id=" . $_POST["id"] . " and field_name=" . $cnn_id->qstr($_POST["svg_field"]));
                        $hash = get_hash_data_query(0, "data_query_sv_graph");
                        db_execute("insert into snmp_query_graph_sv (hash,snmp_query_graph_id,sequence,field_name,text) values ('{$hash}'," . $_POST["id"] . ",{$sequence}," . $cnn_id->qstr($_POST["svg_field"]) . "," . $cnn_id->qstr($_POST["svg_text"]) . ")");
                        $redirect_back = true;
                        clear_messages();
                    }
                }
            } else {
                raise_message(2);
            }
        }
        header("Location: data_queries.php?action=item_edit&id=" . (empty($snmp_query_graph_id) ? $_POST["id"] : $snmp_query_graph_id) . "&snmp_query_id=" . $_POST["snmp_query_id"]);
    }
}
Esempio n. 6
0
function form_save()
{
    // make sure ids are numeric
    if (isset($_POST["id"]) && !is_numeric($_POST["id"])) {
        $_POST["id"] = 0;
    }
    if (isset($_POST["cdef_id"]) && !is_numeric($_POST["cdef_id"])) {
        $_POST["cdef_id"] = 0;
    }
    if (isset($_POST["save_component_cdef"])) {
        /* ================= input validation ================= */
        input_validate_input_number(get_request_var_post('id'));
        /* ==================================================== */
        $save["id"] = $_POST["id"];
        $save["hash"] = get_hash_cdef($_POST["id"]);
        $save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);
        if (!is_error_message()) {
            $cdef_id = sql_save($save, "cdef");
            if ($cdef_id) {
                raise_message(1);
            } else {
                raise_message(2);
            }
        }
        header("Location: cdef.php?action=edit&id=" . (empty($cdef_id) ? $_POST["id"] : $cdef_id));
    } elseif (isset($_POST["save_component_item"])) {
        /* ================= input validation ================= */
        input_validate_input_number(get_request_var_post('id'));
        input_validate_input_number(get_request_var_post('cdef_id'));
        input_validate_input_number(get_request_var_post('type'));
        /* ==================================================== */
        $sequence = get_sequence($_POST["id"], "sequence", "cdef_items", "cdef_id=" . $_POST["cdef_id"]);
        $save["id"] = $_POST["id"];
        $save["hash"] = get_hash_cdef($_POST["id"], "cdef_item");
        $save["cdef_id"] = $_POST["cdef_id"];
        $save["sequence"] = $sequence;
        $save["type"] = $_POST["type"];
        $save["value"] = $_POST["value"];
        if (!is_error_message()) {
            $cdef_item_id = sql_save($save, "cdef_items");
            if ($cdef_item_id) {
                raise_message(1);
            } else {
                raise_message(2);
            }
        }
        if (is_error_message()) {
            header("Location: cdef.php?action=item_edit&cdef_id=" . $_POST["cdef_id"] . "&id=" . (empty($cdef_item_id) ? $_POST["id"] : $cdef_item_id));
        } else {
            header("Location: cdef.php?action=edit&id=" . $_POST["cdef_id"]);
        }
    }
}
Esempio n. 7
0
function convert_readstrings()
{
    global $config;
    include_once $config['base_path'] . '/lib/functions.php';
    $sql = 'SELECT DISTINCT ' . 'snmp_readstrings, ' . 'snmp_version, ' . 'snmp_port, ' . 'snmp_timeout, ' . 'snmp_retries ' . 'FROM mac_track_devices';
    $devices = db_fetch_assoc($sql);
    if (sizeof($devices)) {
        $i = 0;
        foreach ($devices as $device) {
            # create new SNMP Option Set
            unset($save);
            $save['id'] = 0;
            $save['name'] = 'Custom_' . $i++;
            $snmp_id = sql_save($save, 'mac_track_snmp');
            # add each single option derived from readstrings
            $read_strings = explode(':', $device['snmp_readstrings']);
            if (sizeof($read_strings)) {
                foreach ($read_strings as $snmp_readstring) {
                    unset($save);
                    $save['id'] = 0;
                    $save['snmp_id'] = $snmp_id;
                    $save['sequence'] = get_sequence('', 'sequence', 'mac_track_snmp_items', 'snmp_id=' . $snmp_id);
                    $save['snmp_readstring'] = $snmp_readstring;
                    $save['snmp_version'] = $device['snmp_version'];
                    $save['snmp_port'] = $device['snmp_port'];
                    $save['snmp_timeout'] = $device['snmp_timeout'];
                    $save['snmp_retries'] = $device['snmp_retries'];
                    $save['snmp_username'] = '';
                    $save['snmp_password'] = '';
                    $save['snmp_auth_protocol'] = '';
                    $save['snmp_priv_passphrase'] = '';
                    $save['snmp_priv_protocol'] = '';
                    $save['snmp_context'] = '';
                    $save['snmp_engine_id'] = '';
                    $save['max_oids'] = '';
                    $item_id = sql_save($save, 'mac_track_snmp_items');
                }
            }
            # each readstring added as SNMP Option item
            # now, let's find all devices, that used this snmp_readstrings
            $sql = 'UPDATE mac_track_devices SET snmp_options=' . $snmp_id . " WHERE snmp_readstrings='" . $device['snmp_readstrings'] . "' AND snmp_version=" . $device['snmp_version'] . ' AND snmp_port=' . $device['snmp_port'] . ' AND snmp_timeout=' . $device['snmp_timeout'] . ' AND snmp_retries=' . $device['snmp_retries'];
            $ok = db_execute($sql);
        }
    }
    db_execute("REPLACE INTO settings (name,value) VALUES ('mt_convert_readstrings', 'on')");
    # we keep the field:snmp_readstrings in mac_track_devices, it should be deprecated first
    # next mactrack release may delete that field, then
}
Esempio n. 8
0
function form_save() {
	if (isset($_POST["save_component_item"])) {
		/* ================= input validation ================= */
		input_validate_input_number(get_request_var_post("graph_template_id"));
		input_validate_input_number(get_request_var_post("task_item_id"));
		/* ==================================================== */

		global $graph_item_types;

		$items[0] = array();

		if ($graph_item_types{$_POST["graph_type_id"]} == "LEGEND") {
			/* this can be a major time saver when creating lots of graphs with the typical
			GPRINT LAST/AVERAGE/MAX legends */
			$items = array(
				0 => array(
					"color_id" => "0",
					"graph_type_id" => "9",
					"consolidation_function_id" => "4",
					"text_format" => "Current:",
					"hard_return" => ""
					),
				1 => array(
					"color_id" => "0",
					"graph_type_id" => "9",
					"consolidation_function_id" => "1",
					"text_format" => "Average:",
					"hard_return" => ""
					),
				2 => array(
					"color_id" => "0",
					"graph_type_id" => "9",
					"consolidation_function_id" => "3",
					"text_format" => "Maximum:",
					"hard_return" => "on"
					));
		}

		foreach ($items as $item) {
			/* generate a new sequence if needed */
			if (empty($_POST["sequence"])) {
				$_POST["sequence"] = get_sequence($_POST["sequence"], "sequence", "graph_templates_item", "graph_template_id=" . $_POST["graph_template_id"] . " and local_graph_id=0");
			}

			$save["id"] = $_POST["graph_template_item_id"];
			$save["hash"] = get_hash_graph_template($_POST["graph_template_item_id"], "graph_template_item");
			$save["graph_template_id"] = $_POST["graph_template_id"];
			$save["local_graph_id"] = 0;
			$save["task_item_id"] = form_input_validate($_POST["task_item_id"], "task_item_id", "", true, 3);
			$save["color_id"] = form_input_validate((isset($item["color_id"]) ? $item["color_id"] : $_POST["color_id"]), "color_id", "", true, 3);
			/* if alpha is disabled, use invisible_alpha instead */
			if (!isset($_POST["alpha"])) {$_POST["alpha"] = $_POST["invisible_alpha"];}
			$save["alpha"] = form_input_validate((isset($item["alpha"]) ? $item["alpha"] : $_POST["alpha"]), "alpha", "", true, 3);
			$save["graph_type_id"] = form_input_validate((isset($item["graph_type_id"]) ? $item["graph_type_id"] : $_POST["graph_type_id"]), "graph_type_id", "", true, 3);
			$save["cdef_id"] = form_input_validate($_POST["cdef_id"], "cdef_id", "", true, 3);
			$save["consolidation_function_id"] = form_input_validate((isset($item["consolidation_function_id"]) ? $item["consolidation_function_id"] : $_POST["consolidation_function_id"]), "consolidation_function_id", "", true, 3);
			$save["text_format"] = form_input_validate((isset($item["text_format"]) ? $item["text_format"] : $_POST["text_format"]), "text_format", "", true, 3);
			$save["value"] = form_input_validate($_POST["value"], "value", "", true, 3);
			$save["hard_return"] = form_input_validate(((isset($item["hard_return"]) ? $item["hard_return"] : (isset($_POST["hard_return"]) ? $_POST["hard_return"] : ""))), "hard_return", "", true, 3);
			$save["gprint_id"] = form_input_validate($_POST["gprint_id"], "gprint_id", "", true, 3);
			$save["sequence"] = $_POST["sequence"];

			if (!is_error_message()) {
				/* Before we save the item, let's get a look at task_item_id <-> input associations */
				$orig_data_source_graph_inputs = db_fetch_assoc("select
					graph_template_input.id,
					graph_template_input.name,
					graph_templates_item.task_item_id
					from (graph_template_input,graph_template_input_defs,graph_templates_item)
					where graph_template_input.id=graph_template_input_defs.graph_template_input_id
					and graph_template_input_defs.graph_template_item_id=graph_templates_item.id
					and graph_template_input.graph_template_id=" . $save["graph_template_id"] . "
					and graph_template_input.column_name='task_item_id'
					group by graph_templates_item.task_item_id");

				$orig_data_source_to_input = array_rekey($orig_data_source_graph_inputs, "task_item_id", "id");

				$graph_template_item_id = sql_save($save, "graph_templates_item");

				if ($graph_template_item_id) {
					raise_message(1);

					if (!empty($save["task_item_id"])) {
						/* old item clean-up.  Don't delete anything if the item <-> task_item_id association remains the same. */
						if ($_POST["_task_item_id"] != $_POST["task_item_id"]) {
							/* It changed.  Delete any old associations */
							db_execute("delete from graph_template_input_defs where graph_template_item_id=$graph_template_item_id");

							/* Input for current data source exists and has changed.  Update the association */
							if (isset($orig_data_source_to_input{$save["task_item_id"]})) {
								db_execute("replace into graph_template_input_defs (graph_template_input_id,
								graph_template_item_id) values (" . $orig_data_source_to_input{$save["task_item_id"]}
								. ",$graph_template_item_id)");
							}
						}

						/* an input for the current data source does NOT currently exist, let's create one */
						if (!isset($orig_data_source_to_input{$save["task_item_id"]})) {
							$ds_name = db_fetch_cell("select data_source_name from data_template_rrd where id=" . $_POST["task_item_id"]);

							db_execute("replace into graph_template_input (hash,graph_template_id,name,column_name) values (
								'" . get_hash_graph_template(0, "graph_template_input") . "'," . $save["graph_template_id"] . ",
								'Data Source [$ds_name]','task_item_id')");

							$graph_template_input_id = db_fetch_insert_id();

							$graph_items = db_fetch_assoc("select id from graph_templates_item where graph_template_id=" . $save["graph_template_id"] . " and task_item_id=" . $_POST["task_item_id"]);

							if (sizeof($graph_items) > 0) {
							foreach ($graph_items as $graph_item) {
								db_execute("replace into graph_template_input_defs (graph_template_input_id,graph_template_item_id) values ($graph_template_input_id," . $graph_item["id"] . ")");
							}
							}
						}
					}

					push_out_graph_item($graph_template_item_id);

					if (isset($orig_data_source_to_input{$_POST["task_item_id"]})) {
						/* make sure all current graphs using this graph input are aware of this change */
						push_out_graph_input($orig_data_source_to_input{$_POST["task_item_id"]}, $graph_template_item_id, array($graph_template_item_id => $graph_template_item_id));
					}
				}else{
					raise_message(2);
				}
			}

			$_POST["sequence"] = 0;
		}

		if (is_error_message()) {
			header("Location: graph_templates_items.php?action=item_edit&graph_template_item_id=" . (empty($graph_template_item_id) ? $_POST["graph_template_item_id"] : $graph_template_item_id) . "&id=" . $_POST["graph_template_id"]);
			exit;
		}else{
			header("Location: graph_templates.php?action=template_edit&id=" . $_POST["graph_template_id"]);
			exit;
		}
	}
}
Esempio n. 9
0
function mactrack_snmp_item_edit() {
	global $config, $colors;
	global $fields_mactrack_snmp_item_edit;
	#print "<pre>Post: "; print_r($_POST); print "Get: "; print_r($_GET); print "Request: ";  print_r($_REQUEST);  /*print "Session: ";  print_r($_SESSION);*/ print "</pre>";

	/* ================= input validation ================= */
	input_validate_input_number(get_request_var("id"));
	input_validate_input_number(get_request_var("item_id"));
	/* ==================================================== */

	# fetch the current mactrack snmp record
	$snmp_option = db_fetch_row("SELECT * " .
			"FROM mac_track_snmp " .
			"WHERE id=" . get_request_var_request("id"));

	# if an existing item was requested, fetch data for it
	if (get_request_var_request("item_id", '') !== '') {
		$mactrack_snmp_item = db_fetch_row("SELECT * " .
					"FROM mac_track_snmp_items" .
					" WHERE id=" . get_request_var_request("item_id"));
		$header_label = "[edit SNMP Options: " . $snmp_option['name'] . "]";
	}else{
		$header_label = "[new SNMP Options: " . $snmp_option['name'] . "]";
		$mactrack_snmp_item = array();
		$mactrack_snmp_item["snmp_id"] = get_request_var_request("id");
		$mactrack_snmp_item["sequence"] = get_sequence('', 'sequence', 'mac_track_snmp_items', 'snmp_id=' . get_request_var_request("id"));
	}

	print "<form method='post' action='" .  basename($_SERVER["PHP_SELF"]) . "' name='mactrack_item_edit'>\n";
	# ready for displaying the fields
	html_start_box("<strong>SNMP Options</strong> $header_label", "100%", $colors["header"], "3", "center", "");

	draw_edit_form(array(
		"config" => array("no_form_tag" => true),
		"fields" => inject_form_variables($fields_mactrack_snmp_item_edit, (isset($mactrack_snmp_item) ? $mactrack_snmp_item : array()))
	));

	html_end_box();
	form_hidden_box("item_id", (isset($_GET["item_id"]) ? $_GET["item_id"] : "0"), "");
	form_hidden_box("id", (isset($mactrack_snmp_item["snmp_id"]) ? $mactrack_snmp_item["snmp_id"] : "0"), "");
	form_hidden_box("save_component_mactrack_snmp_item", "1", "");

	mactrack_save_button(htmlspecialchars("mactrack_snmp.php?action=edit&id=" . get_request_var_request("id")));

	print "<script type='text/javascript' src='" . URL_PATH . "plugins/mactrack/mactrack_snmp.js'></script>";
}
Esempio n. 10
0
 function find_genbank_from_id($referent, &$item)
 {
     global $debug;
     global $error;
     $found = false;
     if ($debug) {
         echo '<div style="border: 1px solid #c7cfd5;background: rgb(255,255,153);padding:15px;">';
         echo "<p><b>Find GenBank sequence from accession number</b></p>";
         echo '<pre>';
         print_r($values);
         echo '</pre>';
         echo '</div>';
     }
     $acc = '';
     if (array_key_exists('genbank', $referent->id)) {
         $acc = $referent->id['genbank'];
     } else {
         $acc = $referent->id['gi'];
     }
     //echo $acc;
     if (get_sequence($acc, &$item) != 0) {
         //print_r($item);
         $found = true;
     }
     return $found;
 }
Esempio n. 11
0
function form_save() {
	require(CACTI_BASE_PATH . "/include/graph/graph_arrays.php");

	if (isset($_POST["save_component_item"])) {
		/* ================= input validation ================= */
		input_validate_input_number(get_request_var_post("graph_template_id"));
		input_validate_input_number(get_request_var_post("task_item_id"));
		/* ==================================================== */

		$items[0] = array();

		if (get_request_var_post("graph_type_id") == GRAPH_ITEM_TYPE_LEGEND) {
			/* this can be a major time saver when creating lots of graphs with the typical
			GPRINT LAST/AVERAGE/MAX legends */
			$items = array(
				0 => array(
					"color_id" => "0",
					"graph_type_id" => GRAPH_ITEM_TYPE_GPRINT_LAST,
					"consolidation_function_id" => RRA_CF_TYPE_AVERAGE,
					"text_format" => __("Current:"),
					"hard_return" => ""
					),
				1 => array(
					"color_id" => "0",
					"graph_type_id" => GRAPH_ITEM_TYPE_GPRINT_AVERAGE,
					"consolidation_function_id" => RRA_CF_TYPE_AVERAGE,
					"text_format" => __("Average:"),
					"hard_return" => ""
					),
				2 => array(
					"color_id" => "0",
					"graph_type_id" => GRAPH_ITEM_TYPE_GPRINT_MAX,
					"consolidation_function_id" => RRA_CF_TYPE_AVERAGE,
					"text_format" => __("Maximum:"),
					"hard_return" => CHECKED
					));
		}

		if ($_POST["graph_type_id"] == GRAPH_ITEM_TYPE_CUSTOM_LEGEND) {
			/* this can be a major time saver when creating lots of graphs with the typical VDEFs */
			$items = array(
				0 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl1_gt_id"),
					"consolidation_function_id" => read_config_option("cl1_cf_id"),
					"vdef_id" => read_config_option("cl1_vdef_id"),
					"text_format" => read_config_option("cl1_text_format"),
					"hard_return" => read_config_option("cl1_hard_return")
					),
				1 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl2_gt_id"),
					"consolidation_function_id" => read_config_option("cl2_cf_id"),
					"vdef_id" => read_config_option("cl2_vdef_id"),
					"text_format" => read_config_option("cl2_text_format"),
					"hard_return" => read_config_option("cl2_hard_return")
					),
				2 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl3_gt_id"),
					"consolidation_function_id" => read_config_option("cl3_cf_id"),
					"vdef_id" => read_config_option("cl3_vdef_id"),
					"text_format" => read_config_option("cl3_text_format"),
					"hard_return" => read_config_option("cl3_hard_return")
					),
				3 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl4_gt_id"),
					"consolidation_function_id" => read_config_option("cl4_cf_id"),
					"vdef_id" => read_config_option("cl4_vdef_id"),
					"text_format" => read_config_option("cl4_text_format"),
					"hard_return" => read_config_option("cl4_hard_return")
					),
				);
			foreach ($items as $key => $item) { #drop "empty" custom legend items
				if (empty($item["text_format"])) unset($items[$key]);
			}
		}

		foreach ($items as $item) {
			$save["id"] 				= form_input_validate($_POST["graph_template_item_id"], "graph_template_item_id", "^[0-9]+$", false, 3);
			$save["hash"] 				= get_hash_graph_template($_POST["graph_template_item_id"], "graph_template_item");
			$save["graph_template_id"] 	= form_input_validate($_POST["graph_template_id"], "graph_template_id", "^[0-9]+$", false, 3);
			$save["local_graph_id"] 	= 0;
			$save["task_item_id"] 		= form_input_validate(((isset($item["task_item_id"]) ? $item["task_item_id"] : (isset($_POST["task_item_id"]) ? $_POST["task_item_id"] : 0))), "task_item_id", "^[0-9]+$", true, 3);
			$save["color_id"] 			= form_input_validate(((isset($item["color_id"]) ? $item["color_id"] : (isset($_POST["color_id"]) ? $_POST["color_id"] : 0))), "color_id", "^[0-9]+$", true, 3);
			$save["alpha"] 				= form_input_validate(((isset($item["alpha"]) ? $item["alpha"] : (isset($_POST["alpha"]) ? $_POST["alpha"] : "FF"))), "alpha", "^[a-fA-F0-9]+$", true, 3);
			$save["graph_type_id"]		= form_input_validate(((isset($item["graph_type_id"]) ? $item["graph_type_id"] : (isset($_POST["graph_type_id"]) ? $_POST["graph_type_id"] : 0))), "graph_type_id", "^[0-9]+$", true, 3);
			if (isset($_POST["line_width"]) || isset($item["line_width"])) {
				$save["line_width"] 	= form_input_validate((isset($item["line_width"]) ? $item["line_width"] : $_POST["line_width"]), "line_width", "^[0-9]+[\.,]+[0-9]+$", true, 3);
			}else { # make sure to transfer old LINEx style into line_width on save
				switch ($save["graph_type_id"]) {
					case GRAPH_ITEM_TYPE_LINE1:
						$save["line_width"] = 1;
						break;
					case GRAPH_ITEM_TYPE_LINE2:
						$save["line_width"] = 2;
						break;
					case GRAPH_ITEM_TYPE_LINE3:
						$save["line_width"] = 3;
						break;
					default:
						$save["line_width"] = 0;
				}
			}
			$save["dashes"] 			= form_input_validate((isset($_POST["dashes"]) ? $_POST["dashes"] : ""), "dashes", "^[0-9]+[,0-9]*$", true, 3);
			$save["dash_offset"] 		= form_input_validate((isset($_POST["dash_offset"]) ? $_POST["dash_offset"] : ""), "dash_offset", "^[0-9]+$", true, 3);
			$save["cdef_id"] 			= form_input_validate(((isset($item["cdef_id"]) ? $item["cdef_id"] : (isset($_POST["cdef_id"]) ? $_POST["cdef_id"] : 0))), "cdef_id", "^[0-9]+$", true, 3);
			$save["vdef_id"] 			= form_input_validate(((isset($item["vdef_id"]) ? $item["vdef_id"] : (isset($_POST["vdef_id"]) ? $_POST["vdef_id"] : 0))), "vdef_id", "^[0-9]+$", true, 3);
			$save["shift"] 				= form_input_validate((isset($_POST["shift"]) ? $_POST["shift"] : ""), "shift", "^((on)|)$", true, 3);
			$save["consolidation_function_id"] = form_input_validate(((isset($item["consolidation_function_id"]) ? $item["consolidation_function_id"] : (isset($_POST["consolidation_function_id"]) ? $_POST["consolidation_function_id"] : 0))), "consolidation_function_id", "^[0-9]+$", true, 3);
			$save["textalign"] 			= form_input_validate((isset($_POST["textalign"]) ? $_POST["textalign"] : ""), "textalign", "^[a-z]+$", true, 3);
			$save["text_format"] 		= form_input_validate(((isset($item["text_format"]) ? $item["text_format"] : (isset($_POST["text_format"]) ? $_POST["text_format"] : ""))), "text_format", "", true, 3);
			$save["value"] 				= form_input_validate((isset($_POST["value"]) ? $_POST["value"] : ""), "value", "", true, 3);
			$save["hard_return"] 		= form_input_validate(((isset($item["hard_return"]) ? $item["hard_return"] : (isset($_POST["hard_return"]) ? $_POST["hard_return"] : ""))), "hard_return", "", true, 3);
			$save["gprint_id"] 			= form_input_validate(((isset($item["gprint_id"]) ? $item["gprint_id"] : (isset($_POST["gprint_id"]) ? $_POST["gprint_id"] : 0))), "gprint_id", "^[0-9]+$", true, 3);
			/* generate a new sequence if needed */
			if (empty($_POST["sequence"])) {
				$_POST["sequence"] 		= get_sequence($_POST["sequence"], "sequence", "graph_templates_item", "graph_template_id=" . $_POST["graph_template_id"] . " and local_graph_id=0");
			}
			$save["sequence"] 			= form_input_validate($_POST["sequence"], "sequence", "^[0-9]+$", false, 3);

			if (!is_error_message()) {
				/* Before we save the item, let's get a look at task_item_id <-> input associations */
				$orig_data_source_graph_inputs = db_fetch_assoc("select
					graph_template_input.id,
					graph_template_input.name,
					graph_templates_item.task_item_id
					from (graph_template_input,graph_template_input_defs,graph_templates_item)
					where graph_template_input.id=graph_template_input_defs.graph_template_input_id
					and graph_template_input_defs.graph_template_item_id=graph_templates_item.id
					and graph_template_input.graph_template_id=" . $save["graph_template_id"] . "
					and graph_template_input.column_name='task_item_id'
					group by graph_templates_item.task_item_id");

				$orig_data_source_to_input = array_rekey($orig_data_source_graph_inputs, "task_item_id", "id");

				$graph_template_item_id = sql_save($save, "graph_templates_item");

				if ($graph_template_item_id) {
					raise_message(1);

					if (!empty($save["task_item_id"])) {
						/* old item clean-up.  Don't delete anything if the item <-> task_item_id association remains the same. */
						if ($_POST["hidden_task_item_id"] != $_POST["task_item_id"]) {
							/* It changed.  Delete any old associations */
							db_execute("delete from graph_template_input_defs where graph_template_item_id=$graph_template_item_id");

							/* Input for current data source exists and has changed.  Update the association */
							if (isset($orig_data_source_to_input{$save["task_item_id"]})) {
								db_execute("REPLACE INTO graph_template_input_defs " .
											"(graph_template_input_id, graph_template_item_id) " .
											"VALUES (" .
											$orig_data_source_to_input{$save["task_item_id"]} . "," .
											$graph_template_item_id .
											")");
							}
						}

						/* an input for the current data source does NOT currently exist, let's create one */
						if (!isset($orig_data_source_to_input{$save["task_item_id"]})) {
							$ds_name = db_fetch_cell("select data_source_name from data_template_rrd where id=" . $_POST["task_item_id"]);

							db_execute("REPLACE INTO graph_template_input " .
										"(hash,graph_template_id,name,column_name) " .
										"VALUES ('" .
										get_hash_graph_template(0, "graph_template_input") . "'," .
										$save["graph_template_id"] . "," .
										"'Data Source [" . $ds_name . "]'," .
										'task_item_id' .
										")");

							$graph_template_input_id = db_fetch_insert_id();

							$graph_items = db_fetch_assoc("select id from graph_templates_item where graph_template_id=" . $save["graph_template_id"] . " and task_item_id=" . $_POST["task_item_id"]);

							if (sizeof($graph_items) > 0) {
								foreach ($graph_items as $graph_item) {
									db_execute("REPLACE INTO graph_template_input_defs " .
												"(graph_template_input_id,graph_template_item_id) " .
												"VALUES (" .
												$graph_template_input_id . "," .
												$graph_item["id"] .
												")");
								}
							}
						}
					}

					push_out_graph_item($graph_template_item_id);


					if (isset($_POST["task_item_id"]) && isset($orig_data_source_to_input{$_POST["task_item_id"]})) {
						/* make sure all current graphs using this graph input are aware of this change */
						push_out_graph_input($orig_data_source_to_input{$_POST["task_item_id"]}, $graph_template_item_id, array($graph_template_item_id => $graph_template_item_id));
					}
				}else{
					raise_message(2);
				}
			}

			$_POST["sequence"] = 0;
		}

		if (is_error_message()) {
			header("Location: graph_templates_items.php?action=item_edit&graph_template_item_id=" . (empty($graph_template_item_id) ? $_POST["graph_template_item_id"] : $graph_template_item_id) . "&id=" . $_POST["graph_template_id"]);
		}else{
			header("Location: graph_templates.php?action=template_edit&id=" . $_POST["graph_template_id"] . "&template_id=" . $_POST["graph_template_id"] . "&tab=items");
		}
		exit;
	}
}
Esempio n. 12
0
File: cdef.php Progetto: MrWnn/cacti
function form_save()
{
    if (isset($_POST['save_component_cdef'])) {
        $save['id'] = form_input_validate($_POST['id'], 'id', '^[0-9]+$', false, 3);
        $save['hash'] = get_hash_cdef($_POST['id']);
        $save['name'] = form_input_validate($_POST['name'], 'name', '', false, 3);
        if (!is_error_message()) {
            $cdef_id = sql_save($save, 'cdef');
            if ($cdef_id) {
                raise_message(1);
            } else {
                raise_message(2);
            }
        }
        header('Location: cdef.php?action=edit&id=' . (empty($cdef_id) ? $_POST['id'] : $cdef_id));
    } elseif (isset($_POST['save_component_item'])) {
        $sequence = get_sequence($_POST['id'], 'sequence', 'cdef_items', 'cdef_id=' . $_POST['cdef_id']);
        $save['id'] = form_input_validate($_POST['id'], 'id', '^[0-9]+$', false, 3);
        $save['hash'] = get_hash_cdef($_POST['id'], 'cdef_item');
        $save['cdef_id'] = form_input_validate($_POST['cdef_id'], 'cdef_id', '^[0-9]+$', false, 3);
        $save['sequence'] = $sequence;
        $save['type'] = form_input_validate($_POST['type'], 'type', '^[0-9]+$', false, 3);
        $save['value'] = form_input_validate($_POST['value'], 'value', '', false, 3);
        if (!is_error_message()) {
            $cdef_item_id = sql_save($save, 'cdef_items');
            if ($cdef_item_id) {
                raise_message(1);
            } else {
                raise_message(2);
            }
        }
        if (is_error_message()) {
            header('Location: cdef.php?action=item_edit&cdef_id=' . $_POST['cdef_id'] . '&id=' . (empty($cdef_item_id) ? $_POST['id'] : $cdef_item_id));
        } else {
            header('Location: cdef.php?action=edit&id=' . $_POST['cdef_id']);
        }
    }
}
Esempio n. 13
0
function reports_item_edit()
{
    global $config;
    global $fields_reports_item_edit;
    /* ================= input validation ================= */
    input_validate_input_number(get_request_var_request('id'));
    input_validate_input_number(get_request_var_request('item_id'));
    input_validate_input_number(get_request_var_request('item_type'));
    input_validate_input_number(get_request_var_request('branch_id'));
    input_validate_input_number(get_request_var_request('tree_id'));
    input_validate_input_number(get_request_var_request('host_id'));
    input_validate_input_number(get_request_var_request('host_template_id'));
    input_validate_input_number(get_request_var_request('graph_template_id'));
    /* ==================================================== */
    # fetch the current report record
    $report = db_fetch_row('SELECT *
		FROM reports 
		WHERE id=' . get_request_var_request('id'));
    # if an existing item was requested, fetch data for it
    if (isset($_REQUEST['item_id']) && $_REQUEST['item_id'] > 0) {
        $reports_item = db_fetch_row('SELECT *
			FROM reports_items
			WHERE id=' . get_request_var_request('item_id'));
        $header_label = '[edit Report Item: ' . $report['name'] . ']';
    } else {
        $header_label = '[new Report Item: ' . $report['name'] . ']';
        $reports_item = array();
        $reports_item['report_id'] = get_request_var_request('id');
        $reports_item['sequence'] = get_sequence('', 'sequence', 'reports_items', 'report_id=' . get_request_var_request('id'));
        $reports_item['host_id'] = REPORTS_HOST_NONE;
    }
    # if a different host_template_id was selected, use it
    if (get_request_var_request('item_type', '') !== '') {
        $reports_item['item_type'] = get_request_var_request('item_type');
    }
    if (get_request_var_request('tree_id', '') !== '') {
        $reports_item['tree_id'] = get_request_var_request('tree_id');
    } else {
        if (!isset($reports_item['tree_id'])) {
            $reports_item['tree_id'] = 0;
        }
    }
    if (get_request_var_request('host_template_id', '') !== '') {
        $reports_item['host_template_id'] = get_request_var_request('host_template_id');
    } else {
        if (!isset($reports_item['host_template_id'])) {
            $reports_item['host_template_id'] = 0;
        }
    }
    # if a different host_id was selected, use it
    if (get_request_var_request('host_id', '') !== '') {
        $reports_item['host_id'] = get_request_var_request('host_id');
    }
    # if a different graph_template_id was selected, use it
    if (get_request_var_request('graph_template_id', '') !== '') {
        $reports_item['graph_template_id'] = get_request_var_request('graph_template_id');
    } else {
        if (!isset($reports_item['graph_template_id'])) {
            $reports_item['graph_template_id'] = 0;
        }
    }
    load_current_session_value('host_template_id', 'sess_reports_edit_host_template_id', 0);
    load_current_session_value('host_id', 'sess_reports_edit_host_id', 0);
    load_current_session_value('tree_id', 'sess_reports_edit_tree_id', 0);
    /* set the default item alignment */
    $fields_reports_item_edit['align']['default'] = $report['alignment'];
    /* set the default item alignment */
    $fields_reports_item_edit['font_size']['default'] = $report['font_size'];
    print "<form method='post' action='" . basename($_SERVER['PHP_SELF']) . "' name='reports_item_edit'>\n";
    # ready for displaying the fields
    html_start_box("<strong>Report Item</strong> {$header_label}", '100%', '', '3', 'center', '');
    draw_edit_form(array('config' => array('no_form_tag' => true), 'fields' => inject_form_variables($fields_reports_item_edit, isset($reports_item) ? $reports_item : array(), isset($report) ? $report : array())));
    html_end_box();
    form_hidden_box('id', isset($reports_item['id']) ? $reports_item['id'] : '0', '');
    form_hidden_box('report_id', isset($reports_item['report_id']) ? $reports_item['report_id'] : '0', '');
    form_hidden_box('save_component_report_item', '1', '');
    echo "<table id='graphdiv' style='display:none;' align='center' width='100%'><tr><td align='center' id='graph'></td></tr></table>";
    form_save_button(htmlspecialchars(get_reports_page() . '?action=edit&tab=items&id=' . get_request_var_request('id')), 'return');
    if (isset($item['item_type']) && $item['item_type'] == REPORTS_ITEM_GRAPH) {
        $timespan = array();
        # get config option for first-day-of-the-week
        $first_weekdayid = read_graph_config_option('first_weekdayid');
        # get start/end time-since-epoch for actual time (now()) and given current-session-timespan
        get_timespan($timespan, time(), $item['timespan'], $first_weekdayid);
    }
    /* don't cache previews */
    $_SESSION['custom'] = 'true';
    ?>
	<script type='text/javascript'>

	useCss=<?php 
    print $report['cformat'] == 'on' ? 'true' : 'false';
    ?>
;

	toggle_item_type();
	graphImage(document.getElementById('local_graph_id').value);

	function toggle_item_type() {
		// right bracket ')' does not come with a field
		if (document.getElementById('item_type').value == '<?php 
    print REPORTS_ITEM_GRAPH;
    ?>
') {
			document.getElementById('row_align').style.display='';
			document.getElementById('row_tree_id').style.display='none';
			document.getElementById('row_branch_id').style.display='none';
			document.getElementById('row_tree_cascade').style.display='none';
			document.getElementById('row_graph_name_regexp').style.display='none';
			document.getElementById('row_host_template_id').style.display='';
			document.getElementById('row_host_id').style.display='';
			document.getElementById('row_graph_template_id').style.display='';
			document.getElementById('row_local_graph_id').style.display='';
			document.getElementById('row_timespan').style.display='';
			document.getElementById('item_text').value = '';
			document.getElementById('row_item_text').style.display='none';
			document.getElementById('row_font_size').style.display='none';
		} else if (document.getElementById('item_type').value == '<?php 
    print REPORTS_ITEM_TEXT;
    ?>
') {
			document.getElementById('row_align').style.display='';
			document.getElementById('row_tree_id').style.display='none';
			document.getElementById('row_branch_id').style.display='none';
			document.getElementById('row_tree_cascade').style.display='none';
			document.getElementById('row_graph_name_regexp').style.display='none';
			document.getElementById('row_host_template_id').style.display='none';
			document.getElementById('row_host_id').style.display='none';
			document.getElementById('row_graph_template_id').style.display='none';
			document.getElementById('row_local_graph_id').style.display='none';
			document.getElementById('row_timespan').style.display='none';
			document.getElementById('row_item_text').style.display='';
			if (useCss) {
				document.getElementById('row_font_size').style.display='none';
			}else{
				document.getElementById('row_font_size').style.display='';
			}
		} else if (document.getElementById('item_type').value == '<?php 
    print REPORTS_ITEM_TREE;
    ?>
') {
			document.getElementById('row_align').style.display='';
			document.getElementById('row_tree_id').style.display='';
			document.getElementById('row_branch_id').style.display='';
			document.getElementById('row_tree_cascade').style.display='';
			document.getElementById('row_graph_name_regexp').style.display='';
			document.getElementById('row_host_template_id').style.display='none';
			document.getElementById('row_host_id').style.display='none';
			document.getElementById('row_graph_template_id').style.display='none';
			document.getElementById('row_local_graph_id').style.display='none';
			document.getElementById('row_timespan').style.display='';
			document.getElementById('row_item_text').style.display='none';
			if (useCss) {
				document.getElementById('row_font_size').style.display='none';
			}else{
				document.getElementById('row_font_size').style.display='';
			}
		} else {
			document.getElementById('row_tree_id').style.display='none';
			document.getElementById('row_branch_id').style.display='none';
			document.getElementById('row_tree_cascade').style.display='none';
			document.getElementById('row_graph_name_regexp').style.display='none';
			document.getElementById('row_host_template_id').style.display='none';
			document.getElementById('row_host_id').style.display='none';
			document.getElementById('row_graph_template_id').style.display='none';
			document.getElementById('row_local_graph_id').style.display='none';
			document.getElementById('row_timespan').style.display='none';
			document.getElementById('row_item_text').style.display='none';
			document.getElementById('row_font_size').style.display='none';
			document.getElementById('row_align').style.display='none';
		}
	}

	function applyChange(objForm) {
		strURL = '?action=item_edit'
		strURL = strURL + '&id=' + objForm.report_id.value
		strURL = strURL + '&item_id=' + objForm.id.value
		strURL = strURL + '&item_type=' + objForm.item_type.value;
		strURL = strURL + '&tree_id=' + objForm.tree_id.value;
		strURL = strURL + '&branch_id=' + objForm.branch_id.value;
		strURL = strURL + '&host_template_id=' + objForm.host_template_id.value;
		strURL = strURL + '&host_id=' + objForm.host_id.value;
		strURL = strURL + '&graph_template_id=' + objForm.graph_template_id.value;
		document.location = strURL;
	}

	function graphImage(graphId) {
		if (graphId > 0) {
			document.getElementById('graphdiv').style.display='';
			document.getElementById('graph').innerHTML="<img align='center' src='<?php 
    print $config['url_path'];
    ?>
graph_image.php"+
					"?local_graph_id="+graphId+
					"<?php 
    print $report["graph_width"] > 0 ? "&graph_width=" . $report["graph_width"] : "";
    ?>
"+
					"<?php 
    print $report["graph_height"] > 0 ? "&graph_height=" . $report["graph_height"] : "";
    ?>
"+
					"<?php 
    print $report["thumbnails"] == "on" ? "&graph_nolegend=true" : "";
    ?>
"+
					"<?php 
    print isset($timespan["begin_now"]) ? "&graph_start=" . $timespan["begin_now"] : "";
    ?>
"+
					"<?php 
    print isset($timespan["end_now"]) ? "&graph_end=" . $timespan["end_now"] : "";
    ?>
"+
					"&rra_id=0'>";
		}else{
			document.getElementById('graphdiv').style.display='none';
			document.getElementById('graph').innerHTML='';
		}
	}
	</script>
	<?php 
}
Esempio n. 14
0
function form_save() {
	if (isset($_POST["save_component_cdef"])) {
		$save["id"] = $_POST["id"];
		$save["hash"] = get_hash_cdef($_POST["id"]);
		$save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);

		if (!is_error_message()) {
			$cdef_id = sql_save($save, "cdef");

			if ($cdef_id) {
				raise_message(1);
			}else{
				raise_message(2);
			}
		}

		if ((is_error_message()) || (empty($_POST["id"]))) {
			header("Location: cdef.php?action=edit&id=" . (empty($cdef_id) ? $_POST["id"] : $cdef_id));
		}else{
			header("Location: cdef.php");
		}
	}elseif (isset($_POST["save_component_item"])) {
		$sequence = get_sequence($_POST["id"], "sequence", "cdef_items", "cdef_id=" . $_POST["cdef_id"]);

		$save["id"] = $_POST["id"];
		$save["hash"] = get_hash_cdef($_POST["id"], "cdef_item");
		$save["cdef_id"] = $_POST["cdef_id"];
		$save["sequence"] = $sequence;
		$save["type"] = $_POST["type"];
		$save["value"] = $_POST["value"];

		if (!is_error_message()) {
			$cdef_item_id = sql_save($save, "cdef_items");

			if ($cdef_item_id) {
				raise_message(1);
			}else{
				raise_message(2);
			}
		}

		if (is_error_message()) {
			header("Location: cdef.php?action=item_edit&cdef_id=" . $_POST["cdef_id"] . "&id=" . (empty($cdef_item_id) ? $_POST["id"] : $cdef_item_id));
		}else{
			header("Location: cdef.php?action=edit&id=" . $_POST["cdef_id"]);
		}
	}
}
Esempio n. 15
0
function getBubID($dbh, $productID)
{
    switch ($productID) {
        case PRODUCT_UK:
            $sql = "select nextval('seq_bug_id_uk')";
            break;
        case PRODUCT_UM_C:
            $sql = "select nextval('seq_bug_id_um_c')";
            break;
        case PRODUCT_UM_J:
            $sql = "select nextval('seq_bug_id_um_j')";
            break;
    }
    return get_sequence($dbh, $sql);
}
Esempio n. 16
0
function form_save() {
	if (isset($_POST["save_component_snmp_query"])) {
		$save["id"] = $_POST["id"];
		$save["hash"] = get_hash_data_query($_POST["id"]);
		$save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);
		$save["description"] = form_input_validate($_POST["description"], "description", "", true, 3);
		$save["xml_path"] = form_input_validate($_POST["xml_path"], "xml_path", "", false, 3);
		$save["data_input_id"] = $_POST["data_input_id"];

		if (!is_error_message()) {
			$snmp_query_id = sql_save($save, "snmp_query");

			if ($snmp_query_id) {
				raise_message(1);
			}else{
				raise_message(2);
			}
		}

		if ((is_error_message()) || (empty($_POST["id"]))) {
			header("Location: data_queries.php?action=edit&id=" . (empty($snmp_query_id) ? $_POST["id"] : $snmp_query_id));
		}else{
			header("Location: data_queries.php");
		}
	}elseif (isset($_POST["save_component_snmp_query_item"])) {
		$redirect_back = false;

		$save["id"] = $_POST["id"];
		$save["hash"] = get_hash_data_query($_POST["id"], "data_query_graph");
		$save["snmp_query_id"] = $_POST["snmp_query_id"];
		$save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);
		$save["graph_template_id"] = $_POST["graph_template_id"];

		if (!is_error_message()) {
			$snmp_query_graph_id = sql_save($save, "snmp_query_graph");

			if ($snmp_query_graph_id) {
				raise_message(1);

				/* if the user changed the graph template, go through and delete everything that
				was associated with the old graph template */
				if ($_POST["graph_template_id"] != $_POST["_graph_template_id"]) {
					db_execute("delete from snmp_query_graph_rrd_sv where snmp_query_graph_id=$snmp_query_graph_id");
					db_execute("delete from snmp_query_graph_sv where snmp_query_graph_id=$snmp_query_graph_id");
					$redirect_back = true;
				}

				db_execute("delete from snmp_query_graph_rrd where snmp_query_graph_id=$snmp_query_graph_id");

				while (list($var, $val) = each($_POST)) {
					if (eregi("^dsdt_([0-9]+)_([0-9]+)_check", $var)) {
						$data_template_id = ereg_replace("^dsdt_([0-9]+)_([0-9]+).+", "\\1", $var);
						$data_template_rrd_id = ereg_replace("^dsdt_([0-9]+)_([0-9]+).+", "\\2", $var);

						db_execute ("replace into snmp_query_graph_rrd (snmp_query_graph_id,data_template_id,data_template_rrd_id,snmp_field_name) values($snmp_query_graph_id,$data_template_id,$data_template_rrd_id,'" . $_POST{"dsdt_" . $data_template_id . "_" . $data_template_rrd_id . "_snmp_field_output"} . "')");
					}elseif ((eregi("^svds_([0-9]+)_x", $var, $matches)) && (!empty($_POST{"svds_" . $matches[1] . "_text"})) && (!empty($_POST{"svds_" . $matches[1] . "_field"}))) {
						/* suggested values -- data templates */
						$sequence = get_sequence(0, "sequence", "snmp_query_graph_rrd_sv", "snmp_query_graph_id=" . $_POST["id"]  . " and data_template_id=" . $matches[1] . " and field_name='" . $_POST{"svds_" . $matches[1] . "_field"} . "'");
						$hash = get_hash_data_query(0, "data_query_sv_data_source");
						db_execute("insert into snmp_query_graph_rrd_sv (hash,snmp_query_graph_id,data_template_id,sequence,field_name,text) values ('$hash'," . $_POST["id"] . "," . $matches[1] . ",$sequence,'" . $_POST{"svds_" . $matches[1] . "_field"} . "','" . $_POST{"svds_" . $matches[1] . "_text"} . "')");

						$redirect_back = true;
						clear_messages();
					}elseif ((eregi("^svg_x", $var)) && (!empty($_POST{"svg_text"})) && (!empty($_POST{"svg_field"}))) {
						/* suggested values -- graph templates */
						$sequence = get_sequence(0, "sequence", "snmp_query_graph_sv", "snmp_query_graph_id=" . $_POST["id"] . " and field_name='" . $_POST{"svg_field"} . "'");
						$hash = get_hash_data_query(0, "data_query_sv_graph");
						db_execute("insert into snmp_query_graph_sv (hash,snmp_query_graph_id,sequence,field_name,text) values ('$hash'," . $_POST["id"] . ",$sequence,'" . $_POST{"svg_field"} . "','" . $_POST{"svg_text"} . "')");

						$redirect_back = true;
						clear_messages();
					}
				}
			}else{
				raise_message(2);
			}
		}

		if ((is_error_message()) || (empty($_POST["id"])) || ($redirect_back == true)) {
			header("Location: data_queries.php?action=item_edit&id=" . (empty($snmp_query_graph_id) ? $_POST["id"] : $snmp_query_graph_id) . "&snmp_query_id=" . $_POST["snmp_query_id"]);
		}else{
			header("Location: data_queries.php?action=edit&id=" . $_POST["snmp_query_id"]);
		}
	}
}
Esempio n. 17
0
function form_save() {
	require(CACTI_BASE_PATH . "/include/graph/graph_arrays.php");

	if (isset($_POST["save_component_item"])) {

		$items[0] = array();

		if (get_request_var_post("graph_type_id") == GRAPH_ITEM_TYPE_LEGEND) {
			/* this can be a major time saver when creating lots of graphs with the typical
			GPRINT LAST/AVERAGE/MAX legends */
			$items = array(
				0 => array(
					"color_id" => "0",
					"graph_type_id" => GRAPH_ITEM_TYPE_GPRINT_LAST,
					"consolidation_function_id" => RRA_CF_TYPE_AVERAGE,
					"text_format" => __("Current:"),
					"hard_return" => ""
					),
				1 => array(
					"color_id" => "0",
					"graph_type_id" => GRAPH_ITEM_TYPE_GPRINT_AVERAGE,
					"consolidation_function_id" => RRA_CF_TYPE_AVERAGE,
					"text_format" => __("Average:"),
					"hard_return" => ""
					),
				2 => array(
					"color_id" => "0",
					"graph_type_id" => GRAPH_ITEM_TYPE_GPRINT_MAX,
					"consolidation_function_id" => RRA_CF_TYPE_AVERAGE,
					"text_format" => __("Maximum:"),
					"hard_return" => CHECKED
					));
		}

		if ($_POST["graph_type_id"] == GRAPH_ITEM_TYPE_CUSTOM_LEGEND) {
			/* this can be a major time saver when creating lots of graphs with the typical VDEFs */
			$items = array(
				0 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl1_gt_id"),
					"consolidation_function_id" => read_config_option("cl1_cf_id"),
					"vdef_id" => read_config_option("cl1_vdef_id"),
					"text_format" => read_config_option("cl1_text_format"),
					"hard_return" => read_config_option("cl1_hard_return")
					),
				1 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl2_gt_id"),
					"consolidation_function_id" => read_config_option("cl2_cf_id"),
					"vdef_id" => read_config_option("cl2_vdef_id"),
					"text_format" => read_config_option("cl2_text_format"),
					"hard_return" => read_config_option("cl2_hard_return")
					),
				2 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl3_gt_id"),
					"consolidation_function_id" => read_config_option("cl3_cf_id"),
					"vdef_id" => read_config_option("cl3_vdef_id"),
					"text_format" => read_config_option("cl3_text_format"),
					"hard_return" => read_config_option("cl3_hard_return")
					),
				3 => array(
					"color_id" => "0",
					"graph_type_id" => read_config_option("cl4_gt_id"),
					"consolidation_function_id" => read_config_option("cl4_cf_id"),
					"vdef_id" => read_config_option("cl4_vdef_id"),
					"text_format" => read_config_option("cl4_text_format"),
					"hard_return" => read_config_option("cl4_hard_return")
					),
				);
			foreach ($items as $key => $item) { #drop "empty" custom legend items
				if (empty($item["text_format"])) unset($items[$key]);
			}
		}

		foreach ($items as $item) {
			$save["id"] 				= form_input_validate($_POST["graph_template_item_id"], "graph_template_item_id", "^[0-9]+$", false, 3);
			$save["graph_template_id"] 	= form_input_validate($_POST["graph_template_id"], "graph_template_id", "^[0-9]+$", false, 3);
			$save["local_graph_template_item_id"] = form_input_validate($_POST["local_graph_template_item_id"], "local_graph_template_item_id", "^[0-9]+$", false, 3);
			$save["local_graph_id"] 	= form_input_validate($_POST["local_graph_id"], "local_graph_id", "^[0-9]+$", false, 3);
			$save["task_item_id"] 		= form_input_validate(((isset($item["task_item_id"]) ? $item["task_item_id"] : (isset($_POST["task_item_id"]) ? $_POST["task_item_id"] : 0))), "task_item_id", "^[0-9]+$", true, 3);
			$save["color_id"] 			= form_input_validate(((isset($item["color_id"]) ? $item["color_id"] : (isset($_POST["color_id"]) ? $_POST["color_id"] : 0))), "color_id", "^[0-9]+$", true, 3);
			$save["alpha"] 				= form_input_validate(((isset($item["alpha"]) ? $item["alpha"] : (isset($_POST["alpha"]) ? $_POST["alpha"] : "FF"))), "alpha", "^[a-fA-F0-9]+$", true, 3);
			$save["graph_type_id"]		= form_input_validate(((isset($item["graph_type_id"]) ? $item["graph_type_id"] : (isset($_POST["graph_type_id"]) ? $_POST["graph_type_id"] : 0))), "graph_type_id", "^[0-9]+$", true, 3);
			if (isset($_POST["line_width"]) || isset($item["line_width"])) {
				$save["line_width"] 	= form_input_validate((isset($item["line_width"]) ? $item["line_width"] : $_POST["line_width"]), "line_width", "^[0-9]+[\.,]+[0-9]+$", true, 3);
			}else { # make sure to transfer old LINEx style into line_width on save
				switch ($save["graph_type_id"]) {
					case GRAPH_ITEM_TYPE_LINE1:
						$save["line_width"] = 1;
						break;
					case GRAPH_ITEM_TYPE_LINE2:
						$save["line_width"] = 2;
						break;
					case GRAPH_ITEM_TYPE_LINE3:
						$save["line_width"] = 3;
						break;
					default:
						$save["line_width"] = 0;
				}
			}
			$save["dashes"] 			= form_input_validate((isset($_POST["dashes"]) ? $_POST["dashes"] : ""), "dashes", "^[0-9]+[,0-9]*$", true, 3);
			$save["dash_offset"] 		= form_input_validate((isset($_POST["dash_offset"]) ? $_POST["dash_offset"] : ""), "dash_offset", "^[0-9]+$", true, 3);
			$save["cdef_id"] 			= form_input_validate(((isset($item["cdef_id"]) ? $item["cdef_id"] : (isset($_POST["cdef_id"]) ? $_POST["cdef_id"] : 0))), "cdef_id", "^[0-9]+$", true, 3);
			$save["vdef_id"] 			= form_input_validate(((isset($item["vdef_id"]) ? $item["vdef_id"] : (isset($_POST["vdef_id"]) ? $_POST["vdef_id"] : 0))), "vdef_id", "^[0-9]+$", true, 3);
			$save["shift"] 				= form_input_validate((isset($_POST["shift"]) ? $_POST["shift"] : ""), "shift", "^((on)|)$", true, 3);
			$save["consolidation_function_id"] = form_input_validate(((isset($item["consolidation_function_id"]) ? $item["consolidation_function_id"] : (isset($_POST["consolidation_function_id"]) ? $_POST["consolidation_function_id"] : 0))), "consolidation_function_id", "^[0-9]+$", true, 3);
			$save["textalign"] 			= form_input_validate((isset($_POST["textalign"]) ? $_POST["textalign"] : ""), "textalign", "^[a-z]+$", true, 3);
			$save["text_format"] 		= form_input_validate(((isset($item["text_format"]) ? $item["text_format"] : (isset($_POST["text_format"]) ? $_POST["text_format"] : ""))), "text_format", "", true, 3);
			$save["value"] 				= form_input_validate((isset($_POST["value"]) ? $_POST["value"] : ""), "value", "", true, 3);
			$save["hard_return"] 		= form_input_validate(((isset($item["hard_return"]) ? $item["hard_return"] : (isset($_POST["hard_return"]) ? $_POST["hard_return"] : ""))), "hard_return", "", true, 3);
			$save["gprint_id"] 			= form_input_validate(((isset($item["gprint_id"]) ? $item["gprint_id"] : (isset($_POST["gprint_id"]) ? $_POST["gprint_id"] : 0))), "gprint_id", "^[0-9]+$", true, 3);
			/* generate a new sequence if needed */
			if (empty($_POST["sequence"])) {
				$_POST["sequence"] 		= get_sequence($_POST["sequence"], "sequence", "graph_templates_item", "graph_template_id=" . $_POST["graph_template_id"] . " and local_graph_id=0");
			}
			$save["sequence"] 			= form_input_validate($_POST["sequence"], "sequence", "^[0-9]+$", false, 3);

			if (!is_error_message()) {
				$graph_template_item_id = sql_save($save, "graph_templates_item");

				if ($graph_template_item_id) {
					raise_message(1);
				}else{
					raise_message(2);
				}
			}

			$_POST["sequence"] = 0;
		}

		if (is_error_message()) {
			header("Location: graphs.php?action=item_edit&graph_template_item_id=" . (empty($graph_template_item_id) ? $_POST["graph_template_item_id"] : $graph_template_item_id) . "&id=" . $_POST["local_graph_id"]);
		}else{
			header("Location: graphs.php?action=graph_edit&id=" . $_POST["local_graph_id"]);
		}
		exit;
	}
}
Esempio n. 18
0
function convert_readstrings() {
	global $config;

	if (defined('CACTI_BASE_PATH')) {
		$config["base_path"] = CACTI_BASE_PATH;
	}

	include_once($config["base_path"] . "/lib/functions.php");

	$sql = "SELECT DISTINCT " .
		"snmp_readstrings, " .
		"snmp_version, " .
		"snmp_port, " .
		"snmp_timeout, " .
		"snmp_retries " .
		"FROM mac_track_devices";
	cacti_log($sql, false, "MACTRACK");
	$devices = db_fetch_assoc($sql);
	cacti_log(serialize($devices), false, "MACTRACK");

	if (sizeof($devices)) {
		$i = 0;
		foreach($devices as $device) {
			# create new SNMP Option Set
			unset($save);
			$save["id"] = 0;
			$save["name"] = "Custom_" . $i++;
			$snmp_id = sql_save($save, "mac_track_snmp");
			cacti_log("new option entry: " . $snmp_id, false, "MACTRACK");

			# add each single option derived from readstrings
			$read_strings = explode(":",$device["snmp_readstrings"]);
			if (sizeof($read_strings)) {
				foreach($read_strings as $snmp_readstring) {
					unset($save);
					$save["id"]						= 0;
					$save["snmp_id"] 				= $snmp_id;
					$save["sequence"] 				= get_sequence('', 'sequence', 'mac_track_snmp_items', 'snmp_id=' . $snmp_id);

					$save["snmp_readstring"] 		= $snmp_readstring;
					$save["snmp_version"] 			= $device["snmp_version"];
					$save["snmp_port"]				= $device["snmp_port"];
					$save["snmp_timeout"]			= $device["snmp_timeout"];
					$save["snmp_retries"]			= $device["snmp_retries"];
					$save["snmp_username"]			= "";
					$save["snmp_password"]			= "";
					$save["snmp_auth_protocol"]		= "";
					$save["snmp_priv_passphrase"]	= "";
					$save["snmp_priv_protocol"]		= "";
					$save["snmp_context"]			= "";
					$save["max_oids"]				= "";

					$item_id = sql_save($save, "mac_track_snmp_items");
					cacti_log("new option item entry: " . $item_id, false, "MACTRACK");
				}
			} # each readstring added as SNMP Option item

			# now, let's find all devices, that used this snmp_readstrings
			$sql = "UPDATE mac_track_devices SET snmp_options=" . $snmp_id .
					" WHERE snmp_readstrings='" . $device["snmp_readstrings"] .
					"' AND snmp_version=" . $device["snmp_version"] .
					" AND snmp_port=" . $device["snmp_port"] .
					" AND snmp_timeout=" . $device["snmp_timeout"] .
					" AND snmp_retries=" . $device["snmp_retries"];
			cacti_log($sql, false, "MACTRACK");
			$ok = db_execute($sql);
		}
	}
	db_execute("replace into settings (name,value) values ('mt_convert_readstrings', 'on')");
	# we keep the field:snmp_readstrings in mac_track_devices, it should be deprecated first
	# next mactrack release may delete that field, then
}
Esempio n. 19
0
function form_save()
{
    if (isset($_POST['save_component_item'])) {
        /* ================= input validation ================= */
        input_validate_input_number(get_request_var_post('graph_template_id'));
        input_validate_input_number(get_request_var_post('graph_template_item_id'));
        input_validate_input_number(get_request_var_post('task_item_id'));
        /* ==================================================== */
        global $graph_item_types;
        $items[0] = array();
        if ($graph_item_types[$_POST['graph_type_id']] == 'LEGEND') {
            /* this can be a major time saver when creating lots of graphs with the typical
            			GPRINT LAST/AVERAGE/MAX legends */
            $items = array(0 => array('color_id' => '0', 'graph_type_id' => '9', 'consolidation_function_id' => '4', 'text_format' => 'Current:', 'hard_return' => ''), 1 => array('color_id' => '0', 'graph_type_id' => '9', 'consolidation_function_id' => '1', 'text_format' => 'Average:', 'hard_return' => ''), 2 => array('color_id' => '0', 'graph_type_id' => '9', 'consolidation_function_id' => '3', 'text_format' => 'Maximum:', 'hard_return' => 'on'));
        }
        foreach ($items as $item) {
            /* generate a new sequence if needed */
            if (empty($_POST['sequence'])) {
                $_POST['sequence'] = get_sequence($_POST['sequence'], 'sequence', 'graph_templates_item', 'graph_template_id=' . $_POST['graph_template_id'] . ' AND local_graph_id=0');
            }
            $save['id'] = $_POST['graph_template_item_id'];
            $save['hash'] = get_hash_graph_template($_POST['graph_template_item_id'], 'graph_template_item');
            $save['graph_template_id'] = $_POST['graph_template_id'];
            $save['local_graph_id'] = 0;
            $save['task_item_id'] = form_input_validate($_POST['task_item_id'], 'task_item_id', '', true, 3);
            $save['color_id'] = form_input_validate(isset($item['color_id']) ? $item['color_id'] : $_POST['color_id'], 'color_id', '', true, 3);
            /* if alpha is disabled, use invisible_alpha instead */
            if (!isset($_POST['alpha'])) {
                $_POST['alpha'] = $_POST['invisible_alpha'];
            }
            $save['alpha'] = form_input_validate(isset($item['alpha']) ? $item['alpha'] : $_POST['alpha'], 'alpha', '', true, 3);
            $save['graph_type_id'] = form_input_validate(isset($item['graph_type_id']) ? $item['graph_type_id'] : $_POST['graph_type_id'], 'graph_type_id', '', true, 3);
            $save['cdef_id'] = form_input_validate($_POST['cdef_id'], 'cdef_id', '', true, 3);
            $save['consolidation_function_id'] = form_input_validate(isset($item['consolidation_function_id']) ? $item['consolidation_function_id'] : $_POST['consolidation_function_id'], 'consolidation_function_id', '', true, 3);
            $save['text_format'] = form_input_validate(isset($item['text_format']) ? $item['text_format'] : $_POST['text_format'], 'text_format', '', true, 3);
            $save['value'] = form_input_validate($_POST['value'], 'value', '', true, 3);
            $save['hard_return'] = form_input_validate(isset($item['hard_return']) ? $item['hard_return'] : (isset($_POST['hard_return']) ? $_POST['hard_return'] : ''), 'hard_return', '', true, 3);
            $save['gprint_id'] = form_input_validate($_POST['gprint_id'], 'gprint_id', '', true, 3);
            $save['sequence'] = $_POST['sequence'];
            if (!is_error_message()) {
                /* Before we save the item, let's get a look at task_item_id <-> input associations */
                $orig_data_source_graph_inputs = db_fetch_assoc_prepared("SELECT\n\t\t\t\t\tgraph_template_input.id,\n\t\t\t\t\tgraph_template_input.name,\n\t\t\t\t\tgraph_templates_item.task_item_id\n\t\t\t\t\tFROM (graph_template_input, graph_template_input_defs, graph_templates_item)\n\t\t\t\t\tWHERE graph_template_input.id = graph_template_input_defs.graph_template_input_id\n\t\t\t\t\tAND graph_template_input_defs.graph_template_item_id = graph_templates_item.id\n\t\t\t\t\tAND graph_template_input.graph_template_id = ?\n\t\t\t\t\tAND graph_template_input.column_name = 'task_item_id'\n\t\t\t\t\tGROUP BY graph_templates_item.task_item_id", array($save['graph_template_id']));
                $orig_data_source_to_input = array_rekey($orig_data_source_graph_inputs, 'task_item_id', 'id');
                $graph_template_item_id = sql_save($save, 'graph_templates_item');
                if ($graph_template_item_id) {
                    raise_message(1);
                    if (!empty($save['task_item_id'])) {
                        /* old item clean-up.  Don't delete anything if the item <-> task_item_id association remains the same. */
                        if ($_POST['_task_item_id'] != $_POST['task_item_id']) {
                            /* It changed.  Delete any old associations */
                            db_execute_prepared('DELETE FROM graph_template_input_defs WHERE graph_template_item_id = ?', array($graph_template_item_id));
                            /* Input for current data source exists and has changed.  Update the association */
                            if (isset($orig_data_source_to_input[$save['task_item_id']])) {
                                db_execute_prepared('REPLACE INTO graph_template_input_defs (graph_template_input_id, graph_template_item_id) values (?, ?)', array($orig_data_source_to_input[$save['task_item_id']], $graph_template_item_id));
                            }
                        }
                        /* an input for the current data source does NOT currently exist, let's create one */
                        if (!isset($orig_data_source_to_input[$save['task_item_id']])) {
                            $ds_name = db_fetch_cell_prepared('SELECT data_source_name FROM data_template_rrd WHERE id = ?', array($_POST['task_item_id']));
                            db_execute_prepared("REPLACE INTO graph_template_input (hash, graph_template_id, name, column_name) VALUES (?, ?, ?, 'task_item_id')", array(get_hash_graph_template(0, 'graph_template_input'), $save['graph_template_id'], 'Data Source [$ds_name]'));
                            $graph_template_input_id = db_fetch_insert_id();
                            $graph_items = db_fetch_assoc_prepared('SELECT id FROM graph_templates_item WHERE graph_template_id = ? AND task_item_id = ?', array($save['graph_template_id'], $_POST['task_item_id']));
                            if (sizeof($graph_items) > 0) {
                                foreach ($graph_items as $graph_item) {
                                    db_execute_prepared('REPLACE INTO graph_template_input_defs (graph_template_input_id, graph_template_item_id) VALUES (?, ?)', array($graph_template_input_id, $graph_item['id']));
                                }
                            }
                        }
                    }
                    push_out_graph_item($graph_template_item_id);
                    if (isset($orig_data_source_to_input[$_POST['task_item_id']])) {
                        /* make sure all current graphs using this graph input are aware of this change */
                        push_out_graph_input($orig_data_source_to_input[$_POST['task_item_id']], $graph_template_item_id, array($graph_template_item_id => $graph_template_item_id));
                    }
                } else {
                    raise_message(2);
                }
            }
            $_POST['sequence'] = 0;
        }
        if (is_error_message()) {
            header('Location: graph_templates_items.php?action=item_edit&graph_template_item_id=' . (empty($graph_template_item_id) ? $_POST['graph_template_item_id'] : $graph_template_item_id) . '&id=' . $_POST['graph_template_id']);
            exit;
        } else {
            header('Location: graph_templates.php?action=template_edit&id=' . $_POST['graph_template_id']);
            exit;
        }
    }
}