HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/includes/Ajax.php
<?php
// phpcs:ignoreFile

namespace AutomateWoo;

/**
 * @class Ajax
 * @since 2.7
 */
class Ajax {

	/**
	 * Init
	 */
	static function init() {
		self::maybe_define_ajax();
		add_action( 'template_redirect', [ __CLASS__, 'do_ajax' ], 0 );
	}


	/**
	 * @param  string $request Optional
	 * @return string
	 */
	static function get_endpoint( $request ) {
		return esc_url_raw( add_query_arg( 'aw-ajax', $request ) );
	}


	/**
	 * Set WC AJAX constant and headers.
	 */
	static function maybe_define_ajax() {

		if ( empty( $_GET['aw-ajax'] ) )
			return;

		if ( ! defined( 'DOING_AJAX' ) ) {
			define( 'DOING_AJAX', true );
		}

		// Turn off display_errors during AJAX events to prevent malformed JSON
		if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
			@ini_set( 'display_errors', 0 );
		}

		$GLOBALS['wpdb']->hide_errors();
	}


	/**
	 * Send headers
	 */
	private static function send_headers() {
		send_origin_headers();
		@header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
		@header( 'X-Robots-Tag: noindex' );
		send_nosniff_header();
		nocache_headers();
		status_header( 200 );
	}


	/**
	 * Check for AW Ajax request and fire action.
	 */
	static function do_ajax() {
		if ( empty( $_GET['aw-ajax'] ) )
			return;

		if ( ! $action = sanitize_text_field( $_GET['aw-ajax'] ) )
			return;

		self::send_headers();
		do_action( 'automatewoo/ajax/' . sanitize_text_field( $action ) );
		wp_die();
	}


	/**
	 * @param mixed $data
	 */
	static function send_json_success( $data = null ) {
		do_action( 'automatewoo/ajax/before_send_json' );
		wp_send_json_success( $data );
	}


	/**
	 * @param mixed $data
	 */
	static function send_json_error( $data = null ) {
		do_action( 'automatewoo/ajax/before_send_json' );
		wp_send_json_error( $data );
	}


}