forked from joomla/Component-Builder
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…
Reference in New Issue
Block a user