getModulesNamespacePrefix(); foreach ($this->getModulesNames() as $module_name) { $class_name = str_replace('-', ' ', $module_name); $class_name = str_replace(' ', '', ucwords($class_name)); $class_name = $modules_namespace_prefix . '\ModulesX' . $class_name . 'XModule'; /* @var Module $class_name */ if ($class_name::isActive()) { $this->modules[$module_name] = $class_name::instance(); } } } /** * Get modules names. * * Retrieve the modules names. * * @since 2.0.0 * * @return string[] Modules names */ public function getModulesNames() { return [ 'history', 'library', 'dynamic-tags', 'page-templates', 'catalog', 'misc', 'fonts-manager', 'custom-css', 'motion-effects', 'visibility', ]; } /** * Get modules. * * Retrieve all the registered modules or a specific module. * * @since 2.0.0 * * @param string $module_name Module name * * @return Module|Module[]|null All the registered modules or a specific module */ public function getModules($module_name) { if ($module_name) { if (isset($this->modules[$module_name])) { return $this->modules[$module_name]; } return null; } return $this->modules; } /** * Get modules namespace prefix. * * Retrieve the modules namespace prefix. * * @since 2.0.0 * * @return string Modules namespace prefix */ protected function getModulesNamespacePrefix() { return 'CE'; } }