// Refactor smarty translate function for BO templates
This commit is contained in:
@@ -59,13 +59,8 @@ function smartyTranslate($params, &$smarty)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$filename = ((!isset($smarty->compiler_object) OR !is_object($smarty->compiler_object->template)) ? $smarty->template_resource : $smarty->compiler_object->template->getTemplateFilepath());
|
$filename = ((!isset($smarty->compiler_object) OR !is_object($smarty->compiler_object->template)) ? $smarty->template_resource : $smarty->compiler_object->template->getTemplateFilepath());
|
||||||
// 1.5 admin : default filename is .tpl; test is made on dir
|
|
||||||
$dir_filename = dirname($filename);
|
|
||||||
// key is Helper if dir contains "helper"
|
|
||||||
// we may improve this later to get only the first directory everytime
|
|
||||||
if(strpos($dir_filename, 'helper') !== false)
|
|
||||||
$dir_filename = 'helper';
|
|
||||||
|
|
||||||
|
// If the template is part of a module
|
||||||
if (!empty($params['mod']))
|
if (!empty($params['mod']))
|
||||||
{
|
{
|
||||||
global $_MODULES, $_MODULE;
|
global $_MODULES, $_MODULE;
|
||||||
@@ -103,26 +98,26 @@ function smartyTranslate($params, &$smarty)
|
|||||||
return $msg;
|
return $msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($dir_filename)
|
// If the tpl is at the root of the template folder
|
||||||
{
|
if (dirname($filename) == '.')
|
||||||
|
|
||||||
// note : this may be modified later
|
|
||||||
case '.':
|
|
||||||
$class = 'index';
|
|
||||||
break;
|
|
||||||
case 'helpers':
|
|
||||||
$class = 'AdminTab';
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
{
|
|
||||||
$parentClass = explode('/', $filename);
|
|
||||||
$key = array_search('controllers', $parentClass);
|
|
||||||
$class = 'Admin'.Tools::toCamelCase($parentClass[$key + 1], true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(in_array($class, array('header','footer','password','login')))
|
|
||||||
$class = 'index';
|
$class = 'index';
|
||||||
|
// If the tpl is used by a Helper
|
||||||
|
elseif (strpos($filename, 'helpers') === 0)
|
||||||
|
$class = 'Helper';
|
||||||
|
// If the tpl is used by a Controller
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Split by \ and / to get the folder tree for the file
|
||||||
|
$folder_tree = preg_split('#[/\\\]#', $filename);
|
||||||
|
$key = array_search('controllers', $folder_tree);
|
||||||
|
|
||||||
|
// If there was a match, construct the class name using the child folder name
|
||||||
|
// Eg. xxx/controllers/customers/xxx => AdminCustomers
|
||||||
|
if ($key !== false)
|
||||||
|
$class = 'Admin'.Tools::toCamelCase($folder_tree[$key + 1], true);
|
||||||
|
else
|
||||||
|
$class = null;
|
||||||
|
}
|
||||||
|
|
||||||
return AdminController::translate($params['s'], $class, $addslashes, $htmlentities);
|
return AdminController::translate($params['s'], $class, $addslashes, $htmlentities);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user