Index: typo3/class.db_list_extra.inc =================================================================== --- typo3/class.db_list_extra.inc (revision 10315) +++ typo3/class.db_list_extra.inc (revision ) @@ -672,7 +672,7 @@ $theIcon = $this->clickMenuEnabled ? $GLOBALS['SOBE']->doc->wrapClickMenuOnIcon($iconImg,$table,$row['uid']) : $iconImg; - // Preparing and getting the data-array + // Preparing and getting the data-array $theData = Array(); foreach($this->fieldArray as $fCol) { if ($fCol==$titleCol) { @@ -684,12 +684,10 @@ ''; } $theData[$fCol] = $warning . $this->linkWrapItems($table, $row['uid'], $recTitle, $row); - // Render thumbsnails if a thumbnail column exists and there is content in it: if ($this->thumbs && trim($row[$thumbsCol])) { $theData[$fCol] .= '
' . $this->thumbCode($row,$table,$thumbsCol); } - $localizationMarkerClass = ''; if (isset($GLOBALS['TCA'][$table]['ctrl']['languageField']) && $row[$GLOBALS['TCA'][$table]['ctrl']['languageField']] != 0 @@ -716,10 +714,10 @@ } elseif ($fCol == '_LOCALIZATION_b') { // Do nothing, has been done above. } else { - $tmpProc = t3lib_BEfunc::getProcessedValueExtra($table, $fCol, $row[$fCol], 100, $row['uid']); + $tmpProc = t3lib_BEfunc::getProcessedValueExtra($table, $fCol, $row[$fCol], 100, $row['uid'], 1, $row); $theData[$fCol] = $this->linkUrlMail(htmlspecialchars($tmpProc), $row[$fCol]); if ($this->csvOutput) { - $row[$fCol] = t3lib_BEfunc::getProcessedValueExtra($table, $fCol, $row[$fCol], 0, $row['uid']); + $row[$fCol] = t3lib_BEfunc::getProcessedValueExtra($table, $fCol, $row[$fCol], 0, $row['uid'], 1, $row); } } } @@ -1875,4 +1873,4 @@ include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['typo3/class.db_list_extra.inc']); } -?> \ No newline at end of file +?> Index: t3lib/class.t3lib_befunc.php =================================================================== --- t3lib/class.t3lib_befunc.php (revision 10547) +++ t3lib/class.t3lib_befunc.php (revision ) @@ -1989,12 +1989,16 @@ * @param string items-array value to match * @return string Label for item entry */ - public static function getLabelFromItemlist($table, $col, $key) { + public static function getLabelFromItemlist($table, $col, $key, $row = array()) { global $TCA; // Load full TCA for $table t3lib_div::loadTCA($table); + if(isset($TCA[$table]['columns'][$col]['config']['itemsProcFunc'])) { + $TCA[$table]['columns'][$col]['config']['items'] = t3lib_TCEforms::procItems($TCA[$table]['columns'][$col]['config']['items'], $TCA[$table]['columns'][$col]['config']['itemsProcFunc'], $TCA[$table]['columns'][$col]['config'], $table, $row, $col); + } + - // Check, if there is an "items" array: + // Check, if there is an "items" array: if (is_array($TCA[$table]) && is_array($TCA[$table]['columns'][$col]) && is_array($TCA[$table]['columns'][$col]['config']['items'])) { // Traverse the items-array... foreach ($TCA[$table]['columns'][$col]['config']['items'] as $k => $v) { @@ -2148,7 +2152,7 @@ * @param boolean If t3lib_BEfunc::getRecordTitle is used to process the value, this parameter is forwarded. * @return string */ - public static function getProcessedValue($table, $col, $value, $fixed_lgd_chars = 0, $defaultPassthrough = 0, $noRecordLookup = FALSE, $uid = 0, $forceResult = TRUE) { + public static function getProcessedValue($table, $col, $value, $fixed_lgd_chars = 0, $defaultPassthrough = 0, $noRecordLookup = FALSE, $uid = 0, $forceResult = TRUE, $row = array()) { global $TCA; global $TYPO3_CONF_VARS; @@ -2177,7 +2181,7 @@ $l = ''; switch ((string) $theColConf['type']) { case 'radio': - $l = self::getLabelFromItemlist($table, $col, $value); + $l = self::getLabelFromItemlist($table, $col, $value, $row); $l = $GLOBALS['LANG']->sL($l); break; case 'select': @@ -2221,7 +2225,7 @@ $l = 'N/A'; } } else { - $l = self::getLabelFromItemlist($table, $col, $value); + $l = self::getLabelFromItemlist($table, $col, $value, $row); $l = $GLOBALS['LANG']->sL($l); if ($theColConf['foreign_table'] && !$l && $TCA[$theColConf['foreign_table']]) { if ($noRecordLookup) { @@ -2254,10 +2258,10 @@ if (!is_array($theColConf['items']) || count($theColConf['items']) == 1) { $l = $value ? $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xml:yes') : $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xml:no'); } else { - $lA = Array(); + $lA = array(); foreach ($theColConf['items'] as $key => $val) { if ($value & pow(2, $key)) { - $lA[] = $GLOBALS['LANG']->sL($val[0]); + $lA[] = $GLOBALS['LANG']->sL(self::getLabelFromItemlist($table, $col, $val[0], $row)); } } $l = implode(', ', $lA); @@ -2341,9 +2345,9 @@ * @return string * @see getProcessedValue() */ - public static function getProcessedValueExtra($table, $fN, $fV, $fixed_lgd_chars = 0, $uid = 0, $forceResult = TRUE) { + public static function getProcessedValueExtra($table, $fN, $fV, $fixed_lgd_chars = 0, $uid = 0, $forceResult = TRUE, $row = array()) { global $TCA; - $fVnew = self::getProcessedValue($table, $fN, $fV, $fixed_lgd_chars, 1, 0, $uid, $forceResult); + $fVnew = self::getProcessedValue($table, $fN, $fV, $fixed_lgd_chars, 1, 0, $uid, $forceResult, $row); if (!isset($fVnew)) { if (is_array($TCA[$table])) { if ($fN == $TCA[$table]['ctrl']['tstamp'] || $fN == $TCA[$table]['ctrl']['crdate']) {