Submit
Path:
~
/
home
/
getwphos
/
www
/
almajd14
/
wp-content
/
plugins
/
woocommerce
/
src
/
Admin
/
RemoteSpecs
/
RuleProcessors
/
File Content:
RuleEvaluator.php
<?php /** * Evaluate the given rules as an AND operation - return false early if a * rule evaluates to false. */ namespace Automattic\WooCommerce\Admin\RemoteSpecs\RuleProcessors; defined( 'ABSPATH' ) || exit; /** * Evaluate the given rules as an AND operation - return false early if a * rule evaluates to false. */ class RuleEvaluator { /** * GetRuleProcessor to use. * * @var GetRuleProcessor */ private $get_rule_processor; /** * 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|null $stored_state Stored state. * @param array $logger_args Arguments for the rule evaluator logger. `slug` is required. * * @throws \InvalidArgumentException Thrown when $logger_args is missing slug. * * @return bool The result of the operation. */ public function evaluate( $rules, $stored_state = null, $logger_args = array() ) { if ( is_bool( $rules ) ) { return $rules; } if ( ! is_array( $rules ) ) { $rules = array( $rules ); } if ( 0 === count( $rules ) ) { return false; } $evaluation_logger = null; if ( count( $logger_args ) ) { if ( ! array_key_exists( 'slug', $logger_args ) ) { throw new \InvalidArgumentException( 'Missing required field: slug in $logger_args.' ); } $source = isset( $logger_args['source'] ) ? $logger_args['source'] : null; $evaluation_logger = new EvaluationLogger( $logger_args['slug'], $source ); } foreach ( $rules as $rule ) { if ( ! is_object( $rule ) ) { $evaluation_logger && $evaluation_logger->add_result( 'rule not an object', false ); $evaluation_logger && $evaluation_logger->log(); return false; } $processor = $this->get_rule_processor->get_processor( $rule->type ); $processor_result = $processor->process( $rule, $stored_state ); $evaluation_logger && $evaluation_logger->add_result( $rule->type, $processor_result ); if ( ! $processor_result ) { $evaluation_logger && $evaluation_logger->log(); return false; } } $evaluation_logger && $evaluation_logger->log(); return true; } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
Transformers
---
0755
BaseLocationCountryRuleProcessor.php
2029 bytes
0644
BaseLocationStateRuleProcessor.php
1261 bytes
0644
ComparisonOperation.php
2460 bytes
0644
ContextPluginsRuleProcessor.php
1870 bytes
0644
EvaluateAndGetStatus.php
1892 bytes
0644
EvaluateOverrides.php
2421 bytes
0644
EvaluationLogger.php
2100 bytes
0644
FailRuleProcessor.php
691 bytes
0644
GetRuleProcessor.php
2093 bytes
0644
GetRuleProcessorForContext.php
1073 bytes
0644
IsEcommerceRuleProcessor.php
1139 bytes
0644
IsWooExpressRuleProcessor.php
1920 bytes
0644
NotRuleProcessor.php
1344 bytes
0644
NoteStatusRuleProcessor.php
1324 bytes
0644
OnboardingProfileRuleProcessor.php
1447 bytes
0644
OptionRuleProcessor.php
3198 bytes
0644
OrRuleProcessor.php
1514 bytes
0644
OrderCountRuleProcessor.php
1342 bytes
0644
OrdersProvider.php
705 bytes
0644
PassRuleProcessor.php
777 bytes
0644
PluginVersionRuleProcessor.php
2227 bytes
0644
PluginsActivatedRuleProcessor.php
1875 bytes
0644
ProductCountRuleProcessor.php
1668 bytes
0644
PublishAfterTimeRuleProcessor.php
1502 bytes
0644
PublishBeforeTimeRuleProcessor.php
1508 bytes
0644
RuleEvaluator.php
2505 bytes
0644
RuleProcessorInterface.php
659 bytes
0644
StoredStateRuleProcessor.php
1256 bytes
0644
StoredStateSetupForProducts.php
3692 bytes
0644
TotalPaymentsVolumeProcessor.php
2536 bytes
0644
WCAdminActiveForProvider.php
505 bytes
0644
WCAdminActiveForRuleProcessor.php
2026 bytes
0644
WooCommerceAdminUpdatedRuleProcessor.php
974 bytes
0644
N4ST4R_ID | Naxtarrr