diff options
author | Philip Häusler <msquare@notrademark.de> | 2011-06-11 17:09:30 +0200 |
---|---|---|
committer | Philip Häusler <msquare@notrademark.de> | 2011-06-11 17:09:30 +0200 |
commit | 3a31cebd1d39a6bcec2c22cbced60ca9d6177a42 (patch) | |
tree | 3cce86da26c408841e69bdee4e2ba012e0c72e47 /includes/funktion_xml.php | |
parent | ebecae2ccc37c8930245a562852c035d5ce8d5a1 (diff) | |
parent | 80a1a65aefcd2f33951dc60c72d29df1ad19b187 (diff) |
merge special_includes_camp
Diffstat (limited to 'includes/funktion_xml.php')
-rw-r--r--[-rwxr-xr-x] | includes/funktion_xml.php | 172 |
1 files changed, 81 insertions, 91 deletions
diff --git a/includes/funktion_xml.php b/includes/funktion_xml.php index 8e911a4f..4ab3bfd5 100755..100644 --- a/includes/funktion_xml.php +++ b/includes/funktion_xml.php @@ -1,162 +1,152 @@ -<?PHP - - -class element -{ +<?php +class element { var $name = ''; - var $attributes = array(); + var $attributes = array (); var $data = ''; var $depth = 0; - var $sub = array(); + var $sub = array (); } $XMLDEBUG = 0; $depth = 0; $XMLmain = new element; -$XMLpos = array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); +$XMLpos = array ( + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 +); //$XMLpos = array( 0, 0, 0, 0, 0, 0); - -function convertValues( $Data) -{ + +function convertValues($Data) { global $XMLDEBUG; - if( $XMLDEBUG) - { + + if ($XMLDEBUG) { $Data = htmlspecialchars($Data); $Data = mysql_escape_string($Data); $Data = htmlentities($Data); } + $Data = utf8_decode($Data); return $Data; } - -function dataXMLmain( $Data, &$Objekt, $Tiefe ) -{ +function dataXMLmain($Data, & $Objekt, $Tiefe) { global $XMLmain, $XMLpos, $depth, $XMLDEBUG; - - if( $XMLDEBUG) - echo "?$Tiefe$depth"; - if( ($depth-1)==$Tiefe) - { -// $Objekt->sub[ $XMLpos[$Tiefe] ]->data .= convertValues($Data); - $Objekt->sub[ $XMLpos[$Tiefe] ]->data .= htmlentities( convertValues($Data), ENT_QUOTES); - - if( $XMLDEBUG) - echo "???". $Objekt->sub[ $XMLpos[$Tiefe] ]->name. "|$Data|$Tiefe???<br>"; - } - else - dataXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1); + + if ($XMLDEBUG) + echo "?$Tiefe$depth"; + + if (($depth -1) == $Tiefe) { + $Objekt->sub[$XMLpos[$Tiefe]]->data .= htmlentities(convertValues($Data), ENT_QUOTES); + + if ($XMLDEBUG) + echo "???" . $Objekt->sub[$XMLpos[$Tiefe]]->name . "|$Data|$Tiefe???<br />"; + } else + dataXMLmain($Data, $Objekt->sub[$XMLpos[$Tiefe]], $Tiefe +1); } -function startXMLmain( $Data, &$Objekt, $Tiefe ) -{ +function startXMLmain($Data, & $Objekt, $Tiefe) { global $XMLpos, $depth, $XMLDEBUG; - if( $XMLDEBUG) - if($Tiefe==1) - { print_r(array_values ($XMLpos)); echo "--".$Data->name; - echo " #$Tiefe/$depth#"; - } - - if( $depth==$Tiefe) - { - $Objekt->sub[ $XMLpos[$Tiefe] ] = $Data; - if( $XMLDEBUG) - echo "|". $XMLpos[$Tiefe]."|". $Objekt->sub[ $XMLpos[$Tiefe] ]->name. " ". $Data->name." save|". "#-#<br>"; - } - else - startXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1); + if ($XMLDEBUG) + if ($Tiefe == 1) { + print_r(array_values($XMLpos)); + echo "--" . $Data->name; + echo " #$Tiefe/$depth#"; + } + + if ($depth == $Tiefe) { + $Objekt->sub[$XMLpos[$Tiefe]] = $Data; + if ($XMLDEBUG) + echo "|" . $XMLpos[$Tiefe] . "|" . $Objekt->sub[$XMLpos[$Tiefe]]->name . " " . $Data->name . " save|" . "#-#<br />"; + } else + startXMLmain($Data, $Objekt->sub[$XMLpos[$Tiefe]], $Tiefe +1); } -function start_element_handler($parser, $name, $attribs) -{ +function start_element_handler($parser, $name, $attribs) { global $depth, $XMLmain, $XMLpos; $Data = new element; $Data->name = $name; - while(list($key, $value) = each($attribs)) + while (list ($key, $value) = each($attribs)) $Data->attributes[$key] = convertValues($value); $Data->depth = $depth; - $XMLpos[$depth]++; + $XMLpos[$depth]++; - if( $depth==0) - $XMLmain= $Data; + if ($depth == 0) + $XMLmain = $Data; else - startXMLmain( $Data, $XMLmain, 1); + startXMLmain($Data, $XMLmain, 1); $depth++; } -function end_element_handler($parser, $name) -{ +function end_element_handler($parser, $name) { global $depth, $XMLpos; - $XMLpos[$depth]=0; + $XMLpos[$depth] = 0; $depth--; } -function character_data_handler($parser, $data) -{ +function character_data_handler($parser, $data) { global $XMLmain; - if( strlen(trim($data)) ) - dataXMLmain( $data, $XMLmain, 1); + if (strlen(trim($data))) + dataXMLmain($data, $XMLmain, 1); } /*#######################################################################################*/ -function readXMLfile( $file ) -{ +function readXMLfile($file) { global $XMLDEBUG; - + //$xml_parser = xml_parser_create_ns(); $xml_parser = xml_parser_create("UTF-8"); xml_set_element_handler($xml_parser, "start_element_handler", "end_element_handler"); xml_set_character_data_handler($xml_parser, "character_data_handler"); - - if (file_exists($file)) - { - if (!($fp = fopen($file, "r"))) - { - echo(" <h1>could not open XML file \"$file\"</h1>"); + + if (file_exists($file)) { + if (!($fp = fopen($file, "r"))) { + echo (" <h1>could not open XML file \"$file\"</h1>"); return -1; } - } - else - { - echo(" <h1>XML file \"$file\" not exist</h1>"); + } else { + echo (" <h1>XML file \"$file\" not exist</h1>"); return -1; } - if( $XMLDEBUG) echo "<pre>"; - 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))); + if ($XMLDEBUG) + echo "<pre>"; + 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))); } } - if( $XMLDEBUG) echo "</pre>"; + if ($XMLDEBUG) + echo "</pre>"; xml_parser_free($xml_parser); return 0; } /*#######################################################################################*/ -function getXMLsubPease( $Sourse, $Name ) -{ - foreach($Sourse->sub as $key => $value) { +function getXMLsubPease($Sourse, $Name) { + foreach ($Sourse->sub as $key => $value) { if ($value->name == $Name) { - return $value; + return $value; } } - - echo "<h1>Fehler: getXMLsubPease( $Sourse, $Name ) not found</h1>"; -// die; + // die; } /*#######################################################################################*/ -function getXMLsubData( $Sourse, $Name ) -{ - $XML = getXMLsubPease( $Sourse, $Name); +function getXMLsubData($Sourse, $Name) { + $XML = getXMLsubPease($Sourse, $Name); return $XML->data; } ?> |