Exemplo n.º 1
0
function vdef_to_xml($vdef_id) {
	require_once(CACTI_BASE_PATH . "/lib/presets/preset_vdef_info.php");

	$hash["vdef"] = get_hash_version("vdef") . get_hash_vdef($vdef_id);
	$xml_text = "";

	$vdef = db_fetch_row("select * from vdef where id=$vdef_id");
	$vdef_items = db_fetch_assoc("select * from vdef_items where vdef_id=$vdef_id order by sequence");

	if (empty($vdef["id"])) {
		$err_msg = "Invalid VDEF.";
		return $err_msg;
	}

	$xml_text .= "<hash_" . $hash["vdef"] . ">\n";

	/* XML Branch: <> */
	$fields_vdef_edit = preset_vdef_form_list();
	reset($fields_vdef_edit);
	while (list($field_name, $field_array) = each($fields_vdef_edit)) {
		if (($field_array["method"] != "hidden_zero") && ($field_array["method"] != "hidden") && ($field_array["method"] != "spacer")) {
			$xml_text .= "\t<$field_name>" . xml_character_encode($vdef{$field_name}) . "</$field_name>\n";
		}
	}

	/* XML Branch: <items> */

	$xml_text .= "\t<items>\n";

	$i = 0;
	if (sizeof($vdef_items) > 0) {
	foreach ($vdef_items as $item) {
		$hash["vdef_item"] = get_hash_version("vdef_item") . get_hash_vdef($item["id"], "vdef_item");

		$xml_text .= "\t\t<hash_" . $hash["vdef_item"] . ">\n";
		$fields_vdef_item_edit = preset_vdef_item_form_list();
		reset($fields_vdef_item_edit);
		while (list($field_name, $field_array) = each($fields_vdef_item_edit)) {
			if (($field_array["method"] != "hidden_zero") && ($field_array["method"] != "hidden") && ($field_array["method"] != "spacer")) {
				$xml_text .= "\t\t\t<$field_name>" . xml_character_encode($item{$field_name}) . "</$field_name>\n";
			}
		}

		$xml_text .= "\t\t</hash_" . $hash["vdef_item"] . ">\n";

		$i++;
	}
	}

	$xml_text .= "\t</items>\n";
	$xml_text .= "</hash_" . $hash["vdef"] . ">";

	return $xml_text;
}
Exemplo n.º 2
0
function duplicate_vdef($_vdef_id, $vdef_title) {
	require_once(CACTI_BASE_PATH . "/lib/presets/preset_vdef_info.php");

	$vdef = db_fetch_row("select * from vdef where id=$_vdef_id");
	$vdef_items = db_fetch_assoc("select * from vdef_items where vdef_id=$_vdef_id");

	/* substitute the title variable */
	$vdef["name"] = str_replace(__("<vdef_title>"), $vdef["name"], $vdef_title);

	/* create new entry: device_template */
	$save["id"] = 0;
	$save["hash"] = get_hash_vdef(0);

	$fields_vdef_edit = preset_vdef_form_list();
	reset($fields_vdef_edit);
	while (list($field, $array) = each($fields_vdef_edit)) {
		if (!preg_match("/^hidden/", $array["method"])) {
			$save[$field] = $vdef[$field];
		}
	}

	$vdef_id = sql_save($save, "vdef");

	/* create new entry(s): vdef_items */
	if (sizeof($vdef_items) > 0) {
		foreach ($vdef_items as $vdef_item) {
			unset($save);

			$save["id"] = 0;
			$save["hash"] = get_hash_vdef(0, "vdef_item");
			$save["vdef_id"] = $vdef_id;
			$save["sequence"] = $vdef_item["sequence"];
			$save["type"] = $vdef_item["type"];
			$save["value"] = $vdef_item["value"];

			sql_save($save, "vdef_items");
		}
	}
}
Exemplo n.º 3
0
function vdef_edit() {
	global $colors;
	require(CACTI_BASE_PATH . "/include/presets/preset_vdef_arrays.php");
	require_once(CACTI_BASE_PATH . "/lib/presets/preset_vdef_info.php");

	/* ================= input validation ================= */
	input_validate_input_number(get_request_var("id"));
	/* ==================================================== */
#print "<pre>GET: "; print_r($_GET); print "Request: "; print_r($_REQUEST); print get_request_var("id"); print "<pre>";

	if (!empty($_GET["id"])) {
		$vdef = db_fetch_row("select * from vdef where id=" . get_request_var("id"));
		$header_label = __("[edit: ") . $vdef["name"] . "]";
	}else{
		$header_label = __("[new]");
	}

	print "<form method='post' action='" .  basename($_SERVER["PHP_SELF"]) . "' name='vdef_edit'>\n";
	html_start_box("<strong>". __("VDEF's") . "</strong> $header_label", "100", $colors["header"], 0, "center", "");
	$header_items = array(__("Field"), __("Value"));
	print "<tr><td>";
	html_header($header_items, 2, false, 'header_vdef_edit','left wp100');

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

	print "</table></td></tr>";		/* end of html_header */
	html_end_box();
	form_hidden_box("id", (isset($vdef["id"]) ? $vdef["id"] : "0"), "");
	form_hidden_box("save_component_vdef", "1", "");

	if (!empty($_GET["id"])) {
		html_start_box("", "100", "aaaaaa", "3", "center", "");
		draw_vdef_preview(get_request_var("id"));
		html_end_box();

		html_start_box("<strong>" . __("VDEF Items") . "</strong>", "100", $colors["header"], 0, "center", "vdef.php?action=item_edit&vdef_id=" . $vdef["id"], false, "vdef");
		$header_items = array(__("Item"), __("Item Value"));
		print "<tr><td>";
		html_header($header_items, 2, true, 'vdef_item','left wp100');

		$vdef_items = db_fetch_assoc("select * from vdef_items where vdef_id=" . get_request_var("id") . " order by sequence");
		$i = 0;
		if (sizeof($vdef_items) > 0) {
			foreach ($vdef_items as $vdef_item) {
				form_alternate_row_color($vdef_item["id"], true);
					?>
					<td>
						<a class="linkEditMain" href="<?php print htmlspecialchars("vdef.php?action=item_edit&id=" . $vdef_item["id"] . "&vdef_id=" . $vdef["id"]);?>">Item #<?php print $i;?></a>
					</td>
					<td>
						<em><?php $vdef_item_type = $vdef_item["type"]; print $vdef_item_types[$vdef_item_type];?></em>: <strong><?php print get_vdef_item_name($vdef_item["id"]);?></strong>
					</td>
					<td align="right">
						<a href="<?php print htmlspecialchars("vdef.php?action=item_remove&id=" . $vdef_item["id"] . "&vdef_id=" . $vdef["id"]);?>"><img class="buttonSmall" src="images/delete_icon.gif" alt="<?php print __("Delete");?>" align='middle'></a>
					</td>
			<?php
			form_end_row();
			$i++;
			}
		}
		print "</table></td></tr>";		/* end of html_header */
		html_end_box();
	}
	form_save_button_alt("path!vdef.php");
?>
<script type="text/javascript">
	$('#vdef_item').tableDnD({
		onDrop: function(table, row) {
			$('#AjaxResult').load("lib/ajax/jquery.tablednd/vdef.ajax.php?id=<?php isset($_GET["id"]) ? print get_request_var("id") : print 0;?>&"+$.tableDnD.serialize());
		}
	});
</script>
<?php

}