HEX
Server: LiteSpeed
System: Linux chromium.pvtwebs.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: plandeptncgov (1317)
PHP: 8.3.31
Disabled: exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/plandeptncgov/public_html/wp-content/plugins/optimole-wp/inc/compatibilities/facetwp.php
<?php

/**
 * Class Optml_facetwp
 *
 * @reason Adding filter to force replacement on api request.
 */
class Optml_facetwp extends Optml_compatibility {

	/**
	 * Should we load the integration logic.
	 *
	 * @return bool Should we load.
	 */
	function should_load() {
		include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
		return is_plugin_active( 'facetwp/index.php' );
	}
	/**
	 * Register integration details.
	 */
	public function register() {
		add_filter( 'facetwp_ajax_response', [ $this, 'api_replacement_filter' ], 1, 2 );
		add_action( 'facetwp_inject_template', [ $this, 'api_replacement_action' ], 1 );
	}
	/**
	 * Add filter to replace images from api requests.
	 *
	 * Modifies template for a facetwp template.
	 * NOTE: $output needs to be json decoded before modification and re encoded before returning.
	 *
	 * @param string $output The output before optimization.
	 * @param array  $data More data about the request.
	 * @return string The output with the optimized images.
	 */
	public function api_replacement_filter( $output, $data ) {
		do_action( 'optml_replacer_setup' );

		$output = json_decode( $output );

		if ( isset( $output->template ) ) {
			$output->template = Optml_Main::instance()->manager->replace_content( $output->template );
		}

		// Ignore invalid UTF-8 characters in PHP 7.2+
		if ( version_compare( phpversion(), '7.2', '<' ) ) {
			$output = json_encode( $output );
		} else {
			$output = json_encode( $output, JSON_INVALID_UTF8_IGNORE );
		}
		$output = Optml_Main::instance()->manager->replace_content( $output );
		return $output;
	}
	/**
	 * Add action to replace images from facetwp api requests.
	 *
	 * Modifies template for a non-facetwp template.
	 *
	 * @param array $output The output before optimization.
	 * @return void
	 */
	public function api_replacement_action( $output ) {
		do_action( 'optml_replacer_setup' );

		if ( ! isset( $output['template'] ) || ! function_exists( 'FWP' ) ) {
			return;
		}
		$output['template'] = Optml_Main::instance()->manager->replace_content( $output['template'] );
		FWP()->request->output = $output;
	}
	/**
	 * Should we early load the compatibility?
	 *
	 * @return bool Whether to load the compatibility or not.
	 */
	public function should_load_early() {
		return true;
	}
}