# templately/3.1.7/includes/Core/Module.php

Templately – Elementor &amp; Gutenberg Template Library: 6500+ Free &amp; Pro Ready Templates And Cloud!, version 3.1.7. 42 lines.

- Page: https://pluginprobe.com/plugins/templately/3.1.7/code/includes/Core/Module.php
- Raw: https://pluginprobe.com/plugins/templately/3.1.7/raw/includes/Core/Module.php
- Modified: 2022-10-03T09:36:30+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/templately/3.1.7/code/includes/Core/Module.php#L10-L20`.

```php
<?php
namespace Templately\Core;

use Templately\Utils\Base;
use function is_subclass_of;

class Module extends Base {
    private $modules = [];

    public function active( $module, $type = 'Platform' ){
        $_type = \strtolower( $type );
        if( array_key_exists( $_type, $this->modules ) &&
            array_key_exists( $module, $this->modules[ $_type ] ) &&
            is_subclass_of( $this->modules[ $_type ][ $module ]->object, __NAMESPACE__ . '\\' . $type ) ) {
            return $this->modules[ $_type ][ $module ]->object;
        }

        return null;
    }

    public function add( $module, $type = 'Platform' ){
        $_type = \strtolower( $type );
        if( ! array_key_exists( $_type, $this->modules) ) {
            $this->modules[ $_type ] = [];
        }

		if( isset( $module->id ) ) {
			$this->modules[ $_type ][ $module->id ] = $module;
		} else {
			$this->modules[ $_type ][] = $module;
		}
    }

	public function get( $type = 'Platform' ){
		$_type = \strtolower( $type );
		if( array_key_exists( $_type, $this->modules ) ) {
			return $this->modules[ $_type ];
		}

		return [];
	}
}
```
