diff -ruN typo3_src-4.1.0RC2/t3lib/class.t3lib_tceforms.php typo3_src-4.1.0RC2_work/t3lib/class.t3lib_tceforms.php --- t3lib/class.t3lib_tceforms.php 2007-02-21 05:03:51.000000000 +0100 +++ t3lib/class.t3lib_tceforms.php 2007-02-25 17:47:17.000000000 +0100 @@ -2325,7 +2325,7 @@ $rowCells=array(); // Icon: - $rowCells['title'] = ''.htmlspecialchars(t3lib_div::fixed_lgd_cs($this->sL($value['tx_templavoila']['title']),30)).'';; + $rowCells['title'] = ''.htmlspecialchars(t3lib_div::fixed_lgd_cs($this->sL_FF($value['tx_templavoila']['title']),30)).'';; $rowCells['formEl']=''; if ($value['type']=='array') { @@ -2335,7 +2335,7 @@ $opt=array(); $opt[]=''; foreach($value['el'] as $kk => $vv) { - $opt[]=''; + $opt[]=''; } $rowCells['formEl']=''; } @@ -2431,7 +2431,7 @@ if (!$value['TCEforms']['displayCond'] || $this->isDisplayCondition($value['TCEforms']['displayCond'],$editData,$vDEFkey)) { $fakePA=array(); $fakePA['fieldConf']=array( - 'label' => $this->sL(trim($value['TCEforms']['label'])), + 'label' => $this->sL_FF(trim($value['TCEforms']['label'])), 'config' => $value['TCEforms']['config'], 'defaultExtras' => $value['TCEforms']['defaultExtras'], 'onChange' => $value['TCEforms']['onChange'] @@ -5114,6 +5114,21 @@ } /** + * Fetches language label for key from flexform. This function is also called for "plain" labels (not LLL:). Labels in flexforms are always in UTF-8, so this function temporarily alters $LANG->origCharSet to UTF-8 to correctly convert text. + * + * @param string Language label reference, eg. 'LLL:EXT:lang/locallang_core.php:labels.blablabla' + * @return string The value of the label, fetched for the current backend language. + */ + function sL_FF($str) { + global $LANG; + $charset = $LANG->origCharSet; + $LANG->origCharSet = 'utf-8'; + $result = $LANG->sL($str); + $LANG->origCharSet = $charset; + return $result; + } + + /** * Returns language label from locallang_core.php * Labels must be prefixed with either "l_" or "m_". * The prefix "l_" maps to the prefix "labels." inside locallang_core.php