<?php

Base_Autoloader::Register();

// ================
// Autoloader Class
// ================

class Base_Autoloader {

  public static function Register() {

    if (function_exists("__autoload")) {
      spl_autoload_register("__autoload");
    }
    
    return spl_autoload_register(array("Base_Autoloader", "Load"), true, true);
    
  }

  public static function Load($pClassName) {
    
    if (class_exists($pClassName, false)) {
      return false;
    }

    // Try for a "classes" Class first, then a "reports" Class.
    
    $pClassFilePath = "classes/{$pClassName}.php";

    if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) {
      
      $pClassFilePath = "reports/{$pClassName}.php";
      
      if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) {
        return false;
      }
      
    }

    require($pClassFilePath);
    
  }

}

?>