Code

Updated paths
[gosa.git] / include / autoload.inc
1 <?php
3 /* This function needs the pre-defined class mapping from autoload-data.inc */
4 require_once("autoload-data.inc");
6 /* Set BASE_DIR for the complete code as constant */
7 define('BASE_DIR', dirname(dirname(__FILE__)));
10 /**
11  * AutoloadException to handle exceptions that happen inside
12  * the autoloader module.
13  */
14 class AutoloadException extends Exception {
15         public function __construct($message, $code = 0) {
16                 parent::__construct($message, $code);
17         }
18 }
21 /**
22  * Loads the requested class from the filesystem.
23  * @param string $class_name
24  * @return -
25  */
26 function __autoload($class_name) {
27         global $class_mapping;
29         /* Load data for class locations */
31         if (isset($class_mapping[$class_name])){
32                 require_once(BASE_DIR."/".$class_mapping[$class_name]);
33         } else {
34                 eval("class $class_name {}");
35                 throw new AutoloadException(sprintf(_("Cannot load class '%s'!"), $class_name));
36         }
37 }
39 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
40 ?>