Beispiel #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;
}
Beispiel #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");
		}
	}
}
Beispiel #3
0
function form_save() {
	if (isset($_POST["save_component_vdef"])) {
		$save["id"] = $_POST["id"];
		$save["hash"] = get_hash_vdef($_POST["id"]);
		$save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);

		if (!is_error_message()) {
			$vdef_id = sql_save($save, "vdef");

			if ($vdef_id) {
				raise_message(1);
			}else{
				raise_message(2);
			}
		}

		if ((is_error_message()) || (empty($_POST["id"]))) {
			header("Location: vdef.php?action=edit&id=" . (empty($vdef_id) ? $_POST["id"] : $vdef_id));
		}else{
			header("Location: vdef.php");
		}
	}elseif (isset($_POST["save_component_item"])) {
		$sequence = get_sequence($_POST["id"], "sequence", "vdef_items", "vdef_id=" . $_POST["vdef_id"]);

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

		if (!is_error_message()) {
			$vdef_item_id = sql_save($save, "vdef_items");

			if ($vdef_item_id) {
				raise_message(1);
			}else{
				raise_message(2);
			}
		}

		if (is_error_message()) {
			header("Location: vdef.php?action=item_edit&vdef_id=" . $_POST["vdef_id"] . "&id=" . (empty($vdef_item_id) ? $_POST["id"] : $vdef_item_id));
		}else{
			header("Location: vdef.php?action=edit&id=" . $_POST["vdef_id"]);
		}
	}
}