HEX
Server: nginx/1.26.1
System: Linux main-vm 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
User: root (0)
PHP: 8.2.19
Disabled: NONE
Upload Files
File: /var/www/bellecouture/wp-content/plugins/lastudio-element-kit/includes/extensions/manager.php
<?php

namespace LaStudioKitExtensions;

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

final class Manager {

    private $modules = [];

    public function __construct() {

        $modules = [
	        'elementor',
            'swatches',
            'mega-menu',
	        'portfolios',
	        'albums',
            'events',
            'give-wp'
        ];

        foreach ( $modules as $module_name ) {
            $class_name = str_replace( '-', ' ', $module_name );
            $class_name = str_replace( ' ', '', ucwords( $class_name ) );
            $class_name = '\LaStudioKitExtensions\\' . $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[];
     */
    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;
    }
}