60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Class WPML_TF_Module
|
|
*
|
|
* @author OnTheGoSystems
|
|
*/
|
|
class WPML_TF_Module {
|
|
|
|
/** @var WPML_Action_Filter_Loader $action_filter_loader */
|
|
private $action_filter_loader;
|
|
|
|
/** @var WPML_TF_Settings $settings */
|
|
private $settings;
|
|
|
|
/**
|
|
* WPML_TF_Module constructor.
|
|
*
|
|
* @param WPML_Action_Filter_Loader $action_filter_loader
|
|
* @param IWPML_TF_Settings $settings
|
|
*/
|
|
public function __construct( WPML_Action_Filter_Loader $action_filter_loader, IWPML_TF_Settings $settings ) {
|
|
$this->action_filter_loader = $action_filter_loader;
|
|
$this->settings = $settings;
|
|
}
|
|
|
|
public function run() {
|
|
$this->action_filter_loader->load( $this->get_actions_to_load_always() );
|
|
|
|
if ( $this->settings->is_enabled() ) {
|
|
$this->action_filter_loader->load( $this->get_actions_to_load_when_module_enabled() );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
private function get_actions_to_load_always() {
|
|
return array(
|
|
'WPML_TF_Backend_Options_Hooks_Factory',
|
|
'WPML_TF_Backend_Options_AJAX_Hooks_Factory',
|
|
'WPML_TF_Backend_Promote_Hooks_Factory',
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
private function get_actions_to_load_when_module_enabled() {
|
|
return array(
|
|
'WPML_TF_Common_Hooks_Factory',
|
|
'WPML_TF_Backend_Hooks_Factory',
|
|
'WPML_TF_Frontend_Hooks_Factory',
|
|
'WPML_TF_Frontend_AJAX_Hooks_Factory',
|
|
'WPML_TF_Backend_AJAX_Feedback_Edit_Hooks_Factory',
|
|
'WPML_TF_Backend_Post_List_Hooks_Factory',
|
|
);
|
|
}
|
|
}
|