Skip to content

Commit

Permalink
[TASK] Migrate database queries
Browse files Browse the repository at this point in the history
  • Loading branch information
christianbltr committed Sep 20, 2024
1 parent 1c72f2a commit acb5243
Show file tree
Hide file tree
Showing 24 changed files with 167 additions and 125 deletions.
1 change: 1 addition & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Upcoming version for TYPO3 13
[TASK] Migrate registration of status dashboard widget, https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Breaking-96812-NoFrontendTypoScriptBasedTemplateOverridesInTheBackend.html#widget-registration-using-services-yaml
[TASK] Don't use QueryBuilder->add() anymore because it has been removed, https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/13.0/Breaking-102875-QueryBuilderChanges.html
[TASK] Remove language-related function from AbstractPlugin and use custom translate function instead
[TASK] Migrate database queries to use type constants from Connection instead of PDO, https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Database/QueryBuilder/Index.html#database-query-builder-create-named-parameter

Version 5.5.2, 23 August 2024
[BUGFIX] Fix cropping if "resultChars" is empty. Thanks to Andreas Kießling. https://github.com/tpwd/ke_search/issues/242
Expand Down
9 changes: 5 additions & 4 deletions Classes/Controller/BackendModuleController.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
use TYPO3\CMS\Backend\Utility\BackendUtility;
use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Http\HtmlResponse;
use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Page\PageRenderer;
Expand Down Expand Up @@ -469,7 +470,7 @@ public function getLastIndexingReport()
->where(
$queryBuilder->expr()->like(
'details',
$queryBuilder->quote('[ke_search]%', \PDO::PARAM_STR)
$queryBuilder->createNamedParameter('[ke_search]%', Connection::PARAM_STR)
)
)
->orderBy('tstamp', 'DESC')
Expand Down Expand Up @@ -690,11 +691,11 @@ public function getSearchwordStatistics($pageUid, $days)
->where(
$queryBuilder->expr()->gt(
'tstamp',
$queryBuilder->quote($timestampStart, \PDO::PARAM_INT)
$queryBuilder->createNamedParameter($timestampStart, Connection::PARAM_INT)
),
$queryBuilder->expr()->eq(
$isSysFolder ? 'pid' : 'pageid',
$queryBuilder->quote($pageUid, \PDO::PARAM_INT)
$queryBuilder->createNamedParameter($pageUid, Connection::PARAM_INT)
)
)
->groupBy('language')
Expand Down Expand Up @@ -777,7 +778,7 @@ public function checkSysfolder()
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->quote($this->pageId, \PDO::PARAM_INT)
$queryBuilder->createNamedParameter($this->pageId, Connection::PARAM_INT)
)
)
->setMaxResults(1)
Expand Down
5 changes: 2 additions & 3 deletions Classes/Domain/Repository/BaseRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

namespace Tpwd\KeSearch\Domain\Repository;

use PDO;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
Expand Down Expand Up @@ -84,7 +83,7 @@ public function findByUid($uid, bool $includeHiddenAndTimeRestricted = false)
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
)
)
->executeQuery()
Expand All @@ -111,7 +110,7 @@ public function findAllDeletedAndHiddenByPidListAndTimestampInAllLanguages(array
)
->andWhere(
$queryBuilder->expr()->in('pid', $queryBuilder->createNamedParameter($pidList, Connection::PARAM_INT_ARRAY)),
$queryBuilder->expr()->gte('tstamp', $queryBuilder->createNamedParameter($tstamp, PDO::PARAM_INT))
$queryBuilder->expr()->gte('tstamp', $queryBuilder->createNamedParameter($tstamp, Connection::PARAM_INT))
)
->executeQuery()
->fetchAllAssociative();
Expand Down
6 changes: 3 additions & 3 deletions Classes/Domain/Repository/CategoryRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

namespace Tpwd\KeSearch\Domain\Repository;

use PDO;
use Tpwd\KeSearch\Lib\SearchHelper;
use TYPO3\CMS\Core\Database\Connection;

