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/admin/controllers/preview.php
<?php
// phpcs:ignoreFile

namespace AutomateWoo\Admin\Controllers;

if ( ! defined( 'ABSPATH' ) ) exit;

use AutomateWoo\Admin;
use AutomateWoo\Clean;
use AutomateWoo\Exceptions\InvalidPreviewData;
use AutomateWoo\Preview_Data;

/**
 * @class Preview
 */
class Preview extends Base {


	function handle() {
		switch( $this->get_current_action() ) {
			case 'loading':
				$this->output_loader();
				break;
			case 'preview-ui':
				$this->output_preview_ui();
				break;
		}
	}


	function output_loader() {
		Admin::get_view( 'email-preview-loader' );
	}


	function output_preview_ui() {

		$type = Clean::string( aw_request('type') );
		$args = Clean::recursive( aw_request('args') );

		$iframe_url = add_query_arg([
			'action' => 'aw_email_preview_iframe',
			'type' => $type,
			'args' => $args
		], admin_url( 'admin-ajax.php' ) );


		switch ( $type ) {
			case 'workflow_action':
				try {
					$action = Preview_Data::generate_preview_action( $args['workflow_id'], $args['action_number'] );
				} catch ( InvalidPreviewData $e ) {
					return wp_die( $e->getMessage() );
				}

				$email_subject = $action->get_option('subject', true );
				$template = $action->get_option( 'template' );
				break;

			default:
				$email_subject = '';
				$template = '';
		}

		$email_subject = apply_filters( 'automatewoo/email_preview/subject', $email_subject, $type, $args );
		$template = apply_filters( 'automatewoo/email_preview/template', $template, $type, $args );

		Admin::get_view('email-preview-ui', [
			'iframe_url' => $iframe_url,
			'type' => $type,
			'args' => $args,
			'email_subject' => $email_subject,
			'template' => $template
		]);

	}


}

return new Preview();