skala
cvargas 15 years ago
commit 5051f75cc5
  1. 38
      main/admin/sub_language.class.php
  2. 42
      main/inc/global.inc.php

@ -213,26 +213,42 @@ class SubLanguageManager {
/**
* Make available the language
* @param Integer The language id
* @return void()
* @return void
*/
public static function make_available_language ($language_id) {
public static function make_available_language ($language_id) {
$tbl_admin_languages= Database :: get_main_table(TABLE_MAIN_LANGUAGE);
$sql_make_available = "UPDATE $tbl_admin_languages SET available='1' WHERE id='".Database::escape_string($language_id)."'";
$result = Database::query($sql_make_available);
}
/**
* Set platform language
* @param Integer The language id
* @return void()
*/
public static function set_platform_language ($language_id) {
$tbl_admin_languages= Database :: get_main_table(TABLE_MAIN_LANGUAGE);
}
/**
* Set platform language
* @param Integer The language id
* @return void()
*/
public static function set_platform_language ($language_id) {
$tbl_admin_languages = Database :: get_main_table(TABLE_MAIN_LANGUAGE);
$tbl_settings_current = Database :: get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
$sql_update = "SELECT english_name FROM ". $tbl_admin_languages." WHERE id='".Database::escape_string($language_id)."'";
$result = Database::query($sql_update);
$lang=Database::fetch_array($result);
$sql_update_2 = "UPDATE ".$tbl_settings_current." SET selected_value='".$lang['english_name']."' WHERE variable='platformLanguage'";
$result_2 = Database::query($sql_update_2);
}
}
/**
* Get parent language path (or null if no parent)
* @param string Children language path
* @return string Parent language path or null
*/
public static function get_parent_language_path ($language_path) {
$tbl_admin_languages = Database :: get_main_table(TABLE_MAIN_LANGUAGE);
$tbl_settings_current = Database :: get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
$sql_update = "SELECT dokeos_folder FROM ". $tbl_admin_languages." WHERE id=(SELECT parent_id FROM ". $tbl_admin_languages." WHERE dokeos_folder = '".Database::escape_string($language_path)."')";
$result = Database::query($sql_update);
if (Database::num_rows($result) == 0) {
return null;
}
$row = Database::fetch_array($result);
return $row['dokeos_folder'];
}
}
?>

@ -446,7 +446,7 @@ if (!empty($valid_languages)) {
// to use it within the function get_lang(...).
$language_interface_initial_value = $language_interface;
/*
/**
* Include all necessary language files
* - trad4all
* - notification
@ -463,34 +463,34 @@ if (isset($language_file)) {
$language_files = array_merge($language_files, $language_file);
}
}
// if a set of language files has been properly defined
if (is_array($language_files)) {
// if the sub-language feature is on
if (api_get_setting('allow_use_sub_language') == 'true') {
foreach ($language_files as $index => $language_file) {
require_once api_get_path(SYS_CODE_PATH).'admin/sub_language.class.php';
$parent_path = SubLanguageManager::get_parent_language_path($language_interface);
foreach ($language_files as $index => $language_file) {
// include English
include $langpath.'english/'.$language_file.'.inc.php';
$langfile = $langpath.$language_interface.'/'.$language_file.'.inc.php';
$tbl_admin_languages = Database :: get_main_table(TABLE_MAIN_LANGUAGE);
$sql_sub_language = 'SELECT dokeos_folder FROM '.$tbl_admin_languages.' WHERE parent_id=(SELECT id FROM '.$tbl_admin_languages.' WHERE dokeos_folder="'.Database::escape_string($language_interface).'" AND ISNULL(parent_id))';
$rs_sub_language = Database::query($sql_sub_language);
$num_row_sub_language = Database::num_rows($rs_sub_language);
if (file_exists($langfile)) {
include $langfile;
for ($i = 0; $i < $num_row_sub_language; $i++) {
$row_sub_language = Database::result($rs_sub_language, $i, 'dokeos_folder');
$sub_langfile = $langpath.$row_sub_language.'/'.$language_file.'.inc.php';
if (file_exists($sub_langfile)) {
include $sub_langfile;
}
}
// prepare string for current language and its parent
$lang_file = $langpath.$language_interface.'/'.$language_file.'.inc.php';
$parent_lang_file = $langpath.$parent_path.'/'.$language_file.'.inc.php';
// load the parent language file first
if (file_exists($parent_lang_file)) {
include $parent_lang_file;
}
// overwrite the parent language translations if there is a child
if (file_exists($lang_file)) {
include $lang_file;
}
}
} else {
// if the sub-languages feature is not on, then just load the
// set language interface
foreach ($language_files as $index => $language_file) {
// include English
include $langpath.'english/'.$language_file.'.inc.php';
// prepare string for current language
$langfile = $langpath.$language_interface.'/'.$language_file.'.inc.php';
if (file_exists($langfile)) {
include $langfile;

Loading…
Cancel
Save