summaryrefslogtreecommitdiffstats
path: root/lib/_autoload.php
diff options
context:
space:
mode:
authorOlav Morken <olav.morken@uninett.no>2008-08-18 11:34:09 +0000
committerOlav Morken <olav.morken@uninett.no>2008-08-18 11:34:09 +0000
commit85e4deaa0c71b67db91ef6eb82cca11b6a2dff08 (patch)
tree95d0ad316a6a9cbf2c608e658e972451707d46b5 /lib/_autoload.php
parent7c3c6b07fb515fe453c7de1621b61d5ae97e6951 (diff)
downloadsimplesamlphp-85e4deaa0c71b67db91ef6eb82cca11b6a2dff08.zip
simplesamlphp-85e4deaa0c71b67db91ef6eb82cca11b6a2dff08.tar.gz
simplesamlphp-85e4deaa0c71b67db91ef6eb82cca11b6a2dff08.tar.bz2
Module framework.
git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@808 44740490-163a-0410-bde0-09ae8108e29a
Diffstat (limited to 'lib/_autoload.php')
-rw-r--r--lib/_autoload.php16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/_autoload.php b/lib/_autoload.php
index 8ae891b..8e0ec7c 100644
--- a/lib/_autoload.php
+++ b/lib/_autoload.php
@@ -27,7 +27,21 @@ function SimpleSAML_autoload($className) {
return;
}
- $file = $libDir . str_replace('_', '/', $className) . '.php';
+ /* Handlig of modules. */
+ if(substr($className, 0, 7) === 'sspmod_') {
+ $modNameEnd = strpos($className, '_', 7);
+ $module = substr($className, 7, $modNameEnd - 7);
+ $moduleClass = substr($className, $modNameEnd + 1);
+
+ if(!SimpleSAML_Module::isModuleEnabled($module)) {
+ return;
+ }
+
+ $file = SimpleSAML_Module::getModuleDir($module) . '/lib/' . str_replace('_', '/', $moduleClass) . '.php';
+ } else {
+ $file = $libDir . str_replace('_', '/', $className) . '.php';
+ }
+
if(file_exists($file)) {
require_once($file);
}