summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortailor <cygnus@janrain.com>2007-01-04 00:04:43 +0000
committertailor <cygnus@janrain.com>2007-01-04 00:04:43 +0000
commit9e8f3f9b1d8a30a4e0bccd35b3bcd3e7a3e9b7ac (patch)
treec351edbd76826bc1fc1e3f3fce01ba020bd30c88
parentab0791dbebfdfe737420f6e9e08dd0c3d27b5257 (diff)
downloadphp-openid-9e8f3f9b1d8a30a4e0bccd35b3bcd3e7a3e9b7ac.zip
php-openid-9e8f3f9b1d8a30a4e0bccd35b3bcd3e7a3e9b7ac.tar.gz
php-openid-9e8f3f9b1d8a30a4e0bccd35b3bcd3e7a3e9b7ac.tar.bz2
[project @ FIX #1150: Move supported XML extension data into getter]
-rw-r--r--Services/Yadis/XML.php22
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)) {