/** * 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('modules'); $modulesAvailable = $modulesDirectory->get(); try { $modulesInstalled = Db::forPrefixTable('modules')->where('status', 1)->findMany(); } catch (\PDOException $exception) { $modulesInstalled = array(); } // @codeCoverageIgnoreEnd /* proccess installed modules */ foreach ($modulesInstalled as $module) { /* validate access */ if (in_array($module->alias, $modulesAvailable) && $accessValidator->validate($module->access, $registry->get('myGroups')) === 1) { self::$_modules[$module->alias] = $module->alias; } } }