Index: t3lib/class.t3lib_extmgm.php =================================================================== --- t3lib/class.t3lib_extmgm.php (revision 9536) +++ t3lib/class.t3lib_extmgm.php (revision ) @@ -302,15 +302,30 @@ if ($str && is_array($GLOBALS['TCA'][$table]) && is_array($GLOBALS['TCA'][$table]['types'])) { foreach ($GLOBALS['TCA'][$table]['types'] as $type => &$typeDetails) { if ($specificTypesList === '' || t3lib_div::inList($specificTypesList, $type)) { + if ($position != '' && is_array($GLOBALS['TCA'][$table]['palettes'])) { + $fieldIsInPalette = FALSE; + $positionArray = t3lib_div::trimExplode(':', $position); + foreach($GLOBALS['TCA'][$table]['palettes'] as $palette => $paletteDetails) { + if (strstr($str, $typeDetails['showitem']) != FALSE + || strstr($str, $paletteDetails['showitem']) != FALSE) { + $fieldIsInPalette = TRUE; + } else if (preg_match('/\b' . $palette . '/', $typeDetails['showitem']) != FALSE + && preg_match('/\b' . $positionArray[1] . '/', $paletteDetails['showitem']) != FALSE) { + $position = $positionArray[0] . ':--palette--;;' . $palette; + } + } + } + if ($fieldIsInPalette === FALSE) { - $typeDetails['showitem'] = self::executePositionedStringInsertion( - $typeDetails['showitem'], - $str, - $position - ); - } - } - } - } + $typeDetails['showitem'] = self::executePositionedStringInsertion( + $typeDetails['showitem'], + $str, + $position + ); + } + } + } + } + } /** * Adds new fields to all palettes of an existing field.