Current Path : /storage/v11800/abaniliving-com/public_html/wp-content/plugins/sticky-header-effects-for-elementor/includes/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/abaniliving-com/public_html/wp-content/plugins/sticky-header-effects-for-elementor/includes/modules-manager.php |
<?php
namespace SheHeader;
use SheHeader\Base\Module_Base;
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
final class Manager {
/**
* @var Module_Base[]
*/
private $modules = [];
public function __construct() {
$modules = [
'transparent',
];
foreach ( $modules as $module_name ) {
$class_name = str_replace( '-', ' ', $module_name );
$class_name = str_replace( ' ', '', ucwords( $class_name ) );
$class_name = __NAMESPACE__ . '\\Modules\\' . $class_name . '\Module';
/** @var Module_Base $class_name */
if ( $class_name::is_active() ) {
$this->modules[ $module_name ] = $class_name::instance();
}
}
}
/**
* @param string $module_name
*
* @return Module_Base|Module_Base[]
*/
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;
}
}