Skip to content

Commit 27178cd

Browse files
authored
Merge pull request #6033 from christianbeeznest/GH-6030
Setitngs: Fix PlatformLanguage setting to support multi-URL configurations - refs #6030
2 parents 85febd5 + b7513f2 commit 27178cd

File tree

2 files changed

+36
-20
lines changed

2 files changed

+36
-20
lines changed

main/admin/languages.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@
204204
);
205205
// changing the Platform language
206206
if (isset($_POST['platformlanguage']) && $_POST['platformlanguage'] != '') {
207-
api_set_setting('platformLanguage', $_POST['platformlanguage'], null, null, $_configuration['access_url']);
207+
api_set_setting('platformLanguage', $_POST['platformlanguage'], null, null, api_get_current_access_url_id());
208208
}
209209
} elseif (isset($_POST['action'])) {
210210
switch ($_POST['action']) {
@@ -263,7 +263,11 @@
263263
$sql_select = "SELECT * FROM $tbl_admin_languages";
264264
$result_select = Database::query($sql_select);
265265

266-
$sql_select_lang = "SELECT * FROM $tbl_settings_current WHERE category='Languages'";
266+
$current_access_url = api_get_current_access_url_id();
267+
$sql_select_lang = "SELECT * FROM $tbl_settings_current
268+
WHERE category='Languages'
269+
AND access_url = $current_access_url";
270+
267271
$result_select_lang = Database::query($sql_select_lang);
268272
$row_lang = Database::fetch_array($result_select_lang);
269273

main/inc/lib/sub_language.class.php

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -420,32 +420,44 @@ public static function make_available_language($language_id)
420420
/**
421421
* Set platform language.
422422
*
423-
* @param int $language_id The language id
423+
* @param int $languageId The language id
424424
*
425425
* @return bool
426426
*/
427-
public static function set_platform_language($language_id)
427+
public static function set_platform_language($languageId)
428428
{
429-
if (empty($language_id) || (intval($language_id) != $language_id)) {
429+
if (empty($languageId) || intval($languageId) != $languageId) {
430430
return false;
431431
}
432-
$language_id = intval($language_id);
433-
$tbl_admin_languages = Database::get_main_table(TABLE_MAIN_LANGUAGE);
434-
$tbl_settings_current = Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
435-
$sql = "SELECT english_name FROM $tbl_admin_languages
436-
WHERE id = $language_id";
432+
433+
$languageId = intval($languageId);
434+
$tblAdminLanguages = Database::get_main_table(TABLE_MAIN_LANGUAGE);
435+
436+
$sql = "SELECT english_name FROM $tblAdminLanguages WHERE id = $languageId";
437437
$result = Database::query($sql);
438438
$lang = Database::fetch_array($result);
439-
$sql_update_2 = "UPDATE $tbl_settings_current SET selected_value = '".$lang['english_name']."'
440-
WHERE variable='platformLanguage'";
441-
$result_2 = Database::query($sql_update_2);
442-
Event::addEvent(
443-
LOG_PLATFORM_LANGUAGE_CHANGE,
444-
LOG_PLATFORM_LANGUAGE,
445-
$lang['english_name']
446-
);
447-
448-
return $result_2 !== false;
439+
440+
if ($lang) {
441+
$success = api_set_setting(
442+
'platformLanguage',
443+
$lang['english_name'],
444+
null,
445+
null,
446+
api_get_current_access_url_id()
447+
);
448+
449+
if ($success) {
450+
Event::addEvent(
451+
LOG_PLATFORM_LANGUAGE_CHANGE,
452+
LOG_PLATFORM_LANGUAGE,
453+
$lang['english_name']
454+
);
455+
}
456+
457+
return $success;
458+
}
459+
460+
return false;
449461
}
450462

451463
/**

0 commit comments

Comments
 (0)