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/mailer-api.php
<?php
// phpcs:ignoreFile
/**
 * Static mailer API.
 *
 * Used to display dynamic AW content in email template files.
 *
 * @class AW_Mailer_API
 */
class AW_Mailer_API {

	/** @var AutomateWoo\Mailer */
	static $mailer;

	/** @var AutomateWoo\Workflow*/
	static $workflow;


	/**
	 * @param AutomateWoo\Mailer $mailer
	 * @param AutomateWoo\Workflow $workflow
	 */
	static function setup( $mailer, $workflow ) {
		self::$mailer = $mailer;
		self::$workflow = $workflow;
	}


	static function cleanup() {
		self::$mailer = false;
		self::$workflow = false;
	}


	/**
	 * @return bool|string
	 */
	static function email() {
		if ( ! self::$mailer ) return false;
		return self::$mailer->email;
	}


	/**
	 * @return bool|string
	 */
	static function subject() {
		if ( ! self::$mailer ) return false;
		return self::$mailer->subject;
	}


	/**
	 * @return bool|string
	 */
	static function unsubscribe_url() {
		if ( ! self::$workflow ) return false;
		$customer = AutomateWoo\Customer_Factory::get_by_email( self::email() );
		return self::$workflow->get_unsubscribe_url( $customer );
	}


	/**
	 * $variable parameter doesn't need curly braces. E.g.
	 *
	 * "customer.email"
	 * "order.items | template: 'order-table'"
	 *
	 * @since 3.9
	 *
	 * @param string $variable
	 * @return bool|string
	 */
	static function variable( $variable ) {
		if ( ! self::$workflow ) {
			return self::$workflow->process_variable( $variable );
		}
		return false;
	}


	/**
	 * @param WC_Product $product
	 * @param string $size
	 * @return array|false|string
	 */
	static function get_product_image( $product, $size = 'shop_catalog' ) {

		if ( $image_id = $product->get_image_id() ) {
			$image_url = wp_get_attachment_image_url( $image_id, $size );

			$image = '<img src="' . esc_url( $image_url ) . '" class="aw-product-image" alt="'. esc_attr( $product->get_name() ) .'">';

			return apply_filters( 'automatewoo/email/product_image', $image, $size, $product );
		} else {
			return apply_filters( 'automatewoo/email/product_placeholder_image', wc_placeholder_img( $size ), $size, $product );
		}
	}

}