function api_data_source_preset_rra_item_copy($data_source_id, $preset_rra_id) { require_once(CACTI_BASE_PATH . "/lib/data_preset/data_preset_rra_info.php"); /* sanity checks */ validate_id_die($data_source_id, "data_source_id"); validate_id_die($preset_rra_id, "preset_rra_id"); /* fetch the selected rra preset */ $rra_preset_items = api_data_preset_rra_item_list($preset_rra_id); $success = true; /* copy down each item in the selected rra preset */ if (is_array($rra_preset_items)) { foreach ($rra_preset_items as $rra_preset_item) { /* these fields are not needed */ unset($rra_preset_item["id"]); unset($rra_preset_item["preset_rra_id"]); /* associate the rra preset with the current data source */ $rra_preset_item["data_source_id"] = $data_source_id; if (!api_data_source_rra_item_save(0, $rra_preset_item)) { $success = false; } } } return $success; }
function _data_preset_rra_item_xajax_remove($preset_rra_id) { require_once(CACTI_BASE_PATH . "/lib/data_preset/data_preset_rra_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_preset/data_preset_rra_info.php"); require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_info.php"); require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_info.php"); $objResponse = new xajaxResponse(); if (basename($_SERVER["PHP_SELF"]) == "presets_rra.php") { $preset_rra_item = api_data_preset_rra_item_get($preset_rra_id); $result = api_data_preset_rra_item_remove($preset_rra_id); }else if (basename($_SERVER["PHP_SELF"]) == "data_templates.php") { $preset_rra_item = api_data_template_rra_item_get($preset_rra_id); $result = api_data_template_rra_item_remove($preset_rra_id); }else if (basename($_SERVER["PHP_SELF"]) == "data_sources.php") { $preset_rra_item = api_data_source_rra_item_get($preset_rra_id); $result = api_data_source_rra_item_remove($preset_rra_id); }else{ return false; } if ($result) { if (basename($_SERVER["PHP_SELF"]) == "presets_rra.php") { $num_items = sizeof(api_data_preset_rra_item_list($preset_rra_item["preset_rra_id"])); }else if (basename($_SERVER["PHP_SELF"]) == "data_templates.php") { $num_items = sizeof(api_data_template_rra_item_list($preset_rra_item["data_template_id"])); }else if (basename($_SERVER["PHP_SELF"]) == "data_sources.php") { $num_items = sizeof(api_data_source_rra_item_list($preset_rra_item["data_source_id"])); } /* if there are no rra items left, do not remove the row from the form but instead mark it as "new" */ if ($num_items == 0) { $objResponse->addScript("remove_rra_item_last_row(\"$preset_rra_id\");"); /* if there is at least one rra item left, visibly remove the row from the page */ }else{ $objResponse->addScript("remove_rra_item_row(\"$preset_rra_id\");"); } }else{ $objResponse->addAlert("Error removing RRA preset item!"); } 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"); }