/** * Return list of active modules (or check a single module) * * @return array */ public static function getActiveModules() { static::readModuleMigrationLog(); if (!isset(static::$activeModules)) { // Fetch enabled modules from the common list $enabledModules = \Includes\Utils\ArrayManager::searchAllInArraysArray(static::getModulesList(), 'enabled', true); // Fetch system modules from the disabled modules list $systemModules = static::getSystemModules(); // Get full list of active modules static::$activeModules = $enabledModules + $systemModules; // Remove unsupported modules from list static::checkVersions(); // Remove unsafe modules static::performSafeModeProtection(); // Remove modules with corrupted dependencies static::correctDependencies(); } return static::$activeModules; }