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; }
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"); } } }
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"]); } } }