aboutsummaryrefslogtreecommitdiff
path: root/lib/models/ModuleManagementModel.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/ModuleManagementModel.php')
-rw-r--r--lib/models/ModuleManagementModel.php19
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;