From 457bfb5765a0d65bd6a4942f821f4e3b1cba9e41 Mon Sep 17 00:00:00 2001 From: Georg Ringer <georg.ringer@gmail.com> Date: Fri, 25 Sep 2020 22:19:38 +0200 Subject: [PATCH] [BUGFIX] Set typo3Language for new site languages if possible If a sys_language record is properly filled with the language information, the site language record can be filled as well. Setting the typo3Language by default with the correct languages makes it easier to setup languages. Resolves: #92422 Releases: master, 10.4 Change-Id: I3c9e2322cd0aa3963ede36586cc97babe0f003a8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65897 Tested-by: TYPO3com <noreply@typo3.com> Tested-by: Josef Glatz <josefglatz@gmail.com> Tested-by: Oliver Bartsch <bo@cedev.de> Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by: Josef Glatz <josefglatz@gmail.com> Reviewed-by: Oliver Bartsch <bo@cedev.de> Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de> --- .../Classes/Controller/SiteInlineAjaxController.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/typo3/sysext/backend/Classes/Controller/SiteInlineAjaxController.php b/typo3/sysext/backend/Classes/Controller/SiteInlineAjaxController.php index 75ad3b462d23..16f4d625a1d8 100644 --- a/typo3/sysext/backend/Classes/Controller/SiteInlineAjaxController.php +++ b/typo3/sysext/backend/Classes/Controller/SiteInlineAjaxController.php @@ -27,6 +27,7 @@ use TYPO3\CMS\Backend\Form\NodeFactory; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Database\Query\Restriction\HiddenRestriction; use TYPO3\CMS\Core\Http\JsonResponse; +use TYPO3\CMS\Core\Localization\Locales; use TYPO3\CMS\Core\Utility\ArrayUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\MathUtility; @@ -98,6 +99,12 @@ class SiteInlineAjaxController extends AbstractFormEngineAjaxController if (!empty($row['language_isocode'])) { $defaultDatabaseRow['iso-639-1'] = $row['language_isocode']; $defaultDatabaseRow['base'] = '/' . $row['language_isocode'] . '/'; + + $locales = GeneralUtility::makeInstance(Locales::class); + $allLanguages = $locales->getLanguages(); + if (isset($allLanguages[$row['language_isocode']])) { + $defaultDatabaseRow['typo3Language'] = $row['language_isocode']; + } } if (!empty($row['flag']) && $row['flag'] === 'multiple') { $defaultDatabaseRow['flag'] = 'global'; -- GitLab