Index: t3lib/class.t3lib_recordlist.php
===================================================================
--- t3lib/class.t3lib_recordlist.php (Revision 9241)
+++ t3lib/class.t3lib_recordlist.php (Arbeitskopie)
@@ -374,7 +374,7 @@
* @return string Language icon
*/
function languageFlag($sys_language_uid) {
- return ($this->languageIconTitles[$sys_language_uid]['flagIcon'] ? ' ' : '').
+ return ($this->languageIconTitles[$sys_language_uid]['flagIcon'] ? t3lib_iconWorks::getSpriteIcon($this->languageIconTitles[$sys_language_uid]['flagIcon']) . ' ' : '') .
htmlspecialchars($this->languageIconTitles[$sys_language_uid]['title']);
}
Index: t3lib/class.t3lib_transl8tools.php
===================================================================
--- t3lib/class.t3lib_transl8tools.php (Revision 9241)
+++ t3lib/class.t3lib_transl8tools.php (Arbeitskopie)
@@ -75,20 +75,19 @@
function getSystemLanguages($page_id=0,$backPath='') {
global $TCA,$LANG;
- // Icons and language titles:
- t3lib_div::loadTCA('sys_language');
- $flagAbsPath = t3lib_div::getFileAbsFileName($TCA['sys_language']['columns']['flag']['config']['fileFolder']);
- $flagIconPath = $backPath.'../'.substr($flagAbsPath, strlen(PATH_site));
-
$modSharedTSconfig = t3lib_BEfunc::getModTSconfig($page_id, 'mod.SHARED');
$languageIconTitles = array();
- // Set default:
+ // falback "old iconstyles"
+ if (($pos = strrpos($modSharedTSconfig['properties']['defaultLanguageFlag'], '.')) !== FALSE) {
+ $modSharedTSconfig['properties']['defaultLanguageFlag'] = substr($modSharedTSconfig['properties']['defaultLanguageFlag'], 0, - $pos);
+ }
+
$languageIconTitles[0] = array(
'uid' => 0,
- 'title' => strlen ($modSharedTSconfig['properties']['defaultLanguageLabel']) ? $modSharedTSconfig['properties']['defaultLanguageLabel'].' ('.$LANG->getLL('defaultLanguage').')' : $LANG->getLL('defaultLanguage'),
+ 'title' => strlen ($modSharedTSconfig['properties']['defaultLanguageLabel']) ? $modSharedTSconfig['properties']['defaultLanguageLabel'].' ('.$LANG->sL('LLL:EXT:lang/locallang_general.xml:defaultLanguage').')' : $LANG->sL('LLL:EXT:lang/locallang_general.xml:defaultLanguage'),
'ISOcode' => 'DEF',
- 'flagIcon' => strlen($modSharedTSconfig['properties']['defaultLanguageFlag']) && @is_file($flagAbsPath.$modSharedTSconfig['properties']['defaultLanguageFlag']) ? $flagIconPath.$modSharedTSconfig['properties']['defaultLanguageFlag'] : null,
+ 'flagIcon' => strlen($modSharedTSconfig['properties']['defaultLanguageFlag']) ? $modSharedTSconfig['properties']['defaultLanguageFlag'] : 'empty-empty',
);
// Set "All" language:
@@ -96,7 +95,7 @@
'uid' => -1,
'title' => $LANG->getLL('multipleLanguages'),
'ISOcode' => 'DEF',
- 'flagIcon' => $flagIconPath.'multi-language.gif',
+ 'flagIcon' => 'flags-multiple',
);
// Find all system languages:
@@ -115,7 +114,7 @@
}
}
if (strlen ($row['flag'])) {
- $languageIconTitles[$row['uid']]['flagIcon'] = @is_file($flagAbsPath.$row['flag']) ? $flagIconPath.$row['flag'] : '';
+ $languageIconTitles[$row['uid']]['flagIcon'] = t3lib_iconWorks::mapRecordTypeToSpriteIconName('sys_language', $row);
}
}
Index: t3lib/class.t3lib_befunc.php
===================================================================
--- t3lib/class.t3lib_befunc.php (Revision 9241)
+++ t3lib/class.t3lib_befunc.php (Arbeitskopie)
@@ -860,21 +860,17 @@
* @return array Array with languages
*/
public static function getSystemLanguages() {
-
- // Initialize, add default language:
+ $languages = t3lib_div::makeInstance('t3lib_transl8tools')->getSystemLanguages();
$sysLanguages = array();
- $sysLanguages[] = array('Default language', 0);
-
- // Traverse languages
- $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid,title,flag', 'sys_language', 'pid=0' . self::deleteClause('sys_language'));
- while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
- $sysLanguages[] = array(
- htmlspecialchars($row['title']) . ' [' . $row['uid'] . ']',
- $row['uid'],
- ($row['flag'] ? 'flags/' . $row['flag'] : '')
- );
+ foreach ($languages as $language) {
+ if($language['uid'] !== -1) {
+ $sysLanguages[] = array(
+ 0 => $language['title'],
+ 1 => $language['uid'],
+ 2 => $language['flagIcon']
+ );
+ }
}
- $GLOBALS['TYPO3_DB']->sql_free_result($res);
return $sysLanguages;
}
Index: typo3/alt_doc.php
===================================================================
--- typo3/alt_doc.php (Revision 9241)
+++ typo3/alt_doc.php (Arbeitskopie)
@@ -1209,6 +1209,11 @@
global $LANG;
$modSharedTSconfig = t3lib_BEfunc::getModTSconfig($id, 'mod.SHARED');
+
+ // fallback non sprite-configuration
+ if (($pos = strrpos($modSharedTSconfig['properties']['defaultLanguageFlag'], '.')) !== FALSE) {
+ $modSharedTSconfig['properties']['defaultLanguageFlag'] = substr($modSharedTSconfig['properties']['defaultLanguageFlag'], 0, - $pos);
+ }
$languages = array(
0 => array(
Index: typo3/sysext/lang/locallang_general.xml
===================================================================
--- typo3/sysext/lang/locallang_general.xml (Revision 9241)
+++ typo3/sysext/lang/locallang_general.xml (Arbeitskopie)
@@ -10,6 +10,7 @@
+