From 051adc7b362061f82a13a97a3bf9f4788a4c9222 Mon Sep 17 00:00:00 2001 From: ccauw Date: Mon, 29 Apr 2013 16:00:55 +0300 Subject: [PATCH] [-] BO : bug in BO translations when Windows OS [-] BO : bug in BO translations when Windows OS Impossible to translate the strings of the back office in the directory override/controllers/admin/... under windows environment. The statement " $parent_class = explode(DIRECTORY_SEPARATOR,..) " returns wrong result under windows environment. because the path name has '/' and '\' chars. $parent_class contains bad values and the string "override" is not found. --- controllers/admin/AdminTranslationsController.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/controllers/admin/AdminTranslationsController.php b/controllers/admin/AdminTranslationsController.php index 7c4d18ce9..edbc16bc2 100644 --- a/controllers/admin/AdminTranslationsController.php +++ b/controllers/admin/AdminTranslationsController.php @@ -1773,12 +1773,14 @@ class AdminTranslationsControllerCore extends AdminController if (preg_match('#controllers#', $tmp)) { - $parent_class = explode(DIRECTORY_SEPARATOR, $tmp); + $parent_class = explode(DIRECTORY_SEPARATOR, str_replace('/', DIRECTORY_SEPARATOR, $tmp)); $override = array_search('override', $parent_class); if ($override !== false) - $prefix_key = 'Admin'.ucfirst($parent_class[count($parent_class) - 1]); + // case override/controllers/admin/templates/controller_name + $prefix_key = 'Admin'.ucfirst($parent_class[$override + 4]); else { + // case admin_name/themes/theme_name/template/controllers/controller_name $key = array_search('controllers', $parent_class); $prefix_key = 'Admin'.ucfirst($parent_class[$key + 1]); } @@ -2753,4 +2755,4 @@ class AdminTranslationsControllerCore extends AdminController return true; return false; } -} \ No newline at end of file +}