/** * init the class * * @since 2.2.0 * * @param Registry $registry instance of the registry class */ public static function init(Registry $registry) { $accessValidator = new Validator\Access(); $modulesDirectory = new Directory(); $modulesDirectory->init('modules'); $modulesAvailable = $modulesDirectory->getArray(); $modulesInstalled = Db::forTablePrefix('modules')->where('status', 1)->findMany(); /* proccess installed modules */ foreach ($modulesInstalled as $module) { /* validate access */ if (in_array($module->alias, $modulesAvailable) && $accessValidator->validate($module->access, $registry->get('myGroups')) === Validator\ValidatorInterface::PASSED) { self::$_modules[$module->alias] = $module->alias; } } }
/** * execute from sql * * @since 2.4.0 * * @param string $action action to process * @param string $type type of the database */ protected function _rawExecute($action = null, $type = 'mysql') { $sqlDirectory = new Directory(); $sqlDirectory->init($this->_directory . '/' . $type . '/' . $action); $sqlArray = $sqlDirectory->getArray(); /* process sql */ foreach ($sqlArray as $file) { $query = file_get_contents($this->_directory . '/' . $type . '/' . $action . '/' . $file); if ($query) { if ($this->_config->get('dbPrefix')) { $query = str_replace($this->_prefixPlaceholder, $this->_config->get('dbPrefix'), $query); } Db::rawExecute($query); } } }
/** * clear the invalid cache * * @since 3.0.0 * * @param integer $lifetime lifetime of the bundle * * @return Cache */ public function clearInvalid($lifetime = 3600) { $cacheDirectory = new Directory(); $cacheDirectory->init($this->_directory); $cacheDirectoryArray = $cacheDirectory->getArray(); /* process cache */ foreach ($cacheDirectoryArray as $value) { $path = $this->_directory . '/' . $value; if (is_file($path) && !$this->_validateFile($path, $lifetime)) { $cacheDirectory->remove($value); } } return $this; }