protected function _extractModules() { $activeModules = $this->getTable('modules')->innerJoin($this->getTable('modules_type'), 'type_id')->get($this->getTable('modules')->alias() . '.*, ' . $this->getTable('modules_type')->alias() . '.label as type_name'); if ($activeModules) { foreach ($activeModules as $m) { $code = $m['code']; $moduleLocationDir = BUP_MODULES_DIR; if (!empty($m['ex_plug_dir'])) { $moduleLocationDir = utilsBup::getExtModDir($m['ex_plug_dir']); } if (is_dir($moduleLocationDir . $code)) { $this->_allModules[$m['code']] = 1; if ((bool) $m['active']) { importClassBup($code . strFirstUp(BUP_CODE), $moduleLocationDir . $code . DS . 'mod.php'); $moduleClass = toeGetClassNameBup($code); if (class_exists($moduleClass)) { $this->_modules[$code] = new $moduleClass($m); $this->_modules[$code]->setParams((array) json_decode($m['params'])); if (is_dir($moduleLocationDir . $code . DS . 'tables')) { $this->_extractTables($moduleLocationDir . $code . DS . 'tables' . DS); } } } } } } //$operationTime = microtime(true) - $startTime; }
public function __construct($d, $params = array()) { $this->setTypeID($d['type_id']); $this->setType($d['type_name']); $this->setCode($d['code']); $this->setLabel($d['label']); $this->setDescription($d['description']); $this->setParams($d['params']); $this->_setID($d['id']); if (isset($d['ex_plug_dir']) && !empty($d['ex_plug_dir'])) { $this->isExternal(true); $this->setExternalDir(utilsBup::getExtModDir($d['ex_plug_dir'])); $this->setExternalPath(utilsBup::getExtModPath($d['ex_plug_dir'])); } }