'" . db_fetch_cell("select name from data_input_fields where id=" . $_GET["id"]) . "'?", getenv("HTTP_REFERER"), "data_input.php?action=field_remove&id=" . $_GET["id"] . "&data_input_id=" . $_GET["data_input_id"]); include ('include/bottom_footer.php'); exit; } if ((read_config_option("remove_verification") == "") || ($_GET["confirm"] == "yes")) { /* get information about the field we're going to delete so we can re-order the seqs */ $field = db_fetch_row("select input_output,data_input_id from data_input_fields where id=" . $_GET["id"]); db_execute("delete from data_input_fields where id=" . $_GET["id"]); db_execute("delete from data_input_data where data_input_field_id=" . $_GET["id"]); /* when a field is deleted; we need to re-order the field sequences */ if (preg_match_all("/<([_a-zA-Z0-9]+)>/", db_fetch_cell("select " . $field["input_output"] . "put_string from data_input where id=" . $field["data_input_id"]), $matches)) { $j = 0; for ($i=0; ($i < count($matches[1])); $i++) { if (in_array($matches[1][$i], $registered_cacti_names) == false) { $j++; db_execute("update data_input_fields set sequence=$j where data_input_id=" . $field["data_input_id"] . " and input_output='" . $field["input_output"]. "' and data_name='" . $matches[1][$i] . "'"); } } } } } function field_save() { global $registered_cacti_names; $save["id"] = $_POST["id"]; $save["data_input_id"] = $_POST["data_input_id"]; $save["name"] = $_POST["name"]; $save["data_name"] = $_POST["data_name"]; $save["input_output"] = $_POST["input_output"]; $save["update_rra"] = $_POST["update_rra"]; $save["sequence"] = $_POST["sequence"]; $save["type_code"] = $_POST["type_code"]; $save["regexp_match"] = $_POST["regexp_match"]; $save["allow_nulls"] = $_POST["allow_nulls"]; $data_input_field_id = sql_save($save, "data_input_fields"); if (!empty($data_input_field_id)) { if (preg_match_all("/<([_a-zA-Z0-9]+)>/", db_fetch_cell("select " . $_POST["input_output"] . "put_string from data_input where id=" . $_POST["data_input_id"]), $matches)) { $j = 0; for ($i=0; ($i < count($matches[1])); $i++) { if (in_array($matches[1][$i], $registered_cacti_names) == false) { $j++; if ($matches[1][$i] == $_POST["data_name"]) { db_execute("update data_input_fields set sequence=$j where data_input_id=" . $_POST["data_input_id"] . " and input_output='" . $_POST["input_output"]. "' and data_name='" . $matches[1][$i] . "'"); } } } } } } function field_edit() { global $colors, $registered_cacti_names; if (isset($_GET["id"])) { $field = db_fetch_row("select * from data_input_fields where id=" . $_GET["id"]); } if (!empty($_GET["type"])) { $current_field_type = $_GET["type"]; }else{ $current_field_type = $field["input_output"]; } if ($current_field_type == "out") { $header_name = "Output"; }elseif ($current_field_type == "in") { $header_name = "Input"; } $data_input = db_fetch_row("select type_id,name from data_input where id=" . $_GET["data_input_id"]); /* obtain a list of available fields for this given field type (input/output) */ if (preg_match_all("/<([_a-zA-Z0-9]+)>/", db_fetch_cell("select $current_field_type" . "put_string from data_input where id=" . ($_GET["data_input_id"] ? $_GET["data_input_id"] : $field["data_input_id"])), $matches)) { for ($i=0; ($i < count($matches[1])); $i++) { if (in_array($matches[1][$i], $registered_cacti_names) == false) { $current_field_name = $matches[1][$i]; $array_field_names[$current_field_name] = $current_field_name; } } } start_box("$header_name Fields [edit: " . $data_input["name"] . "]", "98%", $colors["header"], "3", "center", ""); ?>
Field []
Choose the associated field from the field. Field Name []
Enter a name for this field. Friendly Name
Enter a meaningful name for this data input method. Update RRD File
Whether data from this output field is to be entered into the rrd file. Regular Expression Match
If you want to require a certain regular expression to be matched againt input data, enter it here (ereg format). Allow Empty Input
Check here if you want to allow NULL input in this field from the user. Special Type Code
If this field should be treated specially by host templates, indicate so here. Valid keywords for this field are 'hostname', 'management_ip', 'snmp_community', 'snmp_username', 'snmp_password', and 'snmp_version'.
'" . db_fetch_cell("select name from data_input where id=" . $_GET["id"]) . "'?", getenv("HTTP_REFERER"), "data_input.php?action=remove&id=" . $_GET["id"]); include ('include/bottom_footer.php'); exit; } if ((read_config_option("remove_verification") == "") || ($_GET["confirm"] == "yes")) { db_execute("delete from data_input where id=" . $_GET["id"]); db_execute("delete from data_input_fields where data_input_id=" . $_GET["id"]); db_execute("delete from data_input_data where data_input_id=" . $_GET["id"]); } } function data_save() { global $registered_cacti_names; $save["id"] = $_POST["id"]; $save["name"] = $_POST["name"]; $save["input_string"] = $_POST["input_string"]; $save["output_string"] = $_POST["output_string"]; $save["type_id"] = $_POST["type_id"]; $data_input_id = sql_save($save, "data_input"); /* get a list of each field so we can note their sequence of occurance in the database */ if (!empty($_POST["id"])) { db_execute("update data_input_fields set sequence=0 where data_input_id=" . $_POST["id"]); if (preg_match_all("/<([_a-zA-Z0-9]+)>/", $_POST["input_string"], $matches)) { $j = 0; for ($i=0; ($i < count($matches[1])); $i++) { if (in_array($matches[1][$i], $registered_cacti_names) == false) { $j++; db_execute("update data_input_fields set sequence=$j where data_input_id=" . $_POST["id"] . " and input_output='in' and data_name='" . $matches[1][$i] . "'"); } } } if (preg_match_all("/<([_a-zA-Z0-9]+)>/", $_POST["output_string"], $matches)) { $j = 0; for ($i=0; ($i < count($matches[1])); $i++) { if (in_array($matches[1][$i], $registered_cacti_names) == false) { $j++; db_execute("update data_input_fields set sequence=$j where data_input_id=" . $_POST["id"] . " and input_output='out' and data_name='" . $matches[1][$i] . "'"); } } } } if (empty($_POST["id"])) { return "data_input.php?action=edit&id=$data_input_id"; }else{ return "data_input.php"; } } function data_edit() { global $colors, $input_types; if (isset($_GET["id"])) { $data_input = db_fetch_row("select * from data_input where id=" . $_GET["id"]); $header_label = "[edit: " . $data_input["name"] . "]"; }else{ $header_label = "[new]"; } start_box("Data Input Methods $header_label", "98%", $colors["header"], "3", "center", ""); ?>
Name
Enter a meaningful name for this data input method. Input Type
Choose what type of data input method this is. Input String
The data that in sent to the script, which includes the complete path to the script and input sources in <> brackets. Output String
The data that is expected back from the input script; defined as <> brackets. Input Fields", "98%", $colors["header"], "3", "center", "data_input.php?action=field_edit&type=in&data_input_id=" . $_GET["id"]); print ""; DrawMatrixHeaderItem("Name",$colors["header_text"],1); DrawMatrixHeaderItem("Field Order",$colors["header_text"],1); DrawMatrixHeaderItem("Friendly Name",$colors["header_text"],2); print ""; $fields = db_fetch_assoc("select id,data_name,name,sequence from data_input_fields where data_input_id=" . $_GET["id"] . " and input_output='in' order by sequence"); if (sizeof($fields) > 0) { foreach ($fields as $field) { form_alternate_row_color($colors["alternate"],$colors["light"],$i); $i++; ?> &data_input_id="> &data_input_id=">Delete  No Input Fields"; } end_box(); start_box("Output Fields", "98%", $colors["header"], "3", "center", "data_input.php?action=field_edit&type=out&data_input_id=" . $_GET["id"]); print ""; DrawMatrixHeaderItem("Name",$colors["header_text"],1); DrawMatrixHeaderItem("Field Order",$colors["header_text"],1); DrawMatrixHeaderItem("Friendly Name",$colors["header_text"],1); DrawMatrixHeaderItem("Update RRA",$colors["header_text"],2); print ""; $fields = db_fetch_assoc("select id,name,data_name,update_rra,sequence from data_input_fields where data_input_id=" . $_GET["id"] . " and input_output='out' order by sequence"); if (sizeof($fields) > 0) { foreach ($fields as $field) { form_alternate_row_color($colors["alternate"],$colors["light"],$i); $i++; ?> &data_input_id="> &data_input_id=">Delete  No Output Fields"; } end_box(); } form_hidden_box("save_component_data_input","1",""); start_box("", "98%", $colors["header"], "3", "center", ""); ?>
Data Input Methods", "98%", $colors["header"], "3", "center", "data_input.php?action=edit"); print ""; DrawMatrixHeaderItem("Name",$colors["header_text"],1); DrawMatrixHeaderItem(" ",$colors["header_text"],1); print ""; $data_inputs = db_fetch_assoc("select * from data_input order by name"); if (sizeof($data_inputs) > 0) { foreach ($data_inputs as $data_input) { form_alternate_row_color($colors["alternate"],$colors["light"],$i); $i++; ?> "> ">Delete  No Data Input Methods"; } end_box(); } ?>