From 75448045cfe70054c8f4bae1bcfaf9bb0f70d330 Mon Sep 17 00:00:00 2001 From: Moritz helios Rudert Date: Wed, 1 Jun 2011 12:13:39 +0200 Subject: fixes --- includes/funktion_xml.php | 228 ++++++++++++++++++++++------------------------ 1 file changed, 110 insertions(+), 118 deletions(-) mode change 100755 => 100644 includes/funktion_xml.php (limited to 'includes/funktion_xml.php') diff --git a/includes/funktion_xml.php b/includes/funktion_xml.php old mode 100755 new mode 100644 index 8e911a4f..60eb26fa --- a/includes/funktion_xml.php +++ b/includes/funktion_xml.php @@ -1,13 +1,10 @@ -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???
"; - } - else - dataXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1); + $Data = utf8_decode($Data); + return $Data; } -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|". "#-#
"; - } - else - startXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1); +function dataXMLmain($Data, &$Objekt, $Tiefe) { + global $XMLmain, $XMLpos, $depth, $XMLDEBUG; + + 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???
"; + } else + dataXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1); +} + +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|". "#-#
"; + } + else + startXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1); } function start_element_handler($parser, $name, $attribs) { - global $depth, $XMLmain, $XMLpos; + global $depth, $XMLmain, $XMLpos; - $Data = new element; - $Data->name = $name; - while(list($key, $value) = each($attribs)) - $Data->attributes[$key] = convertValues($value); - $Data->depth = $depth; - $XMLpos[$depth]++; + $Data = new element; + $Data->name = $name; + while(list($key, $value) = each($attribs)) + $Data->attributes[$key] = convertValues($value); + $Data->depth = $depth; + $XMLpos[$depth]++; - if( $depth==0) - $XMLmain= $Data; - else - startXMLmain( $Data, $XMLmain, 1); + if( $depth==0) + $XMLmain= $Data; + else + startXMLmain( $Data, $XMLmain, 1); - $depth++; + $depth++; } function end_element_handler($parser, $name) { - global $depth, $XMLpos; - $XMLpos[$depth]=0; - $depth--; + global $depth, $XMLpos; + $XMLpos[$depth]=0; + $depth--; } function character_data_handler($parser, $data) { - global $XMLmain; - if( strlen(trim($data)) ) - dataXMLmain( $data, $XMLmain, 1); + global $XMLmain; + if( strlen(trim($data)) ) + dataXMLmain( $data, $XMLmain, 1); } /*#######################################################################################*/ 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("

could not open XML file \"$file\"

"); - return -1; - } - } - else - { - echo("

XML file \"$file\" not exist

"); - return -1; - } - - if( $XMLDEBUG) echo "
";
-	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 "
"; - xml_parser_free($xml_parser); - return 0; + 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("

could not open XML file \"$file\"

"); + return -1; + } + } + else + { + echo("

XML file \"$file\" not exist

"); + return -1; + } + + if( $XMLDEBUG) echo "
";
+  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 "
"; + xml_parser_free($xml_parser); + return 0; } /*#######################################################################################*/ function getXMLsubPease( $Sourse, $Name ) { - foreach($Sourse->sub as $key => $value) { - if ($value->name == $Name) { - return $value; - } - } - - echo "

Fehler: getXMLsubPease( $Sourse, $Name ) not found

"; -// die; + foreach($Sourse->sub as $key => $value) { + if ($value->name == $Name) { + return $value; + } + } + + echo "

Fehler: getXMLsubPease( $Sourse, $Name ) not found

"; +// die; } /*#######################################################################################*/ function getXMLsubData( $Sourse, $Name ) { - $XML = getXMLsubPease( $Sourse, $Name); - return $XML->data; + $XML = getXMLsubPease( $Sourse, $Name); + return $XML->data; } ?> -- cgit v1.2.3-70-g09d2