diff options
author | Srokap <srokap@gmail.com> | 2012-07-30 17:35:31 +0200 |
---|---|---|
committer | Brett Profitt <brett.profitt@gmail.com> | 2012-12-05 18:01:17 -0500 |
commit | 00b2501721a25acec48c9c9561844e2db86e39dd (patch) | |
tree | 52887be000d9656cd0d6530cfb95d977c1ab7efd /engine/lib | |
parent | ccf7abb4b2b94781f9b67a6cf8798994aa1cca0d (diff) | |
download | elgg-00b2501721a25acec48c9c9561844e2db86e39dd.tar.gz elgg-00b2501721a25acec48c9c9561844e2db86e39dd.tar.bz2 |
Fixes 3468 - replaces xml_to_object function with MIT licensed implementation.
Diffstat (limited to 'engine/lib')
-rw-r--r-- | engine/lib/xml.php | 38 |
1 files changed, 1 insertions, 37 deletions
diff --git a/engine/lib/xml.php b/engine/lib/xml.php index 813bc4ee0..4f1ae76a9 100644 --- a/engine/lib/xml.php +++ b/engine/lib/xml.php @@ -101,47 +101,11 @@ function serialise_array_to_xml(array $data, $n = 0) { /** * Parse an XML file into an object. - * Based on code from http://de.php.net/manual/en/function.xml-parse-into-struct.php by - * efredricksen at gmail dot com * * @param string $xml The XML * * @return object */ function xml_to_object($xml) { - $parser = xml_parser_create(); - - // Parse $xml into a structure - xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); - xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); - xml_parse_into_struct($parser, $xml, $tags); - - xml_parser_free($parser); - - $elements = array(); - $stack = array(); - - foreach ($tags as $tag) { - $index = count($elements); - - if ($tag['type'] == "complete" || $tag['type'] == "open") { - $elements[$index] = new XmlElement; - $elements[$index]->name = $tag['tag']; - $elements[$index]->attributes = elgg_extract('attributes', $tag, ''); - $elements[$index]->content = elgg_extract('value', $tag, ''); - - if ($tag['type'] == "open") { - $elements[$index]->children = array(); - $stack[count($stack)] = &$elements; - $elements = &$elements[$index]->children; - } - } - - if ($tag['type'] == "close") { - $elements = &$stack[count($stack) - 1]; - unset($stack[count($stack) - 1]); - } - } - - return $elements[0]; + return new XmlElement($xml); } |