Example #1
0
 public function evaluate(Rule $rule)
 {
     if (is_array($rule->getLeft())) {
         return !in_array($rule->getRight(), $rule->getLeft());
     } else {
         return false === strpos($rule->getLeft(), $rule->getRight()) ? true : false;
     }
 }
Example #2
0
 /**
  * When both sides are array, it will determine if ALL of $rule->getRight()'s items
  * are inside the $param.
  *
  * @param  Opifer\RulesEngine\Rule\Rule
  * @return boolean
  */
 public function evaluate(Rule $rule)
 {
     if (is_array($rule->getLeft()) && is_array($rule->getRight())) {
         $intersect = array_intersect($rule->getLeft(), $rule->getRight());
         if (array_diff($rule->getRight(), $intersect)) {
             return false;
         }
         return true;
     } elseif (is_array($rule->getLeft()) && !is_array($rule->getRight())) {
         return in_array($rule->getRight(), $rule->getLeft());
     } elseif (!is_array($rule->getLeft()) && is_array($rule->getRight())) {
         return in_array($rule->getLeft(), $rule->getRight());
     }
     return false;
 }
Example #3
0
 public function evaluate(Rule $rule)
 {
     return $rule->getLeft() > $rule->getRight();
 }
Example #4
0
 public function evaluate(Rule $rule)
 {
     return preg_match($rule->getLeft(), $rule->getRight()) ? true : false;
 }