Beispiel #1
0
 /**
  * Сравнение контекста с правилом
  * @param nc_search_extension_rule $rule
  * @return boolean
  */
 public function conforms_to(nc_search_extension_rule $rule)
 {
     foreach ($this->properties as $key => $this_value) {
         // Значение NULL у свойства контекста означает «любое значение»
         if ($this_value === null) {
             continue;
         }
         if (!$rule->has_property($key)) {
             continue;
         }
         $rule_value = $rule->get($key);
         // Пустое значение у свойства правила расширения означает «любое значение»
         if ($rule_value !== null && $rule_value != '' && $rule_value != $this_value) {
             return false;
         }
     }
     return true;
 }