sitepress = $sitepress; } public function add_hooks() { add_action( 'init', array( $this, 'load_resources_if_they_are_required' ), 10, 0 ); if ( $this->sitepress->is_setup_complete() ) { add_action( 'admin_init', array( $this, 'display_warning_notice' ), 10, 0 ); } } /** * @return bool */ private function is_standard_editor_used() { $tm_settings = $this->sitepress->get_setting( 'translation-management', array() ); return ! isset( $tm_settings['doc_translation_method'] ) || ICL_TM_TMETHOD_MANUAL === $tm_settings['doc_translation_method']; } public function display_warning_notice() { $notices = wpml_get_admin_notices(); if ( $this->is_standard_editor_used() ) { $notices->add_notice( new WPML_Compatibility_Divi_Notice() ); } elseif ( $notices->get_notice( WPML_Compatibility_Divi_Notice::ID, WPML_Compatibility_Divi_Notice::GROUP ) ) { $notices->remove_notice( WPML_Compatibility_Divi_Notice::GROUP, WPML_Compatibility_Divi_Notice::ID ); } } public function load_resources_if_they_are_required() { if ( ! isset( $_GET['page'] ) || ! is_admin() ) { return; } $pages = array( self::get_duplication_action_page() ); if ( $this->is_tm_active() ) { $pages[] = self::get_translation_editor_page(); } if ( in_array( $_GET['page'], $pages, true ) ) { $this->register_layouts(); } } private static function get_translation_editor_page() { return WPML_TM_FOLDER . '/menu/translations-queue.php'; } private static function get_duplication_action_page() { return WPML_PLUGIN_FOLDER . '/menu/languages.php'; } private function is_tm_active() { return defined( 'WPML_TM_FOLDER' ); } private function register_layouts() { if ( function_exists( 'et_builder_should_load_framework' ) && ! et_builder_should_load_framework() ) { if ( function_exists( 'et_builder_register_layouts' ) ) { et_builder_register_layouts(); } else { $lib_file = ET_BUILDER_DIR . 'feature/Library.php'; if ( ! class_exists( 'ET_Builder_Library' ) && defined( 'ET_BUILDER_DIR' ) && file_exists( $lib_file ) ) { require_once $lib_file; } if ( class_exists( 'ET_Builder_Library' ) ) { ET_Builder_Library::instance(); } } } } }