Fix Ukrainian language resolution and fallback
This commit is contained in:
parent
c764f4a26e
commit
8b1d657fa6
Binary file not shown.
|
|
@ -2130,16 +2130,38 @@ class ControllerModuleImgOpti extends Controller {
|
||||||
if (!$lang) {
|
if (!$lang) {
|
||||||
$lang = 'en-gb';
|
$lang = 'en-gb';
|
||||||
}
|
}
|
||||||
if ($lang && $lang !== 'en-gb' && $lang !== 'english') {
|
$lang_lower = strtolower((string)$lang);
|
||||||
|
if ($lang_lower && $lang_lower !== 'en-gb' && $lang_lower !== 'english') {
|
||||||
$paths = array(
|
$paths = array(
|
||||||
DIR_LANGUAGE . $lang . '/module/img_opti.php'
|
DIR_LANGUAGE . $lang . '/module/img_opti.php',
|
||||||
|
DIR_LANGUAGE . $lang_lower . '/module/img_opti.php'
|
||||||
);
|
);
|
||||||
if (strpos($lang, 'ru') === 0) {
|
|
||||||
|
if (isset($this->db)) {
|
||||||
|
try {
|
||||||
|
$escaped_lang = $this->db->escape($lang);
|
||||||
|
$query_lang = $this->db->query("SELECT directory FROM `" . DB_PREFIX . "language` WHERE code = '" . $escaped_lang . "' OR directory = '" . $escaped_lang . "' LIMIT 1");
|
||||||
|
if ($query_lang && $query_lang->num_rows && !empty($query_lang->row['directory'])) {
|
||||||
|
$db_dir = $query_lang->row['directory'];
|
||||||
|
$paths[] = DIR_LANGUAGE . $db_dir . '/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . strtolower($db_dir) . '/module/img_opti.php';
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strpos($lang_lower, 'ru') !== false || strpos($lang_lower, 'rus') !== false) {
|
||||||
$paths[] = DIR_LANGUAGE . 'ru-ru/module/img_opti.php';
|
$paths[] = DIR_LANGUAGE . 'ru-ru/module/img_opti.php';
|
||||||
$paths[] = DIR_LANGUAGE . 'russian/module/img_opti.php';
|
$paths[] = DIR_LANGUAGE . 'russian/module/img_opti.php';
|
||||||
} elseif (strpos($lang, 'uk') === 0 || strpos($lang, 'ua') === 0) {
|
$paths[] = DIR_LANGUAGE . 'ru-RU/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'ru/module/img_opti.php';
|
||||||
|
} elseif (strpos($lang_lower, 'uk') !== false || strpos($lang_lower, 'ua') !== false || strpos($lang_lower, 'ukr') !== false) {
|
||||||
$paths[] = DIR_LANGUAGE . 'uk-ua/module/img_opti.php';
|
$paths[] = DIR_LANGUAGE . 'uk-ua/module/img_opti.php';
|
||||||
$paths[] = DIR_LANGUAGE . 'ukrainian/module/img_opti.php';
|
$paths[] = DIR_LANGUAGE . 'ukrainian/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk-UA/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'ua/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk_ua/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk_UA/module/img_opti.php';
|
||||||
}
|
}
|
||||||
foreach ($paths as $path) {
|
foreach ($paths as $path) {
|
||||||
if (is_file($path)) {
|
if (is_file($path)) {
|
||||||
|
|
|
||||||
|
|
@ -3232,6 +3232,8 @@ private function roundCornersGD($im, $radius) {
|
||||||
private function loadLanguageSafe() {
|
private function loadLanguageSafe() {
|
||||||
$data = array();
|
$data = array();
|
||||||
$en_paths = array(
|
$en_paths = array(
|
||||||
|
DIR_LANGUAGE . 'en-gb/module/img_opti.php',
|
||||||
|
DIR_LANGUAGE . 'english/module/img_opti.php',
|
||||||
DIR_LANGUAGE . 'en-gb/extension/module/img_opti.php',
|
DIR_LANGUAGE . 'en-gb/extension/module/img_opti.php',
|
||||||
DIR_LANGUAGE . 'english/extension/module/img_opti.php'
|
DIR_LANGUAGE . 'english/extension/module/img_opti.php'
|
||||||
);
|
);
|
||||||
|
|
@ -3253,16 +3255,40 @@ private function roundCornersGD($im, $radius) {
|
||||||
if (!$lang) {
|
if (!$lang) {
|
||||||
$lang = 'en-gb';
|
$lang = 'en-gb';
|
||||||
}
|
}
|
||||||
if ($lang && $lang !== 'en-gb' && $lang !== 'english') {
|
$lang_lower = strtolower((string)$lang);
|
||||||
|
if ($lang_lower && $lang_lower !== 'en-gb' && $lang_lower !== 'english') {
|
||||||
$paths = array(
|
$paths = array(
|
||||||
DIR_LANGUAGE . $lang . '/extension/module/img_opti.php'
|
DIR_LANGUAGE . $lang . '/module/img_opti.php',
|
||||||
|
DIR_LANGUAGE . $lang_lower . '/module/img_opti.php',
|
||||||
|
DIR_LANGUAGE . $lang . '/extension/module/img_opti.php',
|
||||||
|
DIR_LANGUAGE . $lang_lower . '/extension/module/img_opti.php'
|
||||||
);
|
);
|
||||||
if (strpos($lang, 'ru') === 0) {
|
|
||||||
$paths[] = DIR_LANGUAGE . 'ru-ru/extension/module/img_opti.php';
|
if (isset($this->db)) {
|
||||||
$paths[] = DIR_LANGUAGE . 'russian/extension/module/img_opti.php';
|
try {
|
||||||
} elseif (strpos($lang, 'uk') === 0 || strpos($lang, 'ua') === 0) {
|
$escaped_lang = $this->db->escape($lang);
|
||||||
$paths[] = DIR_LANGUAGE . 'uk-ua/extension/module/img_opti.php';
|
$query_lang = $this->db->query("SELECT directory FROM `" . DB_PREFIX . "language` WHERE code = '" . $escaped_lang . "' OR directory = '" . $escaped_lang . "' LIMIT 1");
|
||||||
$paths[] = DIR_LANGUAGE . 'ukrainian/extension/module/img_opti.php';
|
if ($query_lang && $query_lang->num_rows && !empty($query_lang->row['directory'])) {
|
||||||
|
$db_dir = $query_lang->row['directory'];
|
||||||
|
$paths[] = DIR_LANGUAGE . $db_dir . '/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . strtolower($db_dir) . '/module/img_opti.php';
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strpos($lang_lower, 'ru') !== false || strpos($lang_lower, 'rus') !== false) {
|
||||||
|
$paths[] = DIR_LANGUAGE . 'ru-ru/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'russian/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'ru-RU/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'ru/module/img_opti.php';
|
||||||
|
} elseif (strpos($lang_lower, 'uk') !== false || strpos($lang_lower, 'ua') !== false || strpos($lang_lower, 'ukr') !== false) {
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk-ua/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'ukrainian/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk-UA/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'ua/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk_ua/module/img_opti.php';
|
||||||
|
$paths[] = DIR_LANGUAGE . 'uk_UA/module/img_opti.php';
|
||||||
}
|
}
|
||||||
foreach ($paths as $path) {
|
foreach ($paths as $path) {
|
||||||
if (is_file($path)) {
|
if (is_file($path)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue