HEX
Server: Apache/2.4.65 (Debian)
System: Linux 88f31f35b0b8 6.1.0-38-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.147-1 (2025-08-02) x86_64
User: www-data (33)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/wptelegram/includes/Modules.php
<?php
/**
 * Loads and includes all the active modules
 *
 * @link       https://wpsocio.com
 * @since     1.0.0
 *
 * @package WPTelegram
 * @subpackage WPTelegram\Core\includes
 */

namespace WPTelegram\Core\includes;

/**
 * Loads and includes all the active modules
 *
 * @package WPTelegram
 * @subpackage WPTelegram\Core\includes
 * @author   WP Socio
 */
class Modules extends BaseClass {

	/**
	 * Retrieve all modules.
	 *
	 * @since   1.0.0
	 * @return array
	 */
	public static function get_all_modules() {
		return [ 'p2tg', 'notify', 'proxy' ];
	}

	/**
	 * Load the active modules
	 *
	 * @since   1.0.0
	 * @access   public
	 */
	public function load() {
		// If an upgrade is going on.
		if ( defined( 'WPTELEGRAM_DOING_UPGRADE' ) && WPTELEGRAM_DOING_UPGRADE ) {
			return;
		}

		$namespace = 'WPTelegram\Core\modules';

		foreach ( self::get_all_modules() as $module ) {

			$main = "{$namespace}\\{$module}\Main";

			$main::instance()->init();

			define( 'WPTELEGRAM_' . strtoupper( $module ) . '_LOADED', true );
		}
	}
}