Server IP : 172.67.158.161 / Your IP : 3.144.21.226 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/cwd/wp-content/plugins/woocommerce/packages/woocommerce-admin/src/RemoteInboxNotifications/ |
Upload File : |
<?php /** * Evaluate the given rules as an AND operation - return false early if a * rule evaluates to false. */ namespace Automattic\WooCommerce\Admin\RemoteInboxNotifications; defined( 'ABSPATH' ) || exit; /** * Evaluate the given rules as an AND operation - return false early if a * rule evaluates to false. */ class RuleEvaluator { /** * Constructor. * * @param GetRuleProcessor $get_rule_processor The GetRuleProcessor to use. */ public function __construct( $get_rule_processor = null ) { $this->get_rule_processor = null === $get_rule_processor ? new GetRuleProcessor() : $get_rule_processor; } /** * Evaluate the given rules as an AND operation - return false early if a * rule evaluates to false. * * @param array|object $rules The rule or rules being processed. * @param object $stored_state Stored state. * * @return bool The result of the operation. */ public function evaluate( $rules, $stored_state ) { if ( ! is_array( $rules ) ) { $rules = array( $rules ); } if ( 0 === count( $rules ) ) { return false; } foreach ( $rules as $rule ) { $processor = $this->get_rule_processor->get_processor( $rule->type ); $processor_result = $processor->process( $rule, $stored_state ); if ( ! $processor_result ) { return false; } } return true; } }