From 052d31c1680fa78df43199bc47dfe7327ac3abd3 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 22 Mar 2011 19:14:01 +0000 Subject: [PATCH] (partial) backport of 33571 to fix case-sensitive like and infinite loop with OR --- etemplate/inc/class.so_sql.inc.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/etemplate/inc/class.so_sql.inc.php b/etemplate/inc/class.so_sql.inc.php index 043a4367c0..8ac2f5b160 100644 --- a/etemplate/inc/class.so_sql.inc.php +++ b/etemplate/inc/class.so_sql.inc.php @@ -1115,6 +1115,7 @@ class so_sql } elseif ($token == strtoupper(lang('OR')) || $token == 'OR') { + $token = strtok($break); continue; } elseif ($token == strtoupper(lang('NOT')) || $token == 'NOT') @@ -1159,7 +1160,7 @@ class so_sql $op = 'OR'; break; } - $token_filter = " $columns LIKE " . + $token_filter = " $columns " . $this->db->capabilities['case_insensitive_like'] . ' ' . $GLOBALS['egw']->db->quote($wildcard.str_replace(array('%','_','*','?'),array('\\%','\\_','%','_'),$token).$wildcard); // Compare numeric token as equality for numeric columns