Skip to content
Snippets Groups Projects
Commit cf7acb12 authored by Oliver Bartsch's avatar Oliver Bartsch
Browse files

[BUGFIX] Prevent TypeError in FileSearchDemand

Since `QueryHelper::parseOrderBy()` might return
NULL as value for fieldname and direction, we
now check those values properly to prevent any
TypeErrors using the type-hinted `addOrdering()`
method.

Resolves: #102649
Releases: main, 12.4
Change-Id: Ie117e7fd0593392e843aaca5c1e9c254c4de42d1
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82168


Tested-by: default avatarOliver Bartsch <bo@cedev.de>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
Tested-by: default avatarcore-ci <typo3@b13.com>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarOliver Klee <typo3-coding@oliverklee.de>
Tested-by: default avatarGarvin Hicking <gh@faktor-e.de>
Reviewed-by: default avatarGarvin Hicking <gh@faktor-e.de>
Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: default avatarThomas Hohn <tho@gyldendal.dk>
parent 31bda6b0
Branches
Tags
No related merge requests found
......@@ -94,7 +94,10 @@ class FileSearchQuery
if ($searchDemand->getOrderings() === null) {
$orderBy = ($GLOBALS['TCA'][self::FILES_TABLE]['ctrl']['sortby'] ?? '') ?: ($GLOBALS['TCA'][self::FILES_TABLE]['ctrl']['default_sortby'] ?? '');
foreach (QueryHelper::parseOrderBy((string)$orderBy) as [$fieldName, $order]) {
$searchDemand = $searchDemand->addOrdering(self::FILES_TABLE, $fieldName, $order);
if (is_string($fieldName) && $fieldName !== '') {
// Call add ordering only for valid field names
$searchDemand = $searchDemand->addOrdering(self::FILES_TABLE, $fieldName, $order ?? 'ASC');
}
}
}
foreach ($searchDemand->getOrderings() as [$tableName, $fieldName, $direction]) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment