Example #1
0
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;
}
Example #2
0
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();
}
Example #3
0
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");
}