403Webshell
Server IP : 38.190.208.107  /  Your IP : 216.73.217.46
Web Server : nginx/1.28.1
System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64
User : root ( 0)
PHP Version : 8.2.28
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/wp.3/wp-content/plugins/woocommerce/packages/blueprint/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/wp.3/wp-content/plugins/woocommerce/packages/blueprint/src/StepProcessorResult.php
<?php

namespace Automattic\WooCommerce\Blueprint;

use InvalidArgumentException;

/**
 * A class returned by StepProcessor classes containing result of the process and messages.
 */
class StepProcessorResult {
	const MESSAGE_TYPES = array( 'error', 'info', 'debug', 'warn' );

	/**
	 * Messages
	 *
	 * @var array $messages
	 */
	private array $messages = array();

	/**
	 * Indicate whether the process was success or not
	 *
	 * @var bool $success
	 */
	private bool $success;

	/**
	 * Step name
	 *
	 * @var string $step_name
	 */
	private string $step_name;

	/**
	 * Construct.
	 *
	 * @param bool   $success Indicate whether the process was success or not.
	 * @param string $step_name The name of the step.
	 */
	public function __construct( bool $success, string $step_name ) {
		$this->success   = $success;
		$this->step_name = $step_name;
	}

	/**
	 * Get messages.
	 *
	 * @param string $step_name The name of the step.
	 *
	 * @return void
	 */
	public function set_step_name( $step_name ) {
		$this->step_name = $step_name;
	}

	/**
	 * Create a new instance with $success = true.
	 *
	 * @param string $stp_name The name of the step.
	 *
	 * @return StepProcessorResult
	 */
	public static function success( string $stp_name ): self {
		return ( new self( true, $stp_name ) );
	}


	/**
	 * Add a new message.
	 *
	 * @param string $message message.
	 * @param string $type one of error, info.
	 *
	 * @throws InvalidArgumentException When incorrect type is given.
	 * @return void
	 */
	public function add_message( string $message, string $type = 'error' ) {
		if ( ! in_array( $type, self::MESSAGE_TYPES, true ) ) {
			// phpcs:ignore
			throw new InvalidArgumentException( "{$type} is not allowed. Type must be one of " . implode( ',', self::MESSAGE_TYPES ) );
		}

		$this->messages[] = compact( 'message', 'type' );
	}

	/**
	 * Merge messages from another StepProcessorResult instance.
	 *
	 * @param StepProcessorResult $other The other StepProcessorResult instance.
	 *
	 * @return void
	 */
	public function merge_messages( StepProcessorResult $other ) {
		$this->messages = array_merge( $this->messages, $other->get_messages() );
	}

	/**
	 * Add a new error message.
	 *
	 * @param string $message message.
	 *
	 * @return void
	 */
	public function add_error( string $message ) {
		$this->add_message( $message );
	}

	/**
	 * Add a new debug message.
	 *
	 * @param string $message message.
	 *
	 * @return void
	 */
	public function add_debug( string $message ) {
		$this->add_message( $message, 'debug' );
	}


	/**
	 * Add a new info message.
	 *
	 * @param string $message message.
	 *
	 * @return void
	 */
	public function add_info( string $message ) {
		$this->add_message( $message, 'info' );
	}

	/**
	 * Add a new warn message.
	 *
	 * @param string $message message.
	 *
	 * @return void
	 */
	public function add_warn( string $message ) {
		$this->add_message( $message, 'warn' );
	}

	/**
	 * Filter messages.
	 *
	 * @param string $type one of all, error, and info.
	 *
	 * @return array
	 */
	public function get_messages( string $type = 'all' ): array {
		if ( 'all' === $type ) {
			return $this->messages;
		}

		return array_filter(
			$this->messages,
			function ( $message ) use ( $type ) {
				return $type === $message['type'];
			}
		);
	}

	/**
	 * Check to see if the result was success.
	 *
	 * @return bool
	 */
	public function is_success(): bool {
		return true === $this->success && 0 === count( $this->get_messages( 'error' ) );
	}

	/**
	 * Get the name of the step.
	 *
	 * @return string The name of the step.
	 */
	public function get_step_name() {
		return $this->step_name;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit