Fixed gh-534 so that the correct comment is made in the module area with the GUI placeholders. First steps towards adding multi languages for both modules and plugins gh-503 gh-493 in JCB. Other small improvments to the date helper methods. Add the otpion to target the admin area with modules.

This commit is contained in:
2020-03-24 03:11:43 +02:00
parent 86f671c87c
commit e051134a79
22 changed files with 739 additions and 324 deletions

View File

@@ -104,50 +104,13 @@ class ComponentbuilderModelLanguage_translations extends JModelList
continue;
}
// escape all strings if not being exported
if (!isset($_export))
{
$item->source = ComponentbuilderHelper::htmlEscape($item->source, 'UTF-8', true, 150);
}
}
}
// show all languages that are already set for this string
if (!isset($_export) && ComponentbuilderHelper::checkArray($items))
{
foreach ($items as $nr => &$item)
{
$langBucket = array();
if (ComponentbuilderHelper::checkJson($item->translation))
{
$translations = json_decode($item->translation, true);
if (ComponentbuilderHelper::checkArray($translations))
{
foreach ($translations as $language)
{
if (isset($language['translation']) && ComponentbuilderHelper::checkString($language['translation'])
&& isset($language['language']) && ComponentbuilderHelper::checkString($language['language']))
{
$langBucket[$language['language']] = $language['language'];
}
}
}
}
// set how many component use this string
$componentCounter = '';
if (ComponentbuilderHelper::checkJson($item->components))
{
$item->components = json_decode($item->components, true);
}
if (ComponentbuilderHelper::checkArray($item->components))
{
$componentCounter = ' - <small>' . JText::_('COM_COMPONENTBUILDER_USED_IN') . ' ' . count($item->components) . '</small>';
}
// load the languages to the string
if (ComponentbuilderHelper::checkArray($langBucket))
{
$item->source = '<small><em>(' . implode(', ', $langBucket) . ')</em></small> ' . ComponentbuilderHelper::htmlEscape($item->source, 'UTF-8', true, 150) . $componentCounter;
}
else
{
$item->source = '<small><em>(' . JText::_('COM_COMPONENTBUILDER_NOTRANSLATION') . ')</em></small> ' . ComponentbuilderHelper::htmlEscape($item->source, 'UTF-8', true, 150) . $componentCounter;
}
}
}
// prep the lang strings for export
if (isset($_export) && $_export && ComponentbuilderHelper::checkArray($items))
{
@@ -157,6 +120,8 @@ class ComponentbuilderModelLanguage_translations extends JModelList
{
// remove some values completely
unset($item->components);
unset($item->modules);
unset($item->plugins);
unset($item->params);
unset($item->published);
unset($item->created_by);
@@ -331,6 +296,11 @@ class ComponentbuilderModelLanguage_translations extends JModelList
continue;
}
// escape all strings if not being exported
if (!isset($_export))
{
$item->source = ComponentbuilderHelper::htmlEscape($item->source, 'UTF-8', true, 150);
}
// unset the values we don't want exported.
unset($item->asset_id);
unset($item->checked_out);
@@ -344,49 +314,7 @@ class ComponentbuilderModelLanguage_translations extends JModelList
array_unshift($items,$headers);
}
// show all languages that are already set for this string
if (!isset($_export) && ComponentbuilderHelper::checkArray($items))
{
foreach ($items as $nr => &$item)
{
$langBucket = array();
if (ComponentbuilderHelper::checkJson($item->translation))
{
$translations = json_decode($item->translation, true);
if (ComponentbuilderHelper::checkArray($translations))
{
foreach ($translations as $language)
{
if (isset($language['translation']) && ComponentbuilderHelper::checkString($language['translation'])
&& isset($language['language']) && ComponentbuilderHelper::checkString($language['language']))
{
$langBucket[$language['language']] = $language['language'];
}
}
}
}
// set how many component use this string
$componentCounter = '';
if (ComponentbuilderHelper::checkJson($item->components))
{
$item->components = json_decode($item->components, true);
}
if (ComponentbuilderHelper::checkArray($item->components))
{
$componentCounter = ' - <small>' . JText::_('COM_COMPONENTBUILDER_USED_IN') . ' ' . count($item->components) . '</small>';
}
// load the languages to the string
if (ComponentbuilderHelper::checkArray($langBucket))
{
$item->source = '<small><em>(' . implode(', ', $langBucket) . ')</em></small> ' . ComponentbuilderHelper::htmlEscape($item->source, 'UTF-8', true, 150) . $componentCounter;
}
else
{
$item->source = '<small><em>(' . JText::_('COM_COMPONENTBUILDER_NOTRANSLATION') . ')</em></small> ' . ComponentbuilderHelper::htmlEscape($item->source, 'UTF-8', true, 150) . $componentCounter;
}
}
}
// prep the lang strings for export
// prep the lang strings for export
if (isset($_export) && $_export && ComponentbuilderHelper::checkArray($items))
{
// insure we have the same order in the languages
@@ -395,6 +323,8 @@ class ComponentbuilderModelLanguage_translations extends JModelList
{
// remove some values completely
unset($item->components);
unset($item->modules);
unset($item->plugins);
unset($item->params);
unset($item->published);
unset($item->created_by);