function _data_preset_rra_item_xajax_save($post_args) { require_once(CACTI_BASE_PATH . "/lib/data_preset/data_preset_rra_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_update.php"); $objResponse = new xajaxResponse(); if (basename($_SERVER["PHP_SELF"]) == "presets_rra.php") { $form_rra_item["preset_rra_id"] = $post_args["preset_rra_id"]; }else if (basename($_SERVER["PHP_SELF"]) == "data_templates.php") { $form_rra_item["data_template_id"] = $post_args["data_template_id"]; }else if (basename($_SERVER["PHP_SELF"]) == "data_sources.php") { $form_rra_item["data_source_id"] = $post_args["data_source_id"]; } /* obtain a list of visible rra item fields on the form */ $visible_fields = api_data_preset_rra_item_visible_field_list($post_args["rrai|consolidation_function|0"]); /* all non-visible fields on the form should be discarded */ foreach ($visible_fields as $field_name) { $form_rra_item[$field_name] = $post_args["rrai|$field_name|0"]; } $field_errors = api_data_preset_rra_item_field_validate($form_rra_item, "rrai||field||0"); foreach (array_keys($form_rra_item) as $field_name) { if (isset($post_args{"rrai|" . $field_name . "|0"})) { /* make a red border around the fields which have validation errors */ if (in_array("rrai|" . $field_name . "|0", $field_errors)) { $objResponse->addAssign("rrai|" . $field_name . "|0", "style.border", "2px solid red"); /* clear the border for all of the fields without validation errors */ }else{ $objResponse->addClear("rrai|" . $field_name . "|0", "style.border"); } } } $rra_preset_item_id = false; if (sizeof($field_errors) > 0) { $objResponse->addAlert("Form validation error!"); }else{ if (basename($_SERVER["PHP_SELF"]) == "presets_rra.php") { $rra_preset_item_id = api_data_preset_rra_item_save(0, $form_rra_item); }else if (basename($_SERVER["PHP_SELF"]) == "data_templates.php") { $rra_preset_item_id = api_data_template_rra_item_save(0, $form_rra_item); }else if (basename($_SERVER["PHP_SELF"]) == "data_sources.php") { $rra_preset_item_id = api_data_source_rra_item_save(0, $form_rra_item); }else{ $rra_preset_item_id = false; } if ($rra_preset_item_id === false) { $objResponse->addAlert("Save error!"); }else{ /* update the rra item header text */ $objResponse->addAssign("row_rra_item_header_0", "innerHTML", api_data_preset_rra_item_friendly_name_get($post_args["rrai|consolidation_function|0"], $post_args["rrai|steps|0"], $post_args["rrai|rows|0"])); $objResponse->addScript("make_row_old(\"$rra_preset_item_id\");"); } } return $objResponse->getXML(); }
function rra_presets_edit() { global $xajax, $colors; $_rra_preset_id = get_get_var_number("id"); if (empty($_rra_preset_id)) { $header_label = "[new]"; }else{ $rra = api_data_preset_rra_get($_rra_preset_id); $header_label = "[edit: " . $rra["name"] . "]"; } form_start("presets_rra.php", "form_rra"); /* ==================== Box: RRAs ==================== */ html_start_box("<strong>" . _("RRA Presets") . "</strong> $header_label"); _data_preset_rra__name("name", (isset($rra["name"]) ? $rra["name"] : ""), (isset($rra["id"]) ? $rra["id"] : "0")); html_end_box(); /* ==================== Box: RRA Items ==================== */ if (!empty($_rra_preset_id)) { $rra_items = api_data_preset_rra_item_list($_rra_preset_id); _data_preset_rra_item_js("form_rra"); $box_id = "1"; html_start_box("<strong>" . _("RRA Items") . "</strong>", "javascript:new_rra_item('$box_id')", "", $box_id, true, 0); $empty_rra_item_list = false; if (is_array($rra_items)) { /* if there are no rra items to display, we need to create a "fake" item which we will then turn * into a "new" row using JS */ if (sizeof($rra_items) == 0) { $empty_rra_item_list = true; $rra_items = array( array( "id" => "0", "consolidation_function" => "1", "steps" => "", "rows" => "", "x_files_factor" => "", "hw_alpha" => "", "hw_beta" => "", "hw_gamma" => "", "hw_seasonal_period" => "", "hw_rra_num" => "", "hw_threshold" => "", "hw_window_length" => "" ) ); } foreach ($rra_items as $rra_item) { ?> <tr id="row<?php echo $rra_item["id"];?>"> <td> <table width="100%" cellpadding="3" cellspacing="0"> <tr bgcolor="<?php echo $colors["header_panel_background"];?>"> <td colspan="2" class="textSubHeaderDark" id="row_rra_item_header_<?php echo $rra_item["id"];?>"> <?php echo (empty($rra_item["id"]) ? "(new)" : api_data_preset_rra_item_friendly_name_get($rra_item["consolidation_function"], $rra_item["steps"], $rra_item["rows"]));?> </td> <td align="right" class="textSubHeaderDark"> <a class="linkOverDark" href="#" onClick="javascript:xajax_xajax_remove_rra_item('<?php echo $rra_item["id"];?>')">Remove</a> </td> </tr> <?php _data_preset_rra_item__consolidation_function("rrai|consolidation_function|" . $rra_item["id"], $rra_item["consolidation_function"], $rra_item["id"]); _data_preset_rra_item__steps("rrai|steps|" . $rra_item["id"], $rra_item["steps"], $rra_item["id"]); _data_preset_rra_item__rows("rrai|rows|" . $rra_item["id"], $rra_item["rows"], $rra_item["id"]); _data_preset_rra_item__x_files_factor("rrai|x_files_factor|" . $rra_item["id"], $rra_item["x_files_factor"], $rra_item["id"]); _data_preset_rra_item__hw_alpha("rrai|hw_alpha|" . $rra_item["id"], $rra_item["hw_alpha"], $rra_item["id"]); _data_preset_rra_item__hw_beta("rrai|hw_beta|" . $rra_item["id"], $rra_item["hw_beta"], $rra_item["id"]); _data_preset_rra_item__hw_gamma("rrai|hw_gamma|" . $rra_item["id"], $rra_item["hw_gamma"], $rra_item["id"]); _data_preset_rra_item__hw_seasonal_period("rrai|hw_seasonal_period|" . $rra_item["id"], $rra_item["hw_seasonal_period"], $rra_item["id"]); _data_preset_rra_item__hw_rra_num("rrai|hw_rra_num|" . $rra_item["id"], $rra_item["hw_rra_num"], $rra_item["id"]); _data_preset_rra_item__hw_threshold("rrai|hw_threshold|" . $rra_item["id"], $rra_item["hw_threshold"], $rra_item["id"]); _data_preset_rra_item__hw_window_length("rrai|hw_window_length|" . $rra_item["id"], $rra_item["hw_window_length"], $rra_item["id"]); _data_preset_rra_item__consolidation_function_js_update($rra_item["consolidation_function"], $rra_item["id"]); ?> </table> </td> </tr> <?php } } html_end_box(); echo "<a name='rra_preset_bottom' />\n"; if ($empty_rra_item_list == true) { ?> <script language="JavaScript"> <!-- make_row_new(document.getElementById("row0"), true); --> </script> <?php } ?> <?php } form_hidden_box("preset_rra_id", $_rra_preset_id); form_hidden_box("action_post", "rra_preset_edit"); form_save_button("presets.php?action=view_rra", "save_rra"); }