HEX
Server: LiteSpeed
System: Linux s383.bitcommand.com 5.14.0-687.24.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 9 18:14:06 EDT 2026 x86_64
User: pclast (1605)
PHP: 8.1.34
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/pclast/www/wp-content/plugins/wp-rocket/inc/Engine/Common/PerformanceHints/AJAX/Processor.php
<?php
declare( strict_types=1 );

namespace WP_Rocket\Engine\Common\PerformanceHints\AJAX;

class Processor {
	/**
	 * Array of Factories.
	 *
	 * @var array
	 */
	private $factories;

	/**
	 * Instantiate the class
	 *
	 * @param array $factories Array of factories.
	 */
	public function __construct( array $factories ) {
		$this->factories = $factories;
	}

	/**
	 * Checks existing data for various performance hints feature using their factories,
	 * then encodes the result in a single instance.
	 *
	 * @return void
	 */
	public function check_data(): void {
		$payload = $this->get_payload( $this->factories, 'check_data' );
		wp_send_json_success( $payload );
	}

	/**
	 * Adds performance hints data to DB.
	 *
	 * @return void
	 */
	public function add_data() {
		$payload = $this->get_payload( $this->factories, 'add_data' );
		wp_send_json_success( $payload );
	}

	/**
	 * Gets the response for ajax request.
	 *
	 * @param array  $factories Array of factories.
	 * @param string $method Ajax product method name.
	 * @return array
	 */
	private function get_payload( array $factories, string $method ): array {
		$payload = [];

		foreach ( $factories as $factory ) {
			$payload = array_merge( $payload, $factory->get_ajax_controller()->$method() );
		}

		return $payload;
	}
}