Project

General

Profile

Actions

Bug #83268

closed

QueryGenerator can't deal with multiple alt labels

Added by Hannes Lau almost 7 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Database API (Doctrine DBAL)
Target version:
-
Start date:
2017-12-09
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.1
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

The QueryGenerator::makeOptionList function reads the label_alt field and uses it as a select field for a db query, forgetting that label_alt may contain multiple field names separated by commas. This leads to an invalid select field name and hence a db error, if the alternative label list does contain a comma.

https://github.com/TYPO3/TYPO3.CMS/blob/c384ce07fcfb33aab6301ce8453f712af8d09008/typo3/sysext/core/Classes/Database/QueryGenerator.php#L900

$altLabelField = $GLOBALS['TCA'][$from_table]['ctrl']['label_alt'];



if ($altLabelField) {
    $selectFields[] = $altLabelField;
}
$queryBuilder->select(...$selectFields)

https://docs.typo3.org/typo3cms/TCAReference/Ctrl/Index.html#label-alt

I discovered this bug while trying to edit a Direct Mail recipient list, based on a special query, based on the tt_address table with a custom select field referring to the static_country_zones table. That table has label_alt 'zn_name_local,zn_code' .


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Task #77564: Doctrine: Migrate QueryGeneratorClosed2016-08-21

Actions
Actions

Also available in: Atom PDF