File: /var/www/clients/client64/web77/web/wp-content/plugins/elementor-beta/core/modules-manager.php
<?php
namespace ElementorBeta\Core;
use ElementorBeta\Core\Base\Module;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class Modules_Manager {
/**
* Registered modules.
*
* Holds the list of all the registered modules.
*
* @var array
*/
private $modules = [];
public function load_modules() {
$modules_namespace_prefix = $this->get_modules_namespace_prefix();
foreach ( $this->get_modules_names() as $module_name ) {
$class_name = str_replace(
' ',
'',
ucwords(
str_replace( '-', ' ', $module_name )
)
);
/** @var Module $class_name */
$class_name = $modules_namespace_prefix . '\\Modules\\' . $class_name . '\Module';
if ( $class_name::is_active() ) {
$this->modules[ $module_name ] = $class_name::instance();
}
}
}
/**
* Get modules names.
*
* Retrieve the modules names.
*
* @return string[] Modules names.
*/
public function get_modules_names() {
return [
'developer-edition',
];
}
/**
* Get modules.
*
* Retrieve all the registered modules or a specific module.
*
* @param string $module_name Module name.
*
* @return null|Module|Module[] All the registered modules or a specific module.
*/
public function get_modules( $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.
*
* @return string Modules namespace prefix.
*/
protected function get_modules_namespace_prefix() {
return ELEMENTOR_BETA_NAMESPACE;
}
}