/** * {@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()); } }
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); }
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); }