/***************************************************************
* Copyright notice
Expand Down Expand Up @@ -47,7 +47,7 @@ public function findAllSubcategoriesByParentUid($categoryUid, bool $includeHidde
->where(
$queryBuilder->expr()->eq(
'parent',
$queryBuilder->createNamedParameter($categoryUid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($categoryUid, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down Expand Up @@ -92,7 +92,7 @@ public function findAssignedToRecord(string $tableName, int $uid, bool $includeH
),
$queryBuilder->expr()->eq(
$tableName . '.uid',
$queryBuilder->createNamedParameter($uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
),
$queryBuilder->expr()->eq(
'sys_category_record_mm.tablenames',
Expand Down
6 changes: 3 additions & 3 deletions Classes/Domain/Repository/ContentRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace Tpwd\KeSearch\Domain\Repository;

use PDO;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Utility\GeneralUtility;

Expand Down Expand Up @@ -66,7 +66,7 @@ public function findOneByUid($uid)
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down Expand Up @@ -94,7 +94,7 @@ public function findNewestByPid($pid, $removeRestrictions = false)
->where(
$queryBuilder->expr()->eq(
'pid',
$queryBuilder->createNamedParameter($pid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($pid, Connection::PARAM_INT)
)
)
->orderBy('tstamp', 'DESC')
Expand Down
6 changes: 3 additions & 3 deletions Classes/Domain/Repository/FileMetaDataRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace Tpwd\KeSearch\Domain\Repository;

use Doctrine\DBAL\Driver\Exception;
use PDO;
use TYPO3\CMS\Core\Database\Connection;

/***************************************************************
* Copyright notice
Expand Down Expand Up @@ -49,11 +49,11 @@ public function findByFileUidAndLanguageUid(int $fileUid, $languageUid)
->where(
$queryBuilder->expr()->eq(
'file',
$queryBuilder->createNamedParameter($fileUid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($fileUid, Connection::PARAM_INT)
),
$queryBuilder->expr()->eq(
'sys_language_uid',
$queryBuilder->createNamedParameter($languageUid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($languageUid, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down
11 changes: 5 additions & 6 deletions Classes/Domain/Repository/FileReferenceRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@

namespace Tpwd\KeSearch\Domain\Repository;

use Doctrine\DBAL\Connection as DoctrineDbalConnection;
use PDO;
use TYPO3\CMS\Core\Database\Connection;

/***************************************************************
* Copyright notice
Expand Down Expand Up @@ -56,19 +55,19 @@ public function findOneByTableAndFieldnameAndUidForeignAndLanguage(
),
$queryBuilder->expr()->eq(
'uid_foreign',
$queryBuilder->createNamedParameter($uid_foreign, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid_foreign, Connection::PARAM_INT)
),
$queryBuilder->expr()->in(
'sys_language_uid',
$queryBuilder->createNamedParameter($languageIds, DoctrineDbalConnection::PARAM_INT_ARRAY)
$queryBuilder->createNamedParameter($languageIds, Connection::PARAM_INT_ARRAY)
),
$queryBuilder->expr()->eq(
't3ver_state',
$queryBuilder->createNamedParameter(0, PDO::PARAM_INT)
$queryBuilder->createNamedParameter(0, Connection::PARAM_INT)
),
$queryBuilder->expr()->eq(
't3ver_wsid',
$queryBuilder->createNamedParameter(0, PDO::PARAM_INT)
$queryBuilder->createNamedParameter(0, Connection::PARAM_INT)
)
)
->orderBy('sorting_foreign', 'asc')
Expand Down
19 changes: 9 additions & 10 deletions Classes/Domain/Repository/FilterOptionRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace Tpwd\KeSearch\Domain\Repository;

use Doctrine\DBAL\Driver\Statement;
use PDO;
use Tpwd\KeSearch\Lib\SearchHelper;
use TYPO3\CMS\Core\Context\Context;
use TYPO3\CMS\Core\Database\Connection;
Expand Down Expand Up @@ -64,7 +63,7 @@ public function findByTagPrefix(string $tagPrefix, bool $includeHiddenAndTimeRes
->where(
$queryBuilder->expr()->like(
'tag',
$queryBuilder->createNamedParameter($tagPrefix . '%', PDO::PARAM_STR)
$queryBuilder->createNamedParameter($tagPrefix . '%', Connection::PARAM_STR)
)
)
->executeQuery()
Expand All @@ -89,11 +88,11 @@ public function findByTagPrefixAndLanguage(
->where(
$queryBuilder->expr()->like(
'tag',
$queryBuilder->createNamedParameter($tagPrefix . '%', PDO::PARAM_STR)
$queryBuilder->createNamedParameter($tagPrefix . '%', Connection::PARAM_STR)
),
$queryBuilder->expr()->eq(
'sys_language_uid',
$queryBuilder->createNamedParameter($sys_language_uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($sys_language_uid, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down Expand Up @@ -148,7 +147,7 @@ public function findByL10nParent(int $l10n_parent, bool $includeHiddenAndTimeRes
->where(
$queryBuilder->expr()->eq(
'l10n_parent',
$queryBuilder->createNamedParameter($l10n_parent, PDO::PARAM_STR)
$queryBuilder->createNamedParameter($l10n_parent, Connection::PARAM_STR)
)
)
->executeQuery()
Expand All @@ -169,7 +168,7 @@ public function findByTag(string $tag, bool $includeHiddenAndTimeRestricted = fa
->where(
$queryBuilder->expr()->eq(
'tag',
$queryBuilder->createNamedParameter($tag, PDO::PARAM_STR)
$queryBuilder->createNamedParameter($tag, Connection::PARAM_STR)
)
)
->executeQuery()
Expand All @@ -194,11 +193,11 @@ public function findByTagAndLanguage(
->where(
$queryBuilder->expr()->eq(
'tag',
$queryBuilder->createNamedParameter($tag, PDO::PARAM_STR)
$queryBuilder->createNamedParameter($tag, Connection::PARAM_STR)
),
$queryBuilder->expr()->eq(
'sys_language_uid',
$queryBuilder->createNamedParameter($sys_language_uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($sys_language_uid, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down Expand Up @@ -294,7 +293,7 @@ public function deleteByUid(int $filterOptionUid)
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($filterOptionUid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($filterOptionUid, Connection::PARAM_INT)
)
)
->executeStatement();
Expand Down Expand Up @@ -344,7 +343,7 @@ public function update(int $uid, array $updateFields)
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
)
);
foreach ($updateFields as $key => $value) {
Expand Down
5 changes: 3 additions & 2 deletions Classes/Domain/Repository/FilterRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Tpwd\KeSearch\Domain\Repository;

use Tpwd\KeSearch\Lib\SearchHelper;
use TYPO3\CMS\Core\Database\Connection;

/***************************************************************
* Copyright notice
Expand Down Expand Up @@ -46,7 +47,7 @@ public function findByL10nParent(int $l10n_parent, bool $includeHiddenAndTimeRes
->where(
$queryBuilder->expr()->eq(
'l10n_parent',
$queryBuilder->createNamedParameter($l10n_parent, \PDO::PARAM_INT)
$queryBuilder->createNamedParameter($l10n_parent, Connection::PARAM_INT)
)
)
->executeQuery()
Expand All @@ -66,7 +67,7 @@ public function update(int $uid, array $updateFields)
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
)
);
foreach ($updateFields as $key => $value) {
Expand Down
10 changes: 5 additions & 5 deletions Classes/Domain/Repository/GenericRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Tpwd\KeSearch\Domain\Repository;

use PDO;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
use TYPO3\CMS\Core\Database\Query\Restriction\EndTimeRestriction;
Expand Down Expand Up @@ -84,7 +84,7 @@ public function findByUidAndType($uid, string $type)
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down Expand Up @@ -113,11 +113,11 @@ public function findLangaugeOverlayByUidAndLanguage(string $table, int $uid, int
->where(
$queryBuilder->expr()->eq(
$transOrigPointerField,
$queryBuilder->createNamedParameter($uid, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
),
$queryBuilder->expr()->eq(
$languageField,
$queryBuilder->createNamedParameter($languageId, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($languageId, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down Expand Up @@ -154,7 +154,7 @@ public function findByReferenceField(
->where(
$queryBuilder->expr()->eq(
$fieldName,
$queryBuilder->createNamedParameter($value, PDO::PARAM_INT)
$queryBuilder->createNamedParameter($value, Connection::PARAM_INT)
)
)
->executeQuery()
Expand Down
Loading

0 comments on commit acb5243

Please sign in to comment.