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 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 }