/** * Adds conditions, matches and where clauses to the query * @param IKalturaIndexQuery $query */ public function applyCondition(IKalturaDbQuery $query) { switch ($this->getComparison()) { case KalturaSearchConditionComparison::EQUAL: $comparison = ' = '; break; case KalturaSearchConditionComparison::GREATER_THAN: $comparison = ' > '; break; case KalturaSearchConditionComparison::GREATER_THAN_OR_EQUAL: $comparison = ' >= '; break; case KalturaSearchConditionComparison::LESS_THAN: $comparison = " < "; break; case KalturaSearchConditionComparison::LESS_THAN_OR_EQUAL: $comparison = " <= "; break; case KalturaSearchConditionComparison::NOT_EQUAL: $comparison = " <> "; break; default: KalturaLog::ERR("Missing comparison type"); return; } $field = $this->getField(); $value = $this->getValue(); $fieldValue = $this->getFieldValue($field); if (is_null($fieldValue)) { KalturaLog::err('Unknown field [' . $field . ']'); return; } $newCondition = $fieldValue . $comparison . KalturaCriteria::escapeString($value); $query->addCondition($newCondition); }
/** * Adds conditions, matches and where clauses to the query * @param IKalturaDbQuery $query */ public function applyCondition(IKalturaDbQuery $query) { if (!$query instanceof IKalturaIndexQuery) { return; } $matchText = '"' . KalturaCriteria::escapeString($this->value) . '"'; if ($this->not) { $matchText = '!' . $matchText; } $query->addMatch("@{$this->field} (" . $matchText . ")"); }
public static function escapeString($str, $escapeType = SearchIndexFieldEscapeType::DEFAULT_ESCAPE, $iterations = 2) { return KalturaCriteria::escapeString($str, $escapeType, $iterations); }