78 lines
1.5 KiB
PHP
78 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace ImageOptimization\Modules\ConnectManager;
|
|
|
|
use ImageOptimization;
|
|
use ImageOptimization\Classes\{
|
|
Module_Base,
|
|
};
|
|
|
|
use ImageOptimization\Modules\ConnectManager\Classes\Connect_Runner;
|
|
|
|
use ImageOptimization\Modules\ConnectManager\Components\Legacy_Connect;
|
|
use ImageOptimization\Modules\ConnectManager\Components\Connect;
|
|
|
|
use ImageOptimization\Plugin;
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit; // Exit if accessed directly
|
|
}
|
|
|
|
/**
|
|
* Class Module
|
|
*/
|
|
class Module extends Module_Base {
|
|
|
|
/**
|
|
* Connect instance
|
|
*
|
|
* @var connect_instance
|
|
*/
|
|
public $connect_instance;
|
|
|
|
/**
|
|
* Get module name.
|
|
* Retrieve the module name.
|
|
* @access public
|
|
* @return string Module name.
|
|
*/
|
|
public function get_name() {
|
|
return 'connect-manager';
|
|
}
|
|
|
|
/**
|
|
* component_list
|
|
* @return string[]
|
|
*/
|
|
public static function component_list() : array {
|
|
return [
|
|
'Legacy_Connect',
|
|
'Connect',
|
|
];
|
|
}
|
|
|
|
public function __construct() {
|
|
// Register components.
|
|
$this->register_components();
|
|
// Load Connect Manager.
|
|
add_action( 'plugins_loaded', [ $this, 'load_connect_manager' ] );
|
|
}
|
|
|
|
/**
|
|
* Load Connect Manager
|
|
*
|
|
* Load the correct version of Connect Manager based on whether
|
|
* the user is already connected using legacy version or not.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function load_connect_manager() {
|
|
|
|
if ( ImageOptimization\Modules\Connect\Module::is_active() ) {
|
|
$this->connect_instance = new Connect_Runner( new Connect() );
|
|
} else {
|
|
$this->connect_instance = new Connect_Runner( new Legacy_Connect() );
|
|
}
|
|
}
|
|
}
|