[BUGFIX] Empty columns in Page Module view cause warnings 32/20232/2
authorChristian Zenker <christian.zenker@599media.de>
Thu, 25 Apr 2013 16:32:10 +0000 (18:32 +0200)
committerOliver Hader <oliver.hader@typo3.org>
Sat, 27 Apr 2013 13:26:41 +0000 (15:26 +0200)
The iteration over columns in the page module layout view
expects arrays. Since it might happen, that there is no element
for a particular column, variables need to be initialized with
an empty array.

Change-Id: I63b4b26a87f1520139c9d66d0c096a78d39e409c
Fixes: #47529
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/20232
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
typo3/sysext/cms/layout/class.tx_cms_layout.php

index 2349f5c..bcd18c4 100755 (executable)
@@ -1459,9 +1459,9 @@ class tx_cms_layout extends recordList {
         * @return array Associative array for each column (colPos)
         */
        protected function getContentRecordsPerColumn($table, $id, array $columns, $additionalWhereClause = '') {
-               $contentRecordsPerColumn = array();
-
                $columns = array_map('intval', $columns);
+               $contentRecordsPerColumn = array_fill_keys($columns, array());
+
                $queryParts = $this->makeQueryArray('tt_content', $id, 'AND colPos IN (' . implode(',', $columns) . ')' . $additionalWhereClause);
                $result = $GLOBALS['TYPO3_DB']->exec_SELECT_queryArray($queryParts);
                // Traverse any selected elements and render their display code: