From 5af5f995d033e77142f76a939cb9878ad5a886e6 Mon Sep 17 00:00:00 2001 From: Tim van Dijen <tvdijen@gmail.com> Date: Mon, 10 Dec 2018 18:37:03 +0100 Subject: [PATCH] Fix for sspmod_ class with namespaced $type --- lib/SimpleSAML/Module.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/SimpleSAML/Module.php b/lib/SimpleSAML/Module.php index 77d180860..4cbd41657 100644 --- a/lib/SimpleSAML/Module.php +++ b/lib/SimpleSAML/Module.php @@ -392,20 +392,18 @@ class Module } else { // should be a module // make sure empty types are handled correctly - $type = (empty($type)) ? '_' : '_'.$type.'_'; - - // check for the old-style class names - $className = 'sspmod_'.$tmp[0].$type.$tmp[1]; + $type = (empty($type)) ? '\\' : '\\'.$type.'\\'; + $className = 'SimpleSAML\\Module\\'.$tmp[0].$type.$tmp[1]; if (!class_exists($className)) { - // check for the new-style class names, using namespaces - $type = str_replace('_', '\\', $type); - $newClassName = 'SimpleSAML\\Module\\'.$tmp[0].$type.$tmp[1]; + // check for the old-style class names + $type = str_replace('\\', '_', $type); + $oldClassName = 'sspmod_'.$tmp[0].$type.$tmp[1]; - if (!class_exists($newClassName)) { - throw new \Exception("Could not resolve '$id': no class named '$className' or '$newClassName'."); + if (!class_exists($oldClassName)) { + throw new \Exception("Could not resolve '$id': no class named '$className' or '$oldClassName'."); } - $className = $newClassName; + $className = $oldClassName; } } -- GitLab