diff options
-rw-r--r-- | Services/Yadis/XML.php | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/Services/Yadis/XML.php b/Services/Yadis/XML.php index 7350e2e..8e1d237 100644 --- a/Services/Yadis/XML.php +++ b/Services/Yadis/XML.php @@ -307,12 +307,15 @@ function Services_Yadis_setDefaultParser(&$parser) $__Services_Yadis_defaultParser =& $parser; } -$__Services_Yadis_xml_extensions = array( - 'dom' => array('classname' => 'Services_Yadis_dom', - 'libname' => array('dom.so', 'dom.dll')), - 'domxml' => array('classname' => 'Services_Yadis_domxml', - 'libname' => array('domxml.so', 'php_domxml.dll')), - ); +function Services_Yadis_getSupportedExtensions() +{ + return array( + 'dom' => array('classname' => 'Services_Yadis_dom', + 'libname' => array('dom.so', 'dom.dll')), + 'domxml' => array('classname' => 'Services_Yadis_domxml', + 'libname' => array('domxml.so', 'php_domxml.dll')), + ); +} /** * Returns an instance of a Services_Yadis_XMLParser subclass based on @@ -322,8 +325,7 @@ $__Services_Yadis_xml_extensions = array( */ function &Services_Yadis_getXMLParser() { - global $__Services_Yadis_defaultParser, - $__Services_Yadis_xml_extensions; + global $__Services_Yadis_defaultParser; if (isset($__Services_Yadis_defaultParser)) { return $__Services_Yadis_defaultParser; @@ -332,8 +334,10 @@ function &Services_Yadis_getXMLParser() $p = null; $classname = null; + $extensions = Services_Yadis_getSupportedExtensions(); + // Return a wrapper for the resident implementation, if any. - foreach ($__Services_Yadis_xml_extensions as $name => $params) { + foreach ($extensions as $name => $params) { if (!extension_loaded($name)) { foreach ($params['libname'] as $libname) { if (@dl($libname)) { |