From 7a1a78947464f765f132022e8f0a9ca86cb08ebe Mon Sep 17 00:00:00 2001
From: Christian Kuhn <lolli@schwarzbu.ch>
Date: Sun, 21 Aug 2016 16:39:17 +0200
Subject: [PATCH] [TASK] Doctrine: Migrate escapeStrForLike()

Change-Id: I512fd11f9ee0aa43c568b37cb0d30041aaba22c2
Resolves: #77560
Releases: master
Reviewed-on: https://review.typo3.org/49523
Tested-by: Bamboo TYPO3com <info@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
---
 .../Domain/Repository/BackendUserRepository.php  |  3 ++-
 .../ViewHelpers/Menu/KeywordsViewHelper.php      | 16 +++++-----------
 2 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php b/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php
index fbe3ab1e37e9..5b983f2e5220 100644
--- a/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php
+++ b/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php
@@ -50,9 +50,10 @@ class BackendUserRepository extends \TYPO3\CMS\Extbase\Domain\Repository\Backend
         // Username
         if ($demand->getUserName() !== '') {
             $searchConstraints = array();
+            $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('be_users');
             foreach (array('userName', 'uid', 'realName') as $field) {
                 $searchConstraints[] = $query->like(
-                    $field, '%' . $GLOBALS['TYPO3_DB']->escapeStrForLike($demand->getUserName(), 'be_users') . '%'
+                    $field, '%' . $queryBuilder->escapeLikeWildcards($demand->getUserName()) . '%'
                 );
             }
             $constraints[] = $query->logicalOr($searchConstraints);
diff --git a/typo3/sysext/fluid_styled_content/Classes/ViewHelpers/Menu/KeywordsViewHelper.php b/typo3/sysext/fluid_styled_content/Classes/ViewHelpers/Menu/KeywordsViewHelper.php
index 0faef7968e08..c9d68dfa0eb6 100644
--- a/typo3/sysext/fluid_styled_content/Classes/ViewHelpers/Menu/KeywordsViewHelper.php
+++ b/typo3/sysext/fluid_styled_content/Classes/ViewHelpers/Menu/KeywordsViewHelper.php
@@ -13,7 +13,9 @@ namespace TYPO3\CMS\FluidStyledContent\ViewHelpers\Menu;
  *
  * The TYPO3 project - inspiring people to share!
  */
-use TYPO3\CMS\Core\Database\DatabaseConnection;
+
+use TYPO3\CMS\Core\Database\ConnectionPool;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
  * A view helper which returns pages with one of the same keywords as the given pages
@@ -109,9 +111,9 @@ class KeywordsViewHelper extends AbstractMenuViewHelper
 
         $keywordConstraints = array();
         if ($filteredKeywords) {
-            $db = $this->getDatabaseConnection();
+            $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('pages');
             foreach ($filteredKeywords as $keyword) {
-                $keyword = $db->fullQuoteStr('%' . $db->escapeStrForLike($keyword, 'pages') . '%', 'pages');
+                $keyword = $queryBuilder->quote('%' . $queryBuilder->escapeLikeWildcards($keyword) . '%');
                 $keywordConstraints[] = 'keywords LIKE ' . $keyword;
             }
             $constraints .= ' AND (' . implode(' OR ', $keywordConstraints) . ')';
@@ -152,12 +154,4 @@ class KeywordsViewHelper extends AbstractMenuViewHelper
 
         return array_filter(array_map('trim', $keywordList));
     }
-
-    /**
-     * @return DatabaseConnection
-     */
-    protected function getDatabaseConnection()
-    {
-        return $GLOBALS['TYPO3_DB'];
-    }
 }
-- 
GitLab