# This patch file was generated by NetBeans IDE # This patch can be applied using context Tools: Apply Diff Patch action on respective folder. # It uses platform neutral UTF-8 encoding. # Above lines and this line are ignored by the patching process. --- typo3\sysext\core\Classes\Utility\ExtensionManagementUtility.php workingcopy +++ typo3\sysext\core\Classes\Utility\ExtensionManagementUtility.php @@ -644,19 +644,27 @@ */ static protected function removeDuplicatesForInsertion($insertionList, $list = '') { $insertionListParts = preg_split('/\\s*,\\s*/', $insertionList); - $insertionList = implode(', ', array_unique($insertionListParts)); + $cleanInsertionListParts = array(); + foreach ($insertionListParts as $fieldName) { + if ($fieldName == '--linebreak--' || !in_array($fieldName, $cleanInsertionListParts)) { + $cleanInsertionListParts[] = $fieldName; + } + } + $cleanInsertionList = implode(', ', $cleanInsertionListParts); if ($list === '') { - return $insertionList; + return $cleanInsertionList; } // Get a list of fieldNames that are present in the list. preg_match_all('/(?:^|,)\\s*\\b([^;,]+)\\b[^,]*/', $list, $listMatches); // Remove the field names from the insertionlist. $fieldReplacePatterns = array(); foreach ($listMatches[1] as $fieldName) { + if ($fieldName != '--linebreak--') { $fieldReplacePatterns[] = '/(?:^|,)\\s*\\b' . preg_quote($fieldName, '/') . '\\b[^,$]*/'; } - return preg_replace($fieldReplacePatterns, '', $insertionList); } + return preg_replace($fieldReplacePatterns, '', $cleanInsertionList); + } /** * Generates search needles that are used for inserting fields/items into an existing list.