diff options
| author | David Siegfried <david.siegfried@uni-vechta.de> | 2024-12-04 11:01:16 +0000 |
|---|---|---|
| committer | David Siegfried <david.siegfried@uni-vechta.de> | 2024-12-04 11:01:16 +0000 |
| commit | e7f6d667e1b428bf452f34b96336552aaa7df4dc (patch) | |
| tree | 58ad79c8243e2de1cf75ad494d7e86b5d56ea2a5 /lib/models/ModuleManagementModel.php | |
| parent | 5e01759061ca0d8a2d95d3d974bb80472d529198 (diff) | |
Revert "Resolve "Sprachauswahl für Originalfassung der Modul(teil)-Deskriptoren""
Merge request studip/studip!3715
Diffstat (limited to 'lib/models/ModuleManagementModel.php')
| -rw-r--r-- | lib/models/ModuleManagementModel.php | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/lib/models/ModuleManagementModel.php b/lib/models/ModuleManagementModel.php index 88b264f..3bd5eb7 100644 --- a/lib/models/ModuleManagementModel.php +++ b/lib/models/ModuleManagementModel.php @@ -725,26 +725,25 @@ abstract class ModuleManagementModel extends SimpleORMap implements ModuleManage */ public static function setContentLanguage($language) { - if (!is_array(Config::get()->CONTENT_LAGUAGES[$language])) { + if (!is_array($GLOBALS['MVV_LANGUAGES']['values'][$language])) { throw new InvalidArgumentException(); } - I18NString::setContentLanguage($language); + $locale = $GLOBALS['MVV_LANGUAGES']['values'][$language]['locale']; + I18NString::setContentLanguage($locale); self::$language = $language; } - public function getAvailableTranslations(string $original_language): array + public function getAvailableTranslations() { - $translations = []; + $translations[] = $GLOBALS['MVV_LANGUAGES']['default']; $stmt = DBManager::get()->prepare('SELECT DISTINCT `lang` ' . 'FROM i18n ' . 'WHERE `object_id` = ? AND `table` = ?'); $stmt->execute([$this->id, $this->db_table()]); - $languages = array_merge([$original_language], - $stmt->fetchAll(PDO::FETCH_COLUMN)); - $content_languages = Config::get()->CONTENT_LANGUAGES; - foreach ($languages as $code) { - if (is_array($content_languages[$code])) { - $translations[] = $code; + foreach ($stmt->fetchAll() as $locale) { + $language = mb_strtoupper(mb_strstr($locale['lang'], '_', true)); + if (is_array($GLOBALS['MVV_LANGUAGES']['values'][$language])) { + $translations[] = $language; } } return $translations; |
