summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/base.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/base.php b/lib/base.php
index 98c6fbb8e33..d3097f7ee87 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -20,9 +20,22 @@
*
*/
+/**
+ * Class that is a namespace for all global OC variables
+ */
+class OC{
+ /**
+ * Assoziative array for autoloading. classname => filename
+ */
+ public static $CLASSPATH = array();
+}
+
// Get rid of this stupid require_once OC_...
-function OC_autoload($className) {
- if(strpos($className,'OC_')===0) {
+function OC_autoload($className){
+ if(array_key_exists($className,OC::$CLASSPATH)){
+ require_once OC::$CLASSPATH[$className];
+ }
+ elseif(strpos($className,'OC_')===0){
require_once strtolower(str_replace('_','/',substr($className,3)) . '.php');
}
}