Few bug fixes to the translation manager

This commit is contained in:
2018-01-20 14:23:36 +02:00
parent c6884571bd
commit 850b5867e1
7 changed files with 105 additions and 53 deletions

View File

@ -418,6 +418,8 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
// prep the lang strings for export
if (isset($_export) && $_export && ComponentbuilderHelper::checkArray($items))
{
// insure we have the same order in the languages
$languages = ComponentbuilderHelper::getVars('language', 1, 'published', 'langtag');
foreach ($items as $nr => &$item)
{
// remove some values completely
@ -432,18 +434,26 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
unset($item->hits);
unset($item->access);
unset($item->ordering);
// now adapt the entranslation
if (isset($item->translation) && ComponentbuilderHelper::checkJson($item->translation))
// set the lang order
if ($nr != 0)
{
$translations = json_decode($item->translation, true);
if (ComponentbuilderHelper::checkArray($translations))
foreach ($languages as $lanTag)
{
foreach ($translations as $language)
$item->{$lanTag} = '';
}
// now adapt the entranslation
if (isset($item->translation) && ComponentbuilderHelper::checkJson($item->translation))
{
$translations = json_decode($item->translation, true);
if (ComponentbuilderHelper::checkArray($translations))
{
if (isset($language['translation']) && ComponentbuilderHelper::checkString($language['translation'])
&& isset($language['language']) && ComponentbuilderHelper::checkString($language['language']))
foreach ($translations as $language)
{
$item->{$language['language']} = $language['translation'];
if (isset($language['translation']) && ComponentbuilderHelper::checkString($language['translation'])
&& isset($language['language']) && ComponentbuilderHelper::checkString($language['language']))
{
$item->{$language['language']} = $language['translation'];
}
}
}
}