2 namespace TYPO3\CMS\Backend\Form\FormDataProvider;
38 public function addData(array $result)
43 $pageTs = $result[
'pageTsConfig'];
44 $defaultLanguageLabel = $languageService->sL(
'LLL:EXT:lang/locallang_mod_web_list.xlf:defaultLanguage');
45 if (isset($pageTs[
'mod.'][
'SHARED.'][
'defaultLanguageLabel'])) {
46 $defaultLanguageLabel = $pageTs[
'mod.'][
'SHARED.'][
'defaultLanguageLabel'] .
' (' . $languageService->sL($defaultLanguageLabel) .
')';
48 $defaultLanguageFlag =
'empty-empty';
49 if (isset($pageTs[
'mod.'][
'SHARED.'][
'defaultLanguageFlag'])) {
50 $defaultLanguageFlag =
'flags-' . $pageTs[
'mod.'][
'SHARED.'][
'defaultLanguageFlag'];
57 'title' => $languageService->sL(
'LLL:EXT:lang/locallang_mod_web_list.xlf:multipleLanguages'),
61 'flagIconIdentifier' =>
'flags-multiple',
66 'title' => $defaultLanguageLabel,
70 'flagIconIdentifier' => $defaultLanguageFlag,
74 $dbRows = $database->exec_SELECTgetRows(
75 'uid,title,language_isocode,static_lang_isocode,flag',
80 if ($dbRows === null) {
81 throw new \UnexpectedValueException(
82 'Database query error ' . $database->sql_error(),
88 foreach ($dbRows as $dbRow) {
90 $languageRows[$uid] = [
92 'title' => $dbRow[
'title'],
93 'flagIconIdentifier' =>
'flags-' . $dbRow[
'flag'],
95 if (!empty($dbRow[
'language_isocode'])) {
96 $languageRows[$uid][
'iso'] = $dbRow[
'language_isocode'];
97 }
elseif ($isStaticInfoTablesLoaded && !empty($dbRow[
'static_lang_isocode'])) {
99 'Usage of the field "static_lang_isocode" is discouraged, and will stop working with CMS 8. Use the built-in'
100 .
' language field "language_isocode" in your sys_language records.'
103 if ($lg_iso_2[
'lg_iso_2']) {
104 $languageRows[$uid][
'iso'] = $lg_iso_2[
'lg_iso_2'];
116 $languageService->sL(
'LLL:EXT:lang/locallang_core.xlf:error.missingLanguageIsocode'),
129 $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
130 $defaultFlashMessageQueue->enqueue($flashMessage);
131 $languageRows[$uid][
'iso'] =
'';
135 $result[
'systemLanguageRows'] = $languageRows;