class SaveVar { function store($list) { $sl = explode("|", $list); for ($i = 0; $i < count($sl); $i++) { $varname = $sl[$i]; global $$varname; $thevar = $$varname; $serialized = serialize($thevar); $saved[$i] = base64_encode($varname)."@".base64_encode($serialized); } $data = implode("|", $saved); return($data); } function restore($stored) { $sv = explode("|", $stored); for ($i = 0; $i < count($sv); $i++) { $svp = $sv[$i]; list($name64, $value64) = explode("@", $svp); $name = base64_decode($name64); $value = base64_decode($value64); global $$name; $$name = unserialize($value); } } } function startElement($parser, $name, $attrs) { global $depth; global $count; global $xv,$yv,$width,$height; global $id; global $count1,$last; for ($i = 0; $i < $depth[$parser]; $i++) { } if($name=="HISTOGRAM")$count++; while(list($key, $val) = each($attrs)) { if($key=="X")$xv[$count]=$val; if($key=="Y")$yv[$count]=$val; if($key=="WIDTH")$width[$count]=$val; if($key=="HEIGHT")$height[$count]=$val; if($key=="NAME")$id[$count]=$val; } $depth[$parser]++; } function endElement($parser, $name) { global $depth; $depth[$parser]--; } $count=0; $count1=0; $last=1; $file1="http://www.ba.infn.it/~zito/cms/tmapajax.xml"; $depth = array(); $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); if (!($fp = fopen($file1, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); $filename = "/user/gruppo_1/zito/WWW/cms/tmapajax.cache"; $last = $count; $sv = new SaveVar; $saved = $sv->store("id|xv|yv|width|height"); $id=NULL; $xv=NULL; $yv=NULL; $width=NULL; $height=NULL; $f = fopen($filename,"w"); fwrite($f,$saved); fclose($f); echo "