HEX
Server: Apache
System: Linux p3plzcpnl476737.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: p8pyefaexf70 (9161224)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/p8pyefaexf70/www/wp-content/plugins/lastudio-element-kit/includes/modules/modules-manager.php
<?php
namespace LaStudioKitThemeBuilder\Modules;

use Elementor\Core\Base\Module as Module_Base;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

final class Modules_Manager {

	private $modules = [];

	public function __construct() {

		$modules = [
			'theme-builder',
            'woocommerce',
            'dynamic-tags',
            'screenshots',
            'popup',
            'woofilters',
            'nested-elements',
			'edynamic-tags',
//			'givewp'
		];

		$forceActivateModules = [
			'woocommerce',
			'woofilters',
            'nested-elements',
            'edynamic-tags'
		];

		foreach ( $modules as $module_name ) {
			$class_name = str_replace( '-', ' ', $module_name );
			$class_name = str_replace( ' ', '', ucwords( $class_name ) );
			$class_name = '\LaStudioKitThemeBuilder\Modules\\' . $class_name . '\Module';

			/** @var Module_Base $class_name */
            if( ( $class_name::is_active() && ( !lastudio_kit()->has_elementor_pro() || in_array($module_name, $forceActivateModules) ) ) ){
                $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;
	}
}