Added the new language feature to the export and import of Components, so that their related translations can also be linked to the exported package.
This commit is contained in:
parent
2f90f9359c
commit
d113d7b91b
@ -109,7 +109,7 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Version*: 2.4.2
|
||||
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
|
||||
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
+ *Line count*: **105639**
|
||||
+ *Line count*: **105804**
|
||||
+ *File count*: **639**
|
||||
+ *Folder count*: **115**
|
||||
|
||||
|
@ -109,7 +109,7 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Version*: 2.4.2
|
||||
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
|
||||
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
+ *Line count*: **105639**
|
||||
+ *Line count*: **105804**
|
||||
+ *File count*: **639**
|
||||
+ *Folder count*: **115**
|
||||
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.css
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.php
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.js
|
||||
|
@ -691,6 +691,16 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// we then store the languages
|
||||
if (!$this->saveSmartItems($data, 'language', $db, $user, $today))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// we then store the language translations
|
||||
if (!$this->saveSmartItems($data, 'language_translation', $db, $user, $today))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// we then store the custom_code
|
||||
if (!$this->saveSmartItems($data, 'custom_code', $db, $user, $today))
|
||||
{
|
||||
@ -845,6 +855,12 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
|
||||
// okay we have it local (check if the version is newer)
|
||||
if ($this->forceUpdate == 1 || $dbDate > $localDate)
|
||||
{
|
||||
// add some local values to item to combine
|
||||
if ($type === 'language_translation')
|
||||
{
|
||||
$item->localComponents = $local->components;
|
||||
$item->localTranslation = $local->translation;
|
||||
}
|
||||
// make sure we have the correct ID set
|
||||
$item->id = $local->id;
|
||||
// yes it is newer, lets update (or is being forced)
|
||||
@ -1416,6 +1432,87 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'language_translation':
|
||||
// update the component ID where needed
|
||||
if (isset($item->components) && ComponentbuilderHelper::checkJson($item->components))
|
||||
{
|
||||
$components = json_decode($item->components, true);
|
||||
foreach ($components as $nr => $id)
|
||||
{
|
||||
if (!is_numeric($id))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// update the components
|
||||
if (isset($this->newID['joomla_component'][$id]))
|
||||
{
|
||||
$components[$nr] = $this->newID['joomla_component'][$id];
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($components[$nr]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// load the local components if found
|
||||
if (isset($item->localComponents) && ComponentbuilderHelper::checkJson($item->localComponents))
|
||||
{
|
||||
if (!isset($components))
|
||||
{
|
||||
$components= array();
|
||||
}
|
||||
$localComponents = json_decode($item->localComponents, true);
|
||||
foreach ($localComponents as $lid)
|
||||
{
|
||||
if (!is_numeric($lid))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// add if not already there
|
||||
if (!in_array($lid, $components))
|
||||
{
|
||||
$components[] = $lid;
|
||||
}
|
||||
}
|
||||
}
|
||||
// remove the localComponents
|
||||
if (isset($item->localComponents))
|
||||
{
|
||||
unset($item->localComponents);
|
||||
}
|
||||
// load it back
|
||||
if (isset($components) && ComponentbuilderHelper::checkArray($components))
|
||||
{
|
||||
// load it back
|
||||
$item->components = json_encode(array_values($components));
|
||||
}
|
||||
// merge the translations where needed
|
||||
if (isset($item->translation) && isset($item->localTranslation)
|
||||
&& ComponentbuilderHelper::checkJson($item->translation)
|
||||
&& ComponentbuilderHelper::checkJson($item->localTranslation))
|
||||
{
|
||||
$translations = json_decode($item->translation, true);
|
||||
$localTranslations = json_decode($item->localTranslation, true);
|
||||
foreach ($localTranslations['translation'] as $nr => $value)
|
||||
{
|
||||
if (!in_array($value, $translations['translation']))
|
||||
{
|
||||
$translations['translation'][] = $value;
|
||||
$translations['language'][] = $localTranslations['language'][$nr];
|
||||
}
|
||||
}
|
||||
$item->translation = json_encode($translations);
|
||||
}
|
||||
elseif (isset($item->localTranslation) && ComponentbuilderHelper::checkJson($item->localTranslation))
|
||||
{
|
||||
$item->translation = $item->localTranslation;
|
||||
}
|
||||
// remove the localTranslation
|
||||
if (isset($item->localTranslation))
|
||||
{
|
||||
unset($item->localTranslation);
|
||||
}
|
||||
break;
|
||||
}
|
||||
// final action prep
|
||||
switch($action)
|
||||
@ -1829,6 +1926,14 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
|
||||
$retryAgain = 2;
|
||||
}
|
||||
break;
|
||||
case 'language_translation':
|
||||
// get by English translation since there should just be one
|
||||
$getter = 'entranslation';
|
||||
break;
|
||||
case 'language':
|
||||
// get by language tag since there should just be one
|
||||
$getter = 'langtag';
|
||||
break;
|
||||
default:
|
||||
// can't be found so return false
|
||||
return false;
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.php
|
||||
@ -213,6 +213,8 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
$this->setData($user, $db, 'site_view', $item->addsite_views, 'siteview');
|
||||
// set the custom code ID's
|
||||
$this->setCustomCodeIds($item, 'joomla_component');
|
||||
// set the language strings for this component
|
||||
$this->setLanguageTranslation($user, $db, $item->id);
|
||||
// load to global object
|
||||
$this->smartExport['joomla_component'][$item->id] = $item;
|
||||
}
|
||||
@ -882,6 +884,64 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the language strings for this component
|
||||
*
|
||||
* @param int $id The component id
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
protected function setLanguageTranslation(&$user, &$db, &$id)
|
||||
{
|
||||
// Create a new query object.
|
||||
$query = $db->getQuery(true);
|
||||
$query->select(array('a.*'));
|
||||
$query->from('#__componentbuilder_language_translation AS a');
|
||||
// Implement View Level Access
|
||||
if (!$user->authorise('core.options', 'com_componentbuilder'))
|
||||
{
|
||||
$groups = implode(',', $user->getAuthorisedViewLevels());
|
||||
$query->where('a.access IN (' . $groups . ')');
|
||||
}
|
||||
|
||||
// Order the results by ordering
|
||||
$query->order('a.ordering ASC');
|
||||
|
||||
// Load the items
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
$items = $db->loadObjectList();
|
||||
// check if we have items
|
||||
if (ComponentbuilderHelper::checkArray($items))
|
||||
{
|
||||
if (!isset($this->smartExport['language_translation']))
|
||||
{
|
||||
$this->smartExport['language_translation'] = array();
|
||||
}
|
||||
foreach ($items as $item)
|
||||
{
|
||||
if (!isset($this->smartExport['language_translation'][$item->id]) && ComponentbuilderHelper::checkJson($item->components))
|
||||
{
|
||||
$components = json_decode($item->components, true);
|
||||
if (in_array($id, $components))
|
||||
{
|
||||
// load to global object
|
||||
$this->smartExport['language_translation'][$item->id] = $item;
|
||||
// add languages
|
||||
if (isset($item->translation))
|
||||
{
|
||||
$this->setData($user, $db, 'language', $item->translation, 'language');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the package name
|
||||
*
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.php
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage submitbutton.js
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage edit.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage view.html.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage default.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage default_batch_body.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage default_batch_footer.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage default_body.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage default_foot.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage default_head.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage default_toolbar.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 318 of this MVC
|
||||
@build 5th April, 2017
|
||||
@version @update number 329 of this MVC
|
||||
@build 6th April, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage view.html.php
|
||||
|
Loading…
x
Reference in New Issue
Block a user