2024-05-06 11:04:37 +07:00

41 lines
821 B
PHP

<?php
namespace ElementorPro\Modules\DisplayConditions\Classes;
class Or_Condition {
/**
* @var $conditions_manager Object
*/
private $conditions_manager;
/**
* @var $and_conditions And_Condition[]
*/
private $and_conditions;
public function __construct( $conditions_manager, $sets ) {
$this->conditions_manager = $conditions_manager;
$this->set_and_conditions( $sets );
}
public function check() {
if ( empty( $this->and_conditions ) ) {
return true;
}
foreach ( $this->and_conditions as $condition ) {
if ( $condition->check() ) {
return true;
}
}
return false;
}
private function set_and_conditions( $groups ) {
$this->and_conditions = array_map( function ( $condition ) {
return new And_Condition( $this->conditions_manager, $condition );
}, $groups );
}
}