Feature #306 - Adding a sanity check in api_get_language_isocode() for Database class presense (whether it is loaded).

skala
Ivan Tcholakov 16 years ago
parent 0b4e7a7d4d
commit 877e78510f
  1. 7
      main/inc/lib/internationalization.lib.php
  2. 12
      main/inc/lib/internationalization_internal.lib.php

@ -267,7 +267,6 @@ function api_purify_language_id($language) {
return $purified[$language];
}
// TODO: To be added a sanity check whether Database class has been loaded.
/**
* Gets language isocode column from the language table, taking the current language as a query parameter.
* @param string $language This is the name of the folder containing translations for the corresponding language (e.g arabic, english).
@ -285,8 +284,10 @@ function api_get_language_isocode($language = null) {
$language = api_get_interface_language();
}
if (!isset($iso_code[$language])) {
$table = Database::get_main_table(TABLE_MAIN_LANGUAGE);
$sql_result = Database::query("SELECT isocode FROM $table WHERE dokeos_folder = '$language'", __FILE__, __LINE__);
if (!class_exists('Database')) {
return 'en'; // This might happen, in case of calling this function early during the global initialization.
}
$sql_result = Database::query("SELECT isocode FROM ".Database::get_main_table(TABLE_MAIN_LANGUAGE)." WHERE dokeos_folder = '$language'", __FILE__, __LINE__);
if (Database::num_rows($sql_result)) {
$result = Database::fetch_array($sql_result);
$iso_code[$language] = $result['isocode'];

@ -806,16 +806,8 @@ function _api_get_locale_from_language($language = null) {
$language = api_get_interface_language();
}
if (!isset($locale[$language])) {
if (class_exists('Database')) {
$locale[$language] = Database::get_language_isocode($language);
} else {
return 'en';
}
if (empty($locale[$language])) {
$locale[$language] = 'en';
} else {
$locale[$language] = str_replace('-', '_', $locale[$language]);
}
$locale[$language] = api_get_language_isocode($language);
$locale[$language] = empty($locale[$language]) ? 'en' : str_replace('-', '_', $locale[$language]);
}
return $locale[$language];
}

Loading…
Cancel
Save