| Server IP : 121.121.20.254 / Your IP : 216.73.216.202 Web Server : Microsoft-IIS/10.0 System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64 User : IUSR ( 0) PHP Version : 8.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/KnowledgeBase/wp-content/plugins/betterdocs/includes/Admin/Builder/ |
Upload File : |
<?php
namespace WPDeveloper\BetterDocs\Admin\Builder;
use JsonSerializable;
class Rule implements JsonSerializable {
public $condition;
public $name;
public $value;
public function __construct( $condition, $name, $value ) {
$this->condition = $condition;
$this->name = $name;
$this->value = $value;
}
public function add_value( $value ) {
if ( ! is_array( $this->value ) ) {
$this->value = [$this->value];
}
if ( is_a( $value, 'NotificationX\Core\Rule' ) ) {
$value = $value->value;
}
if ( is_array( $value ) ) {
$this->value = array_merge( $this->value, $value );
} else {
$this->value[] = $value;
}
$this->value = array_values( array_unique( $this->value ) );
}
public function can_add( $rule ) {
if ( $this->condition == 'includes' && $this->condition == $rule->condition && $this->name == $rule->name ) {
return true;
}
return false;
}
#[\ReturnTypeWillChange]
public function jsonSerialize() {
return [
$this->condition,
$this->name,
$this->value
];
}
}