diff --git a/lib/SimpleSAML/Module.php b/lib/SimpleSAML/Module.php index 22b7f2ea87d7377d854c00b18c0df4835f7f4d21..a4a984d3e29764e637c4ab2df4ea2bc976355908 100644 --- a/lib/SimpleSAML/Module.php +++ b/lib/SimpleSAML/Module.php @@ -1,5 +1,5 @@ <?php - +namespace SimpleSAML; /** * Helper class for accessing information about modules. @@ -9,13 +9,14 @@ * @author Jaime Perez <jaime.perez@uninett.no>, UNINETT AS. * @package SimpleSAMLphp */ -class SimpleSAML_Module +class Module { /** * Autoload function for SimpleSAMLphp modules following PSR-0. * * @param string $className Name of the class. + * @deprecated This method will be removed in SSP 2.0. * * TODO: this autoloader should be removed once everything has been migrated to namespaces. */ @@ -36,16 +37,17 @@ class SimpleSAML_Module } $file = self::getModuleDir($module).'/lib/'.join('/', $path).'.php'; - if (file_exists($file)) { - require_once($file); + if (!file_exists($file)) { + return; } + require_once($file); if (!class_exists($className, false)) { // the file exists, but the class is not defined. Is it using namespaces? $nspath = join('\\', $path); if (class_exists('SimpleSAML\Module\\'.$module.'\\'.$nspath)) { // the class has been migrated, create an alias and warn about it - SimpleSAML_Logger::warning( + \SimpleSAML_Logger::warning( "The class '$className' is now using namespaces, please use 'SimpleSAML\\Module\\$module\\". "$nspath' instead." ); @@ -117,7 +119,7 @@ class SimpleSAML_Module * * @return bool True if the given module is enabled, false otherwise. * - * @throws Exception If module.enable is set and is not boolean. + * @throws \Exception If module.enable is set and is not boolean. */ public static function isModuleEnabled($module) { @@ -128,7 +130,7 @@ class SimpleSAML_Module return false; } - $globalConfig = SimpleSAML_Configuration::getOptionalConfig(); + $globalConfig = \SimpleSAML_Configuration::getOptionalConfig(); $moduleEnable = $globalConfig->getArray('module.enable', array()); if (isset($moduleEnable[$module])) { @@ -136,14 +138,14 @@ class SimpleSAML_Module return $moduleEnable[$module]; } - throw new Exception("Invalid module.enable value for for the module $module"); + throw new \Exception("Invalid module.enable value for for the module $module"); } if (assert_options(ASSERT_ACTIVE) && !file_exists($moduleDir.'/default-enable') && !file_exists($moduleDir.'/default-disable') ) { - SimpleSAML_Logger::error("Missing default-enable or default-disable file for the module $module"); + \SimpleSAML_Logger::error("Missing default-enable or default-disable file for the module $module"); } if (file_exists($moduleDir.'/enable')) { @@ -163,7 +165,7 @@ class SimpleSAML_Module * * @return array One string for each module. * - * @throws Exception If we cannot open the module's directory. + * @throws \Exception If we cannot open the module's directory. */ public static function getModules() { @@ -172,7 +174,7 @@ class SimpleSAML_Module $dh = opendir($path); if ($dh === false) { - throw new Exception('Unable to open module directory "'.$path.'".'); + throw new \Exception('Unable to open module directory "'.$path.'".'); } $modules = array(); @@ -212,7 +214,7 @@ class SimpleSAML_Module * * @return string The classname. * - * @throws Exception If the class cannot be resolved. + * @throws \Exception If the class cannot be resolved. */ public static function resolveClass($id, $type, $subclass = null) { @@ -224,7 +226,7 @@ class SimpleSAML_Module if (count($tmp) === 1) { // no module involved $className = $tmp[0]; if (!class_exists($className)) { - throw new Exception("Could not resolve '$id': no class named '$className'."); + throw new \Exception("Could not resolve '$id': no class named '$className'."); } } else { // should be a module // make sure empty types are handled correctly @@ -239,14 +241,14 @@ class SimpleSAML_Module $newClassName = 'SimpleSAML\Module\\'.$tmp[0].$type.$tmp[1]; if (!class_exists($newClassName)) { - throw new Exception("Could not resolve '$id': no class named '$className' or '$newClassName'."); + throw new \Exception("Could not resolve '$id': no class named '$className' or '$newClassName'."); } $className = $newClassName; } } if ($subclass !== null && !is_subclass_of($className, $subclass)) { - throw new Exception( + throw new \Exception( 'Could not resolve \''.$id.'\': The class \''.$className.'\' isn\'t a subclass of \''.$subclass.'\'.' ); } @@ -270,9 +272,9 @@ class SimpleSAML_Module assert('is_string($resource)'); assert('$resource[0] !== "/"'); - $url = \SimpleSAML\Utils\HTTP::getBaseURL().'module.php/'.$resource; + $url = Utils\HTTP::getBaseURL().'module.php/'.$resource; if (!empty($parameters)) { - $url = \SimpleSAML\Utils\HTTP::addURLParameters($url, $parameters); + $url = Utils\HTTP::addURLParameters($url, $parameters); } return $url; } diff --git a/lib/_autoload_modules.php b/lib/_autoload_modules.php index c5524252b364f089f4dd235ce3a9211b609a8fb2..71cebf8ecf99b16c1f9764685c443dccf47807b7 100644 --- a/lib/_autoload_modules.php +++ b/lib/_autoload_modules.php @@ -37,5 +37,5 @@ function temporaryLoader($class) } spl_autoload_register("temporaryLoader"); -spl_autoload_register(array('SimpleSAML_Module', 'autoloadPSR0')); -spl_autoload_register(array('SimpleSAML_Module', 'autoloadPSR4')); +spl_autoload_register(array('SimpleSAML\Module', 'autoloadPSR0')); +spl_autoload_register(array('SimpleSAML\Module', 'autoloadPSR4'));