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 ?>