function cdef_to_xml($cdef_id) { require_once(CACTI_BASE_PATH . "/lib/presets/preset_cdef_info.php"); $hash["cdef"] = get_hash_version("cdef") . get_hash_cdef($cdef_id); $xml_text = ""; $cdef = db_fetch_row("select * from cdef where id=$cdef_id"); $cdef_items = db_fetch_assoc("select * from cdef_items where cdef_id=$cdef_id order by sequence"); if (empty($cdef["id"])) { $err_msg = "Invalid CDEF."; return $err_msg; } $xml_text .= "<hash_" . $hash["cdef"] . ">\n"; /* XML Branch: <> */ $fields_cdef_edit = preset_cdef_form_list(); reset($fields_cdef_edit); while (list($field_name, $field_array) = each($fields_cdef_edit)) { if (($field_array["method"] != "hidden_zero") && ($field_array["method"] != "hidden") && ($field_array["method"] != "spacer")) { $xml_text .= "\t<$field_name>" . xml_character_encode($cdef{$field_name}) . "</$field_name>\n"; } } /* XML Branch: <items> */ $xml_text .= "\t<items>\n"; $i = 0; if (sizeof($cdef_items) > 0) { foreach ($cdef_items as $item) { $hash["cdef_item"] = get_hash_version("cdef_item") . get_hash_cdef($item["id"], "cdef_item"); $xml_text .= "\t\t<hash_" . $hash["cdef_item"] . ">\n"; reset($fields_cdef_item_edit); while (list($field_name, $field_array) = each($fields_cdef_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["cdef_item"] . ">\n"; $i++; } } $xml_text .= "\t</items>\n"; $xml_text .= "</hash_" . $hash["cdef"] . ">"; return $xml_text; }
function duplicate_cdef($_cdef_id, $cdef_title) { require_once(CACTI_BASE_PATH . "/lib/presets/preset_cdef_info.php"); $cdef = db_fetch_row("select * from cdef where id=$_cdef_id"); $cdef_items = db_fetch_assoc("select * from cdef_items where cdef_id=$_cdef_id"); /* substitute the title variable */ $cdef["name"] = str_replace(__("<cdef_title>"), $cdef["name"], $cdef_title); /* create new entry: device_template */ $save["id"] = 0; $save["hash"] = get_hash_cdef(0); $fields_cdef_edit = preset_cdef_form_list(); reset($fields_cdef_edit); while (list($field, $array) = each($fields_cdef_edit)) { if (!preg_match("/^hidden/", $array["method"])) { $save[$field] = $cdef[$field]; } } $cdef_id = sql_save($save, "cdef"); /* create new entry(s): cdef_items */ if (sizeof($cdef_items) > 0) { foreach ($cdef_items as $cdef_item) { unset($save); $save["id"] = 0; $save["hash"] = get_hash_cdef(0, "cdef_item"); $save["cdef_id"] = $cdef_id; $save["sequence"] = $cdef_item["sequence"]; $save["type"] = $cdef_item["type"]; $save["value"] = $cdef_item["value"]; sql_save($save, "cdef_items"); } } }
function cdef_edit() { global $colors; require(CACTI_BASE_PATH . "/include/presets/preset_cdef_arrays.php"); require_once(CACTI_BASE_PATH . "/lib/presets/preset_cdef_info.php"); /* ================= input validation ================= */ input_validate_input_number(get_request_var("id")); /* ==================================================== */ if (!empty($_GET["id"])) { $cdef = db_fetch_row("select * from cdef where id=" . $_GET["id"]); $header_label = __("[edit: ") . $cdef["name"] . "]"; }else{ $header_label = __("[new]"); } print "<form method='post' action='" . basename($_SERVER["PHP_SELF"]) . "' name='cdef_edit'>\n"; html_start_box("<strong>". __("CDEF's") . "</strong> $header_label", "100", $colors["header"], 0, "center", ""); $header_items = array(__("Field"), __("Value")); print "<tr><td>"; html_header($header_items, 2, false, 'header_cdef_edit','left wp100'); draw_edit_form(array( "config" => array(), "fields" => inject_form_variables(preset_cdef_form_list(), (isset($cdef) ? $cdef : array())) )); print "</table></td></tr>"; /* end of html_header */ html_end_box(); if (!empty($_GET["id"])) { html_start_box("", "100", "aaaaaa", "3", "center", ""); draw_cdef_preview(get_request_var("id")); html_end_box(); html_start_box("<strong>" . __("CDEF Items") . "</strong>", "100", $colors["header"], 0, "center", "cdef.php?action=item_edit&cdef_id=" . $cdef["id"], false, "cdef"); $header_items = array(__("Item"), __("Item Value")); print "<tr><td>"; html_header($header_items, 2, true, 'cdef_item','left wp100'); $cdef_items = db_fetch_assoc("select * from cdef_items where cdef_id=" . $_GET["id"] . " order by sequence"); $i = 0; if (sizeof($cdef_items) > 0) { foreach ($cdef_items as $cdef_item) { form_alternate_row_color($cdef_item["id"], true); ?> <td> <a class="linkEditMain" href="<?php print htmlspecialchars("cdef.php?action=item_edit&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>">Item #<?php print $i;?></a> </td> <td> <em><?php $cdef_item_type = $cdef_item["type"]; print $cdef_item_types[$cdef_item_type];?></em>: <strong><?php print get_cdef_item_name($cdef_item["id"]);?></strong> </td> <td align="right"> <a href="<?php print htmlspecialchars("cdef.php?action=item_remove&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["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!cdef.php"); ?> <script type="text/javascript"> $('#cdef_item').tableDnD({ onDrop: function(table, row) { $('#AjaxResult').load("lib/ajax/jquery.tablednd/cdef.ajax.php?id=<?php isset($_GET["id"]) ? print $_GET["id"] : print 0;?>&"+$.tableDnD.serialize()); } }); </script> <?php }