Commit af5d03c03bc25adca447d8b7f624b86eacea0034

Authored by conradverm
1 parent 75750751

KTS-3163

"Wildcard search on metadata inconsistent with full text content search"
Fixed.

Committed By: Conrad Vermeulen
Reviewed By: Megan Watson

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@8260 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 18 additions and 15 deletions
search2/search/expr.inc.php
... ... @@ -591,22 +591,25 @@ class ValueExpr extends Expr
591 591 public function getSQL($field, $fieldname, $op, $not=false)
592 592 {
593 593 $val = $this->getValue();
594   - switch($op)
595   - {
596   - case ExprOp::LIKE:
597   -
598   - break;
599   - case ExprOp::CONTAINS:
600   - $val = "%$val%";
601   - break;
602   - case ExprOp::STARTS_WITH:
603   - $val = "$val%";
604   - break;
605   - case ExprOp::ENDS_WITH:
606   - $val = "%$val";
607   - break;
608   - }
  594 + if (strpos($val, '*') !== false || strpos($val, '?') !== false)
  595 + {
  596 + $val = str_replace(array('?','*'), array('%','%'), $val);
  597 + }
609 598  
  599 + switch($op)
  600 + {
  601 + case ExprOp::LIKE:
  602 + break;
  603 + case ExprOp::CONTAINS:
  604 + $val = "%$val%";
  605 + break;
  606 + case ExprOp::STARTS_WITH:
  607 + $val = "$val%";
  608 + break;
  609 + case ExprOp::ENDS_WITH:
  610 + $val = "%$val";
  611 + break;
  612 + }
610 613  
611 614 $val = $field->modifyValue($val);
612 615 $quote = '';
... ...