/**
  * {@inheritDoc}
  */
 public function walkComparison(Comparison $comparison)
 {
     $field = $comparison->getField();
     $value = $comparison->getValue()->getValue();
     // shortcut for walkValue()
     switch ($comparison->getOperator()) {
         case Comparison::EQ:
         case Comparison::IS:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) === $value;
             };
         case Comparison::NEQ:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) !== $value;
             };
         case Comparison::LT:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) < $value;
             };
         case Comparison::LTE:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) <= $value;
             };
         case Comparison::GT:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) > $value;
             };
         case Comparison::GTE:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) >= $value;
             };
         case Comparison::IN:
             return function ($object) use($field, $value) {
                 return in_array(ClosureExpressionVisitor::getObjectFieldValue($object, $field), $value);
             };
         case Comparison::NIN:
             return function ($object) use($field, $value) {
                 return !in_array(ClosureExpressionVisitor::getObjectFieldValue($object, $field), $value);
             };
         default:
             throw new \RuntimeException("Unknown comparison operator: " . $comparison->getOperator());
     }
 }
Exemple #2
0
 private function parseWhereClause(Request $request)
 {
     $this->where = array();
     $i = 0;
     $filters = $request->getParameter("filter");
     if (count($filters) > 0) {
         while (isset($filters[$i]) && isset($filters[$i]['field'])) {
             $filter = $filters[$i];
             $field = $filter['field'];
             $type = isset($filter['data']['type']) ? $filter['data']['type'] : null;
             $value = isset($filter['data']['value']) ? $filter['data']['value'] : null;
             if ("string" == $type) {
                 $this->where[] = new StringWhereClause($field, $value, Comparison::LIKE());
             } else {
                 if ("list" == $type) {
                     $value = explode(',', $value);
                     $this->where[] = new ListWhereClause($field, $value, true);
                 } else {
                     if ("numeric" == $type) {
                         $comp = Comparison::valueOf(strtoupper($filter['data']['comparison']));
                         $this->where[] = new NumericWhereClause($field, floatval($value), $comp);
                     } else {
                         if ("date" == $type) {
                             $comp = Comparison::valueOf(strtoupper($filter['data']['comparison']));
                             $this->where[] = new DateWhereClause($field, $value, $comp);
                         } else {
                             if ("boolean" == $type) {
                                 $this->where[] = new BooleanWhereClause($field, intval($value) == 1 || $value == 'true');
                             } else {
                                 if ("null" == $type) {
                                     $this->where[] = new NullWhereClause($field, intval($value) == 1);
                                 }
                             }
                         }
                     }
                 }
             }
             $i++;
         }
     }
 }
 public function __construct($field, $value, $dqlAlias = null)
 {
     parent::__construct(self::GT, $field, $value, $dqlAlias);
 }
 /**
  * __construct
  *
  * @param mixed $left  The left side of the expression
  * @param mixed $right The right side of the expression
  */
 public function __construct($left, $right)
 {
     parent::__construct($left, $right, static::NLK);
 }
 /**
  * __construct
  *
  * @param mixed $left  The left side of the expression
  * @param mixed $right The right side of the expression
  */
 public function __construct($left, $right, $bind = true)
 {
     parent::__construct($left, $right, static::EQ, $bind);
 }
Exemple #6
0
 public function __construct($field, $isNull)
 {
     parent::__construct($field, $isNull, Comparison::EQ());
 }
 public function __construct($field, $value, $format = self::CONTAINS, $dqlAlias = null)
 {
     $formattedValue = $this->formatValue($format, $value);
     parent::__construct(self::LIKE, $field, $formattedValue, $dqlAlias);
 }
 /**
  * {@inheritDoc}
  */
 public function walkComparison(Comparison $comparison)
 {
     $field = $comparison->getField();
     $value = $comparison->getValue()->getValue();
     // shortcut for walkValue()
     switch ($comparison->getOperator()) {
         case Comparison::EQ:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) === $value;
             };
         case Comparison::NEQ:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) !== $value;
             };
         case Comparison::LT:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) < $value;
             };
         case Comparison::LTE:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) <= $value;
             };
         case Comparison::GT:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) > $value;
             };
         case Comparison::GTE:
             return function ($object) use($field, $value) {
                 return ClosureExpressionVisitor::getObjectFieldValue($object, $field) >= $value;
             };
         case Comparison::IN:
             return function ($object) use($field, $value) {
                 return in_array(ClosureExpressionVisitor::getObjectFieldValue($object, $field), $value);
             };
         case Comparison::NIN:
             return function ($object) use($field, $value) {
                 return !in_array(ClosureExpressionVisitor::getObjectFieldValue($object, $field), $value);
             };
         case Comparison::CONTAINS:
             return function ($object) use($field, $value) {
                 return false !== strpos(ClosureExpressionVisitor::getObjectFieldValue($object, $field), $value);
             };
         case Comparison::MEMBER_OF:
             return function ($object) use($field, $value) {
                 $fieldValues = ClosureExpressionVisitor::getObjectFieldValue($object, $field);
                 if (!is_array($fieldValues)) {
                     $fieldValues = iterator_to_array($fieldValues);
                 }
                 return in_array($value, $fieldValues);
             };
         case Comparison::STARTS_WITH:
             return function ($object) use($field, $value) {
                 return 0 === strpos(ClosureExpressionVisitor::getObjectFieldValue($object, $field), $value);
             };
         case Comparison::ENDS_WITH:
             return function ($object) use($field, $value) {
                 return $value === substr(ClosureExpressionVisitor::getObjectFieldValue($object, $field), -strlen($value));
             };
         default:
             throw new \RuntimeException("Unknown comparison operator: " . $comparison->getOperator());
     }
 }
<?php

$secretkey = "klucz";
/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
require "Model\\Comparison.php";
parse_str(implode('&', array_slice($argv, 1)), $_GET);
$apikey = $_GET['key'];
$urlFile = $_GET['file'];
if ($apikey == $secretkey) {
    if (isset($urlFile)) {
        $dane = new Comparison();
        print_r($dane->init($urlFile));
        echo "Memory Usage: " . memory_get_usage() / 1048576 . " MB \n";
    }
} else {
    echo "Klucz API nieprawidłowy";
}
 public function __construct($operator, $value)
 {
     parent::__construct(null, $operator, $value);
 }