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/Fields/Workflow.php
<?php
// phpcs:ignoreFile

namespace AutomateWoo\Fields;

use AutomateWoo\Clean;

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

/**
 * @class Workflow
 */
class Workflow extends Select {

	protected $name = 'workflow';

	/** @var array  */
	public $query_args = [];


	/**
	 * @param bool $show_placeholder
	 */
	function __construct( $show_placeholder = true ) {
		parent::__construct( $show_placeholder );
		$this->set_title( __( 'Workflow', 'automatewoo' ) );
	}


	/**
	 * @return array
	 */
	function get_options() {

		$args = array_merge([
			'post_type' => 'aw_workflow',
			'post_status' => 'any',
			'posts_per_page' => -1
		], $this->query_args );

		$workflows = new \WP_Query($args);

		$options = [];

		if ( $workflows->have_posts() ) {
			foreach( $workflows->posts as $workflow ) {
				$options[$workflow->ID] = $workflow->post_title;
			}
		}

		return $options;
	}


	/**
	 * @param $key
	 * @param $value
	 * @return $this
	 */
	function add_query_arg( $key, $value ) {
		$this->query_args[$key] = $value;
		return $this;
	}


	/**
	 * Sanitizes the value of the field.
	 *
	 * @since 4.4.0
	 *
	 * @param array|string $value
	 *
	 * @return array|string
	 */
	function sanitize_value( $value ) {
		if ( $this->multiple ) {
			return Clean::ids( $value );
		}
		else{
			return Clean::id( $value );
		}
	}

}