From 882aee8bf8ddd6b8a99a962dd0e135ddaeface9f Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Wed, 4 Mar 2015 10:03:29 -0500 Subject: [PATCH] Load sublanguage in plugin templates - refs BT#9092 --- main/inc/lib/api.lib.php | 2 +- main/inc/lib/plugin.class.php | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index feb5bd5e36..d00470e028 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -4062,7 +4062,7 @@ function api_get_language_id($language) } $language = Database::escape_string($language); $sql = "SELECT id FROM $tbl_language - WHERE available='1' AND dokeos_folder = '$language' LIMIT 1"; + WHERE dokeos_folder = '$language' LIMIT 1"; $result = Database::query($sql); $row = Database::fetch_array($result); return $row['id']; diff --git a/main/inc/lib/plugin.class.php b/main/inc/lib/plugin.class.php index 0e305e00a8..6f985fbcc4 100755 --- a/main/inc/lib/plugin.class.php +++ b/main/inc/lib/plugin.class.php @@ -304,6 +304,10 @@ class Plugin $root = api_get_path(SYS_PLUGIN_PATH); $plugin_name = $this->get_name(); + $interfaceLanguageId = api_get_language_id($language_interface); + $interfaceLanguageInfo = api_get_language_info($interfaceLanguageId); + $languageParentId = intval($interfaceLanguageInfo['parent_id']); + //1. Loading english if exists $english_path = $root.$plugin_name."/lang/english.php"; if (is_readable($english_path)) { @@ -315,6 +319,17 @@ class Plugin //2. Loading the system language if (is_readable($path)) { include $path; + if (!empty($strings)) { + foreach ($strings as $key => $string) { + $this->strings[$key] = $string; + } + } + } elseif ($languageParentId > 0) { + $languageParentInfo = api_get_language_info($languageParentId); + $languageParentFolder = $languageParentInfo['dokeos_folder']; + + include "{$root}{$plugin_name}/lang/{$languageParentFolder}.php"; + if (!empty($strings)) { foreach ($strings as $key => $string) { $this->strings[$key] = $string;