Fixed bug #9442: SQL LIKE wildcards are not escaped correctly for list queries
authorOliver Hader <oliver.hader@typo3.org>
Wed, 1 Oct 2008 15:16:22 +0000 (15:16 +0000)
committerOliver Hader <oliver.hader@typo3.org>
Wed, 1 Oct 2008 15:16:22 +0000 (15:16 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@4266 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_db.php

index 21771f7..7a89d19 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-10-01  Oliver Hader  <oliver@typo3.org>
+
+       * Fixed bug #9442: SQL LIKE wildcards are not escaped correctly for list queries
+
 2008-10-01  Ernesto Baschny  <ernst@cron-it.de>
 
        * Added feature #6525: .wrapItemAndSub property for GMENU
index 4305609..6a004b1 100755 (executable)
@@ -503,8 +503,9 @@ class t3lib_DB {
         * @return      string          WHERE clause for a query
         */
        function listQuery($field, $value, $table)      {
-               $command = $this->quoteStr($value, $table);
-               $where = '('.$field.' LIKE \'%,'.$command.',%\' OR '.$field.' LIKE \''.$command.',%\' OR '.$field.' LIKE \'%,'.$command.'\' OR '.$field.'=\''.$command.'\')';
+               $pattern = $this->quoteStr($value, $table);
+               $patternForLike = $this->escapeStrForLike($pattern, $table);
+               $where = '('.$field.' LIKE \'%,'.$patternForLike.',%\' OR '.$field.' LIKE \''.$patternForLike.',%\' OR '.$field.' LIKE \'%,'.$patternForLike.'\' OR '.$field.'=\''.$pattern.'\')';
                return $where;
        }