mirror of
https://github.com/proelements/proelements.git
synced 2026-04-20 11:02:16 +00:00
v3.33.1
This commit is contained in:
40
modules/display-conditions/classes/or-condition.php
Normal file
40
modules/display-conditions/classes/or-condition.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?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 );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user