Nextrek
@ 1348
Nextrek / legal-map / ajax / treeLoader.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<?php /* Parametri: - filename: file xml da caricare; - idpadre: l'id padre del nodo da cui devono essere caricati i nodi figli (se nullo restituisce solo i nodi radice) */ $xml = simplexml_load_file(dirname(__FILE__)."/../xml/".$_REQUEST["filename"].".xml", 'SimpleXMLElement', LIBXML_NOCDATA); $json_nodes = array(); $json_nodes["nodes"] = array(); if (isset($_REQUEST["idpadre"])) { //ramo non radice $xml_nodes = $xml->xpath('//NODO[@ramoid="'.$_REQUEST["idpadre"].'"]/NODO'); } else { //restituisci solo i nodi radice $xml_nodes = $xml->xpath('/ROOT/NODO'); } foreach ($xml_nodes as $key => $value) { $node = array(); //var_dump($value); $node["id"] = (integer)$value->attributes()->ramoid; $node["level"] = (integer)$value->attributes()->level; $node["is_leaf"] = ($value->attributes()->leaf=="TRUE"); $node["ramodescrizione"] = (string)$value->ramodescrizione; $node["descrizioneoriginale"] = (is_object($value->descrizioneoriginale)) ? (string)$value->descrizioneoriginale[0] : (string)$value->descrizioneoriginale; $node["descrizionealbero"] = (string)$value->descrizionealbero; if ($node["is_leaf"]) { $node["ramodescrizione"] = str_replace("javascript:VisualizzaArticolo(", "javascript:VisualizzaArticolo(this,", $node["ramodescrizione"]); $node["descrizioneoriginale"] = str_replace("javascript:VisualizzaArticolo(", "javascript:VisualizzaArticolo(this,", $node["descrizioneoriginale"]); $node["descrizionealbero"] = str_replace("javascript:VisualizzaArticolo(", "javascript:VisualizzaArticolo(this,", $node["descrizionealbero"]); } array_push($json_nodes["nodes"], $node); } echo json_encode($json_nodes); ?> |