Exemple #1
0
 private function init()
 {
     if (!$this->initialized) {
         $this->initialized = true;
         $this->lpa = ModuleManager::get_load_priority_array();
         $this->lpa_count = count($this->lpa);
         ModulesAutoloader::enable();
     }
 }
Exemple #2
0
 public static function enable()
 {
     if (self::$instance === null) {
         self::$instance = new ModulesAutoloader();
     }
 }
Exemple #3
0
 /**
  * Loads all installed classes definitions.
  *
  * Do not use directly.
  */
 public static final function load_modules()
 {
     ModulesAutoloader::enable();
     self::$modules = array();
     $installed_modules = ModuleManager::get_load_priority_array(true);
     $cached = false;
     if (FORCE_CACHE_COMMON_FILES) {
         $cache_file = DATA_DIR . '/cache/common.php';
         if (!file_exists($cache_file)) {
             self::create_common_cache();
         }
         ob_start();
         require_once $cache_file;
         ob_end_clean();
         $cached = true;
     }
     foreach ($installed_modules as $row) {
         $module = $row['name'];
         $version = $row['version'];
         ModuleManager::register($module, $version, self::$modules);
     }
     // all commons already loaded by FORCE_CACHE_COMMON_FILES
     if ($cached) {
         return;
     }
     $commons_with_code = Cache::get('commons_with_code');
     if ($commons_with_code === null) {
         $commons_with_code = array();
         foreach ($installed_modules as $row) {
             $module = $row['name'];
             $version = $row['version'];
             if (self::common_has_code($module, $version)) {
                 $commons_with_code[$module] = $version;
             }
         }
         Cache::set('commons_with_code', $commons_with_code);
         // this code includes all Common files to check for the code
         // because there is a return
         return;
     }
     foreach ($commons_with_code as $module => $version) {
         if (isset(self::$modules[$module])) {
             self::include_common($module, $version);
         }
     }
 }