From 7c97fe9f6ac712faba8dac4ecf0e2c127038b5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=B6hlken?= <woehlken@quadracom.de> Date: Fri, 5 Jul 2013 18:23:58 +0200 Subject: [PATCH] [BUGFIX] Category API does not consider multiple tables Using the Category API with multiple tables, leads to wrong results due to a missing check for the correct table. Resolves: #45332 Releases: 6.2, 6.1, 6.0 Change-Id: Iaf5b453acd434ab8d8f58932a2c96385a66abf37 Reviewed-on: https://review.typo3.org/21963 Reviewed-by: Wouter Wolters Tested-by: Wouter Wolters Reviewed-by: Stefan Neufeind Tested-by: Stefan Neufeind --- .../Classes/Category/Collection/CategoryCollection.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/core/Classes/Category/Collection/CategoryCollection.php b/typo3/sysext/core/Classes/Category/Collection/CategoryCollection.php index 2bfe1a05871c..3e16daa870fb 100644 --- a/typo3/sysext/core/Classes/Category/Collection/CategoryCollection.php +++ b/typo3/sysext/core/Classes/Category/Collection/CategoryCollection.php @@ -100,7 +100,14 @@ class CategoryCollection extends \TYPO3\CMS\Core\Collection\AbstractRecordCollec protected function getCollectedRecords() { $relatedRecords = array(); /** @var $GLOBALS['TYPO3_DB'] \TYPO3\CMS\Core\Database\DatabaseConnection */ - $resource = $this->getDatabase()->exec_SELECT_mm_query($this->getItemTableName() . '.*', self::$storageTableName, 'sys_category_record_mm', $this->getItemTableName(), 'AND ' . self::$storageTableName . '.uid=' . intval($this->getIdentifier())); + $resource = $this->getDatabase()->exec_SELECT_mm_query( + $this->getItemTableName() . '.*', + self::$storageTableName, + 'sys_category_record_mm', + $this->getItemTableName(), + 'AND ' . self::$storageTableName . '.uid=' . intval($this->getIdentifier()) + . ' AND sys_category_record_mm.tablenames = "' . $this->getItemTableName() . '"' + ); if ($resource) { while ($record = $this->getDatabase()->sql_fetch_assoc($resource)) { $relatedRecords[] = $record; -- GitLab