WS_OK_7.4.33 HEX
HEX
Server: nginx/1.21.4
System: Linux v12674 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: endtheignorance (1014)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v12674/airalle/public_html/wp-content/plugins/wp-smushit/core/integrations/class-divi.php
<?php
/**
 * Divi integration module.
 */

namespace Smush\Core\Integrations;

use Smush\Core\Controller;
use Smush\Core\Settings;

if ( ! defined( 'WPINC' ) ) {
	die;
}

/**
 * Class Divi
 */
class Divi extends Controller {
	/**
	 * Constructor to initialize the Divi integration.
	 */
	public function __construct() {
		// Delay hook registration until Divi is fully available.
		$this->register_action( 'after_setup_theme', array( $this, 'register_hooks' ) );
	}

	/**
	 * Register Divi-specific hooks.
	 *
	 * - Always register Divi 4 hook
	 * - Register Divi 5 hook only when active
	 *
	 * @return void
	 */
	public function register_hooks() {
		// Divi 5 support.
		if ( function_exists( 'et_builder_d5_enabled' ) && et_builder_d5_enabled() ) {
			$this->register_action(
				'divi_module_library_modules_dependency_tree',
				array( $this, 'handle_divi_image_sizes_hook' )
			);
		}

		// Divi 4 (and fallback).
		$this->register_action(
			'et_builder_modules_loaded',
			array( $this, 'handle_divi_image_sizes_hook' )
		);
	}

	/**
	 * Handles the removal of Divi's image size calculation hook.
	 *
	 * Removes the `wp_calculate_image_sizes` filter added by Divi when responsive images are disabled
	 * and Smush's CDN with auto-resize is enabled.
	 *
	 * @return void
	 */
	public function handle_divi_image_sizes_hook() {

		if ( ! function_exists( 'et_get_option' ) ) {
			return;
		}

		$smush_settings = Settings::get_instance();
		if (
			'on' !== et_get_option( 'divi_enable_responsive_images' ) &&
			$smush_settings->is_lazyload_active() &&
			$smush_settings->is_auto_resizing_active()
		) {
			remove_filter( 'wp_calculate_image_sizes', 'et_filter_wp_calculate_image_sizes' );
		}
	}
}