Auto create update SQL #102
14
README.md
14
README.md
@ -1,4 +1,4 @@
|
||||
# Component Builder (2.4.6)
|
||||
# Component Builder (2.4.7)
|
||||
|
||||
This is a [Joomla 3.x](http://www.joomla.org/) component.
|
||||
|
||||
@ -8,7 +8,7 @@ The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanc
|
||||
|
||||
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.6) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.7) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
@ -107,12 +107,12 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 5th June, 2017
|
||||
+ *Version*: 2.4.6
|
||||
+ *Last Build*: 18th June, 2017
|
||||
+ *Version*: 2.4.7
|
||||
+ *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*: **106028**
|
||||
+ *File count*: **643**
|
||||
+ *Line count*: **106061**
|
||||
+ *File count*: **644**
|
||||
+ *Folder count*: **115**
|
||||
|
||||
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
|
||||
@ -122,4 +122,4 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
|
||||
Come on buy me a coffee :)
|
||||
* PayPal: pay@vdm.io
|
||||
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
|
||||
* Bitcoin: 1Ga1WZyxC4ArSKuiFpUxdqzjfkAR1kJhZh
|
@ -1,4 +1,4 @@
|
||||
# Component Builder (2.4.6)
|
||||
# Component Builder (2.4.7)
|
||||
|
||||
This is a [Joomla 3.x](http://www.joomla.org/) component.
|
||||
|
||||
@ -8,7 +8,7 @@ The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanc
|
||||
|
||||
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.6) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.7) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
@ -107,12 +107,12 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 5th June, 2017
|
||||
+ *Version*: 2.4.6
|
||||
+ *Last Build*: 18th June, 2017
|
||||
+ *Version*: 2.4.7
|
||||
+ *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*: **106028**
|
||||
+ *File count*: **643**
|
||||
+ *Line count*: **106061**
|
||||
+ *File count*: **644**
|
||||
+ *Folder count*: **115**
|
||||
|
||||
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
|
||||
@ -122,4 +122,4 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
|
||||
Come on buy me a coffee :)
|
||||
* PayPal: pay@vdm.io
|
||||
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
|
||||
* Bitcoin: 1Ga1WZyxC4ArSKuiFpUxdqzjfkAR1kJhZh
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage dashboard.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtype.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtypes.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 338 of this MVC
|
||||
@build 29th May, 2017
|
||||
@build 16th June, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 338 of this MVC
|
||||
@build 29th May, 2017
|
||||
@build 16th June, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.css
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage controller.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage ajax.json.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtype.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtypes.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage help.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage import.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage import_joomla_components.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 338 of this MVC
|
||||
@build 29th May, 2017
|
||||
@build 16th June, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 338 of this MVC
|
||||
@build 29th May, 2017
|
||||
@build 16th June, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.php
|
||||
|
@ -477,6 +477,19 @@ class Get
|
||||
*/
|
||||
public $siteFields = array();
|
||||
|
||||
/**
|
||||
* The add SQL
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $addSQL = array();
|
||||
|
||||
/**
|
||||
* The update SQL
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $updateSQL = array();
|
||||
|
||||
/***
|
||||
* Constructor
|
||||
@ -518,6 +531,27 @@ class Get
|
||||
}
|
||||
// get the component data
|
||||
$this->componentData = $this->getComponentData();
|
||||
// make sure we have a version
|
||||
if (strpos($this->componentData->component_version, '.') === FALSE)
|
||||
{
|
||||
$this->componentData->component_version = '1.0.0';
|
||||
}
|
||||
// update the version
|
||||
if (!isset($this->componentData->old_component_version)
|
||||
&& (ComponentbuilderHelper::checkArray($this->addSQL) || ComponentbuilderHelper::checkArray($this->updateSQL)))
|
||||
{
|
||||
// set the new version
|
||||
$version = (array) explode('.', $this->componentData->component_version);
|
||||
// get last key
|
||||
end($version);
|
||||
$key = key($version);
|
||||
// just increment the last
|
||||
$version[$key]++;
|
||||
// set the old version
|
||||
$this->componentData->old_component_version = $this->componentData->component_version;
|
||||
// set the new version, and set update switch
|
||||
$this->componentData->component_version = implode('.', $version);
|
||||
}
|
||||
// set the percentage when a language can be added
|
||||
$this->percentageLanguageAdd = (int) $this->params->get('percentagelanguageadd', 50);
|
||||
|
||||
@ -591,6 +625,7 @@ class Get
|
||||
}
|
||||
unset($component->addfolders);
|
||||
}
|
||||
|
||||
// ser the addfiles data
|
||||
$addfiles = json_decode($component->addfiles,true);
|
||||
if (ComponentbuilderHelper::checkArray($addfiles))
|
||||
@ -657,6 +692,7 @@ class Get
|
||||
|
||||
// set the admin_view data
|
||||
$admin_views = json_decode($component->addadmin_views,true);
|
||||
|
||||
if (ComponentbuilderHelper::checkArray($admin_views))
|
||||
{
|
||||
foreach ($admin_views as $option => $values)
|
||||
@ -832,6 +868,25 @@ class Get
|
||||
}
|
||||
}
|
||||
|
||||
// build update SQL
|
||||
if ($old_component = $this->getHistoryWatch('joomla_component', $this->componentID))
|
||||
{
|
||||
// add new views if found
|
||||
if (isset($old_component->addadmin_views) && ComponentbuilderHelper::checkJson($old_component->addadmin_views))
|
||||
{
|
||||
$this->setUpdateSQL(json_decode($old_component->addadmin_views, true), $admin_views, 'adminview');
|
||||
}
|
||||
// check if a new version was manualy set
|
||||
$old_component_version = preg_replace('/[^0-9.]+/', '', $old_component->component_version);
|
||||
if ($old_component_version != $this->component_version)
|
||||
{
|
||||
// yes, this is a new version, this mean there may be manual sql and must be checked and updated
|
||||
$component->old_component_version = $old_component_version;
|
||||
}
|
||||
// clear this data
|
||||
unset($old_component);
|
||||
}
|
||||
|
||||
// add_css
|
||||
if ($component->add_css == 1)
|
||||
{
|
||||
@ -1106,6 +1161,22 @@ class Get
|
||||
unset($view->addlinked_views);
|
||||
$tables = json_decode($view->addtables,true);
|
||||
unset($view->addtables);
|
||||
// build update SQL
|
||||
if ($old_view = $this->getHistoryWatch('admin_view', $id))
|
||||
{
|
||||
// add new fields were added
|
||||
if (isset($old_view->addfields) && ComponentbuilderHelper::checkJson($old_view->addfields))
|
||||
{
|
||||
$this->setUpdateSQL(json_decode($old_view->addfields, true), $fields, 'field', $name_single);
|
||||
}
|
||||
// check if the view name changed
|
||||
if (ComponentbuilderHelper::checkString($old_view->name_single))
|
||||
{
|
||||
$this->setUpdateSQL(ComponentbuilderHelper::safeString($old_view->name_single), $name_single, 'table_name', $name_single);
|
||||
}
|
||||
// clear this data
|
||||
unset($old_view);
|
||||
}
|
||||
// sort the values
|
||||
if (ComponentbuilderHelper::checkArray($tables))
|
||||
{
|
||||
@ -1430,6 +1501,7 @@ class Get
|
||||
unset($view->sql);
|
||||
}
|
||||
}
|
||||
// store this view to class object
|
||||
$this->_adminViewData[$id] = $view;
|
||||
}
|
||||
// return the found view data
|
||||
@ -1689,6 +1761,9 @@ class Get
|
||||
$this->basicEncryption = true;
|
||||
}
|
||||
|
||||
// get the last used version
|
||||
$field->history = $this->getHistoryWatch('field', $id);
|
||||
|
||||
$this->_fieldData[$id] = $field;
|
||||
}
|
||||
else
|
||||
@ -2151,6 +2226,210 @@ class Get
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* check if an update SQL is needed
|
||||
*
|
||||
* @param mix $old The old values
|
||||
* @param mix $new The new values
|
||||
* @param string $type The type of values
|
||||
* @param int $key The id/key where values changed
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
protected function setUpdateSQL($old, $new, $type, $key = null)
|
||||
{
|
||||
// check if there were new items added
|
||||
if (isset($new[$type]) && ComponentbuilderHelper::checkArray($new[$type])
|
||||
&& isset($old[$type]) && ComponentbuilderHelper::checkArray($old[$type]))
|
||||
{
|
||||
foreach ($new[$type] as $item)
|
||||
{
|
||||
if (!in_array($item, $old[$type]))
|
||||
{
|
||||
// we have a new item, lets add to SQL
|
||||
if (!isset($this->addSQL[$type]) || !ComponentbuilderHelper::checkArray($this->addSQL[$type]))
|
||||
{
|
||||
$this->addSQL[$type] = array();
|
||||
}
|
||||
// add key if found
|
||||
if ($key)
|
||||
{
|
||||
if (!isset($this->addSQL[$type][$key]) || !ComponentbuilderHelper::checkArray($this->addSQL[$type][$key]))
|
||||
{
|
||||
$this->addSQL[$type][$key] = array();
|
||||
}
|
||||
$this->addSQL[$type][$key][] = (int) $item;
|
||||
}
|
||||
else
|
||||
{
|
||||
// convert adminview id to name
|
||||
if ('adminview' === $type)
|
||||
{
|
||||
$this->addSQL[$type][] = ComponentbuilderHelper::safeString($this->getAdminViewData($item)->name_single);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->addSQL[$type][] = (int) item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ($key && ComponentbuilderHelper::checkString($new)
|
||||
&& ComponentbuilderHelper::checkString($old)
|
||||
&& $new !== $old)
|
||||
{
|
||||
// the string changed, lets add to SQL update
|
||||
if (!isset($this->updateSQL[$type]) || !ComponentbuilderHelper::checkArray($this->updateSQL[$type]))
|
||||
{
|
||||
$this->updateSQL[$type] = array();
|
||||
}
|
||||
// set at key
|
||||
$this->updateSQL[$type][$key] = array('old' => $old, 'new' => $new);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Item History values
|
||||
*
|
||||
* @param string $type The type of item
|
||||
* @param int $id The item ID
|
||||
*
|
||||
* @return oject The history
|
||||
*
|
||||
*/
|
||||
protected function getHistoryWatch($type, $id)
|
||||
{
|
||||
// quick class object to store old history object
|
||||
$this->tmpHistory = null;
|
||||
// Create a new query object.
|
||||
$query = $this->db->getQuery(true);
|
||||
|
||||
$query->select('h.*');
|
||||
$query->from('#__ucm_history AS h');
|
||||
$query->where($this->db->quoteName('h.ucm_item_id') . ' = '. (int) $id);
|
||||
// Join over the content type for the type id
|
||||
$query->join('LEFT', '#__content_types AS ct ON ct.type_id = h.ucm_type_id');
|
||||
$query->where('ct.type_alias = ' . $this->db->quote('com_componentbuilder.'.$type));
|
||||
$query->order('h.save_date DESC');
|
||||
$this->db->setQuery($query, 0, 1);
|
||||
$this->db->execute();
|
||||
if ($this->db->getNumRows())
|
||||
{
|
||||
// new version of this item found
|
||||
// so we need to mark it as the last compiled version
|
||||
$newActive = $this->db->loadObject();
|
||||
// set the new version watch
|
||||
$this->setHistoryWatch($newActive, 1);
|
||||
}
|
||||
// Get last compiled verion
|
||||
$query = $this->db->getQuery(true);
|
||||
|
||||
$query->select('h.*');
|
||||
$query->from('#__ucm_history AS h');
|
||||
$query->where($this->db->quoteName('h.ucm_item_id') . ' = ' . (int) $id);
|
||||
$query->where('h.keep_forever = 1');
|
||||
$query->where('h.version_note LIKE ' . $this->db->quote('%component%'));
|
||||
// make sure it does not return the active version
|
||||
if (isset($newActive) && isset($newActive->version_id))
|
||||
{
|
||||
$query->where('h.version_id != ' . (int) $newActive->version_id);
|
||||
}
|
||||
// Join over the content type for the type id
|
||||
$query->join('LEFT', '#__content_types AS ct ON ct.type_id = h.ucm_type_id');
|
||||
$query->where('ct.type_alias = ' . $this->db->quote('com_componentbuilder.'.$type));
|
||||
$query->order('h.save_date DESC');
|
||||
$this->db->setQuery($query);
|
||||
$this->db->execute();
|
||||
if ($this->db->getNumRows())
|
||||
{
|
||||
// the old active version was found
|
||||
// so we may need to do an SQL update
|
||||
// and unmark the old compiled version
|
||||
$oldActives = $this->db->loadObjectList();
|
||||
foreach ($oldActives as $oldActive)
|
||||
{
|
||||
// remove old version watch
|
||||
$this->setHistoryWatch($oldActive, 0);
|
||||
}
|
||||
}
|
||||
// return the last used history record or null.
|
||||
return $this->tmpHistory;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Item History Watch
|
||||
*
|
||||
* @param Object $object The history object
|
||||
* @param int $action The action to take
|
||||
* 0 = remove watch
|
||||
* 1 = add watch
|
||||
* @param string $type The type of item
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
protected function setHistoryWatch($object, $action)
|
||||
{
|
||||
// check the note
|
||||
if (ComponentbuilderHelper::checkJson($object->version_note))
|
||||
{
|
||||
$version_note = json_decode($object->version_note, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$version_note = array('component' => array());
|
||||
}
|
||||
// set watch
|
||||
switch ($action)
|
||||
{
|
||||
case 0:
|
||||
// remove watch
|
||||
if(isset($version_note['component']) && ($key = array_search($this->componentID, $version_note['component'])) !== false)
|
||||
{
|
||||
// last version that was used to build/compile
|
||||
$this->tmpHistory = json_decode($object->version_data);
|
||||
// remove it from this component
|
||||
unset($version_note['component'][$key]);
|
||||
}
|
||||
else
|
||||
{
|
||||
// since it was not found, no need to update anything
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
// add watch
|
||||
if (!in_array($this->componentID, $version_note['component']))
|
||||
{
|
||||
$version_note['component'][] = $this->componentID;
|
||||
}
|
||||
else
|
||||
{
|
||||
// since it is there already, no need to update anything
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// check if we need to still keep this locked
|
||||
if (isset($version_note['component']) && ComponentbuilderHelper::checkArray($version_note['component']))
|
||||
{
|
||||
// insure component ids are only added once per item
|
||||
$version_note['component'] = array_unique($version_note['component']);
|
||||
// we may change this, little risky (but since JCB does not have history notes it should be okay for now)
|
||||
$object->version_note = json_encode($version_note);
|
||||
$object->keep_forever = '1';
|
||||
}
|
||||
else
|
||||
{
|
||||
$object->version_note = '';
|
||||
$object->keep_forever = '0';
|
||||
}
|
||||
// run the update
|
||||
return $this->db->updateObject('#__ucm_history', $object, 'version_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Template and Layout Data
|
||||
*
|
||||
|
@ -229,6 +229,13 @@ class Fields extends Structure
|
||||
*/
|
||||
public $jsonStringBuilder = array();
|
||||
|
||||
/**
|
||||
* Json String Builder for return values to array
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $jsonItemBuilderArray = array();
|
||||
|
||||
/**
|
||||
* Json Item Builder
|
||||
*
|
||||
@ -761,8 +768,8 @@ class Fields extends Structure
|
||||
}
|
||||
elseif ($this->defaultField($typeName, 'special'))
|
||||
{
|
||||
// set the repeatable field
|
||||
if ($typeName === 'repeatable')
|
||||
// set the repeatable field or subform field
|
||||
if ($typeName === 'repeatable' || $typeName === 'subform')
|
||||
{
|
||||
if ($build)
|
||||
{
|
||||
@ -1026,6 +1033,93 @@ class Fields extends Structure
|
||||
$fieldSet .= PHP_EOL."\t\t\t</fields>";
|
||||
$fieldSet .= PHP_EOL."\t\t</field>";
|
||||
}
|
||||
// set the subform fields (it is a repeatable without the modal)
|
||||
elseif ($typeName === 'subform')
|
||||
{
|
||||
// now add to the field set
|
||||
$fieldSet .= PHP_EOL."\t\t<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
|
||||
$fieldSet .= PHP_EOL."\t\t<field";
|
||||
$fieldsSet = array();
|
||||
foreach ($fieldAttributes as $property => $value)
|
||||
{
|
||||
if ($property != 'fields')
|
||||
{
|
||||
$fieldSet .= PHP_EOL."\t\t\t" . $property . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
$fieldSet .= ">";
|
||||
$fieldSet .= PHP_EOL."\t\t\t" . '<form hidden="true" name="list_' . $fieldAttributes['name'] . '_modal" repeat="true">';
|
||||
if (strpos($fieldAttributes['fields'], ',') !== false)
|
||||
{
|
||||
// mulitpal fields
|
||||
$fieldsSets = (array) explode(',', $fieldAttributes['fields']);
|
||||
}
|
||||
elseif (is_numeric($fieldAttributes['fields']))
|
||||
{
|
||||
// single field
|
||||
$fieldsSets[] = (int) $fieldAttributes['fields'];
|
||||
}
|
||||
// only continue if we have a field set
|
||||
if (ComponentbuilderHelper::checkArray($fieldsSets))
|
||||
{
|
||||
foreach ($fieldsSets as $fieldId)
|
||||
{
|
||||
// get the field data
|
||||
$fieldData = array();
|
||||
$fieldData['settings'] = $this->getFieldData($fieldId, $viewName);
|
||||
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
|
||||
{
|
||||
$r_name = ComponentbuilderHelper::safeString($fieldData['settings']->name);
|
||||
$r_typeName = ComponentbuilderHelper::safeString($fieldData['settings']->type_name);
|
||||
$r_multiple = false;
|
||||
$r_langLabel = '';
|
||||
// add the tabs needed
|
||||
$taber = "\t\t";
|
||||
// get field values
|
||||
$r_fieldValues = $this->setFieldAttributes($fieldData, $view, $r_name, $r_typeName, $r_multiple, $r_langLabel, $langView, $spacerCounter, $listViewName, $viewName, $placeholders, true);
|
||||
// check if values were set
|
||||
if (ComponentbuilderHelper::checkArray($r_fieldValues))
|
||||
{
|
||||
//reset options array
|
||||
$r_optionArray = array();
|
||||
if ($this->defaultField($r_typeName, 'option'))
|
||||
{
|
||||
// now add to the field set
|
||||
$fieldSet .= $this->setField('option', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
|
||||
}
|
||||
elseif ($this->defaultField($r_typeName, 'plain'))
|
||||
{
|
||||
// now add to the field set
|
||||
$fieldSet .= $this->setField('plain', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkArray($r_fieldValues['custom']))
|
||||
{
|
||||
// add to custom
|
||||
$custom = $r_fieldValues['custom'];
|
||||
unset($r_fieldValues['custom']);
|
||||
// now add to the field set
|
||||
$fieldSet .= $this->setField('custom', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
|
||||
// set lang (just incase)
|
||||
$r_listLangName = $langView . '_' . ComponentbuilderHelper::safeString($r_name, 'U');
|
||||
// add to lang array
|
||||
$this->langContent[$this->lang][$r_listLangName] = ComponentbuilderHelper::safeString($r_name, 'W');
|
||||
// if label was set use instead
|
||||
if (ComponentbuilderHelper::checkString($r_langLabel))
|
||||
{
|
||||
$r_listLangName = $r_langLabel;
|
||||
}
|
||||
// set the custom array
|
||||
$data = array('type' => $r_typeName, 'code' => $r_name, 'lang' => $r_listLangName, 'custom' => $custom);
|
||||
// set the custom field file
|
||||
$this->setCustomFieldTypeFile($data, $listViewName, $viewName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$fieldSet .= PHP_EOL."\t\t\t</form>";
|
||||
$fieldSet .= PHP_EOL."\t\t</field>";
|
||||
}
|
||||
}
|
||||
elseif ($setType === 'custom')
|
||||
{
|
||||
@ -1665,6 +1759,8 @@ class Fields extends Structure
|
||||
$this->queryBuilder[$viewName][$name]['lenght_other'] = $field['settings']->datalenght_other;
|
||||
$this->queryBuilder[$viewName][$name]['default'] = $field['settings']->datadefault;
|
||||
$this->queryBuilder[$viewName][$name]['other'] = $field['settings']->datadefault_other;
|
||||
// to identify the field
|
||||
$this->queryBuilder[$viewName][$name]['ID'] = $field['settings']->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1727,7 +1823,7 @@ class Fields extends Structure
|
||||
}
|
||||
}
|
||||
// build the list values
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable')
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
// load to list builder
|
||||
$this->listBuilder[$listViewName][] = array(
|
||||
@ -1763,7 +1859,7 @@ class Fields extends Structure
|
||||
$this->intFieldsBuilder[$viewName] .= ',"' . $name . '"';
|
||||
}
|
||||
// set all dynamic field of this view
|
||||
if ($typeName != 'category' && $typeName != 'repeatable' && !in_array($name, $this->defaultFields))
|
||||
if ($typeName != 'category' && $typeName != 'repeatable' && $typeName != 'subform' && !in_array($name, $this->defaultFields))
|
||||
{
|
||||
if (!isset($this->dynamicfieldsBuilder[$viewName]))
|
||||
{
|
||||
@ -1788,7 +1884,7 @@ class Fields extends Structure
|
||||
}
|
||||
}
|
||||
// set the custom builder
|
||||
if (ComponentbuilderHelper::checkArray($custom) && $typeName != 'category' && $typeName != 'repeatable')
|
||||
if (ComponentbuilderHelper::checkArray($custom) && $typeName != 'category' && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
$this->customBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom, 'method' => $field['settings']->store);
|
||||
// set the custom fields needed in content type data
|
||||
@ -1834,7 +1930,7 @@ class Fields extends Structure
|
||||
$this->checkboxBuilder[$viewName][] = $name;
|
||||
}
|
||||
// setup checkboxes and other json items for this view
|
||||
if (($typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && $typeName != 'tag')
|
||||
if (($typeName === 'subform' || $typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && $typeName != 'tag')
|
||||
{
|
||||
switch ($field['settings']->store)
|
||||
{
|
||||
@ -1876,7 +1972,7 @@ class Fields extends Structure
|
||||
}
|
||||
|
||||
// load the json list display fix
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable')
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
if (ComponentbuilderHelper::checkArray($options))
|
||||
{
|
||||
@ -1887,6 +1983,12 @@ class Fields extends Structure
|
||||
$this->getItemsMethodListStringFixBuilder[$viewName][] = array('name' => $name, 'type' => $typeName, 'translation' => false, 'custom' => $custom, 'method' => $field['settings']->store);
|
||||
}
|
||||
}
|
||||
|
||||
// if subform the values must revert to array
|
||||
if ('subform' === $typeName)
|
||||
{
|
||||
$this->jsonItemBuilderArray[$viewName][] = $name;
|
||||
}
|
||||
}
|
||||
// build the data for the export & import methods $typeName === 'repeatable' ||
|
||||
if (($typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && !ComponentbuilderHelper::checkArray($options))
|
||||
@ -1897,12 +1999,12 @@ class Fields extends Structure
|
||||
// check if field should be added to uikit
|
||||
$this->buildSiteFieldData($viewName, $name, 'uikit', $typeName);
|
||||
// load the selection translation fix
|
||||
if (ComponentbuilderHelper::checkArray($options) && $field['list'] == 1 && $typeName != 'repeatable')
|
||||
if (ComponentbuilderHelper::checkArray($options) && $field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
$this->selectionTranslationFixBuilder[$listViewName][$name] = $options;
|
||||
}
|
||||
// build the sort values
|
||||
if ($field['sort'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable'))
|
||||
if ($field['sort'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform'))
|
||||
{
|
||||
$this->sortBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom, 'options' => $options);
|
||||
}
|
||||
@ -1912,7 +2014,7 @@ class Fields extends Structure
|
||||
$this->searchBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'custom' => $custom, 'list' => $field['list']);
|
||||
}
|
||||
// build the filter values
|
||||
if ($field['filter'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable'))
|
||||
if ($field['filter'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform'))
|
||||
{
|
||||
$this->filterBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'database' => $viewName, 'function' => ComponentbuilderHelper::safeString($name, 'F'), 'custom' => $custom, 'options' => $options);
|
||||
}
|
||||
@ -2069,7 +2171,7 @@ class Fields extends Structure
|
||||
'chromestyle', 'contenttype', 'databaseconnection', 'editors', 'email', 'file',
|
||||
'filelist', 'folderlist', 'groupedlist', 'hidden', 'file', 'headertag', 'helpsite',
|
||||
'imagelist', 'integer', 'language', 'list', 'media', 'menu', 'note', 'number', 'password',
|
||||
'plugins', 'radio', 'repeatable', 'range', 'rules', 'sessionhandler', 'spacer', 'sql', 'tag',
|
||||
'plugins', 'radio', 'repeatable', 'range', 'rules', 'subform', 'sessionhandler', 'spacer', 'sql', 'tag',
|
||||
'tel', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition', 'moduletag',
|
||||
'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
),
|
||||
@ -2090,7 +2192,7 @@ class Fields extends Structure
|
||||
),
|
||||
'special' => array(
|
||||
'contentlanguage', 'groupedlist', 'moduleposition', 'plugin',
|
||||
'repeatable', 'templatestyle'
|
||||
'repeatable', 'templatestyle', 'subform'
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -33,6 +33,7 @@ class Interpretation extends Fields
|
||||
{
|
||||
public $theContributors = '';
|
||||
public $uninstallBuilder = array();
|
||||
public $updateSQLBuilder = array();
|
||||
public $listColnrBuilder = array();
|
||||
public $permissionBuilder = array();
|
||||
public $permissionDashboard = array();
|
||||
@ -522,8 +523,7 @@ class Interpretation extends Fields
|
||||
|
||||
public function setVersionController()
|
||||
{
|
||||
$updateServer = '';
|
||||
if (ComponentbuilderHelper::checkArray($this->componentData->version_update))
|
||||
if (ComponentbuilderHelper::checkArray($this->componentData->version_update) || ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
$updateXML = array();
|
||||
// add the update server
|
||||
@ -531,51 +531,33 @@ class Interpretation extends Fields
|
||||
{
|
||||
$updateXML[] = '<updates>';
|
||||
}
|
||||
// add the update sql
|
||||
$addSQL = true;
|
||||
foreach ($this->componentData->version_update as $update)
|
||||
|
||||
// add the dynamic sql switch
|
||||
$addDynamicSQL = true;
|
||||
$addActive = true;
|
||||
if (ComponentbuilderHelper::checkArray($this->componentData->version_update))
|
||||
{
|
||||
// ensure version naming is correct
|
||||
$update['version'] = preg_replace('/[^0-9.]+/', '', $update['version']);
|
||||
// check if the sql should be added
|
||||
foreach ($this->componentData->version_update as $nr => &$update)
|
||||
{
|
||||
$this->setUpdateXMLSQL($update, $updateXML, $addDynamicSQL);
|
||||
|
||||
if ($update['version'] == $this->componentData->component_version)
|
||||
{
|
||||
$addSQL = false;
|
||||
$addActive = false;
|
||||
}
|
||||
// setup import files
|
||||
if ($addSQL)
|
||||
}
|
||||
}
|
||||
// add the dynamic sql if not already added
|
||||
if ($addDynamicSQL && ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
$name = ComponentbuilderHelper::safeString($update['version']);
|
||||
$target = array('admin' => $name);
|
||||
$this->buildDynamique($target,'sql_update',$update['version']);
|
||||
$this->fileContentDynamic[$name.'_'.$update['version']]['###UPDATE_VERSION_MYSQL###'] = $update['mysql'];
|
||||
// add the dynamic sql
|
||||
$this->setDynamicUpdateXMLSQL($updateXML);
|
||||
}
|
||||
// add the update server
|
||||
if ($this->componentData->add_update_server && $this->componentData->update_server_target != 3)
|
||||
// add the new active version if needed
|
||||
if ($addActive && ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
// build update xml
|
||||
$updateXML[] = "\t<update>";
|
||||
$updateXML[] = "\t\t<name>".$this->fileContentStatic['###Component_name###']."</name>";
|
||||
$updateXML[] = "\t\t<description>".$this->fileContentStatic['###SHORT_DESCRIPTION###']."</description>";
|
||||
$updateXML[] = "\t\t<element>com_".$this->fileContentStatic['###component###']."</element>";
|
||||
$updateXML[] = "\t\t<type>component</type>";
|
||||
$updateXML[] = "\t\t<version>".$update['version']."</version>";
|
||||
$updateXML[] = "\t\t".'<infourl title="'.$this->fileContentStatic['###Component_name###'].'!">'.$this->fileContentStatic['###AUTHORWEBSITE###'].'</infourl>';
|
||||
$updateXML[] = "\t\t<downloads>";
|
||||
if (!isset($update['url']))
|
||||
{
|
||||
$update['url'] = 'http://domain.com/demo.xml';
|
||||
}
|
||||
$updateXML[] = "\t\t\t".'<downloadurl type="full" format="zip">'.$update['url'].'</downloadurl>';
|
||||
$updateXML[] = "\t\t</downloads>";
|
||||
$updateXML[] = "\t\t<tags>";
|
||||
$updateXML[] = "\t\t\t<tag>stable</tag>";
|
||||
$updateXML[] = "\t\t</tags>";
|
||||
$updateXML[] = "\t\t<maintainer>".$this->fileContentStatic['###AUTHOR###']."</maintainer>";
|
||||
$updateXML[] = "\t\t<maintainerurl>".$this->fileContentStatic['###AUTHORWEBSITE###']."</maintainerurl>";
|
||||
$updateXML[] = "\t\t".'<targetplatform name="joomla" version="3.*"/>';
|
||||
$updateXML[] = "\t</update>";
|
||||
}
|
||||
// add the dynamic sql
|
||||
$this->setDynamicUpdateXMLSQL($updateXML, $addActive);
|
||||
}
|
||||
// add the update server file
|
||||
if ($this->componentData->add_update_server && $this->componentData->update_server_target != 3)
|
||||
@ -604,6 +586,141 @@ class Interpretation extends Fields
|
||||
}
|
||||
// add update server details to component XML file
|
||||
$this->fileContentStatic['###UPDATESERVER###'] = $updateServer;
|
||||
// ensure to update Component version data
|
||||
if (ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
$buket = array();
|
||||
$buket['version'] = array();
|
||||
$buket['mysql'] = array();
|
||||
$buket['url'] = array();
|
||||
foreach ($this->componentData->version_update as $values)
|
||||
{
|
||||
foreach ($values as $key => $value)
|
||||
{
|
||||
$buket[$key][] = $value;
|
||||
}
|
||||
}
|
||||
$new = array();
|
||||
$new['id'] = (int) $this->componentID;
|
||||
$new['component_version'] = $this->componentData->component_version;
|
||||
$new['version_update'] = json_encode($buket);
|
||||
// update the component with the new dynamic SQL
|
||||
$model = ComponentbuilderHelper::getModel('joomla_component');
|
||||
$model->save($new); // <-- to insure the history is also updated
|
||||
// reset the watch here
|
||||
$this->getHistoryWatch('joomla_component', $this->componentID);
|
||||
}
|
||||
}
|
||||
|
||||
public function setDynamicUpdateXMLSQL(&$updateXML, $current_version = false)
|
||||
{
|
||||
// start building the update
|
||||
$update_ = array();
|
||||
if ($current_version)
|
||||
{
|
||||
// setup new version
|
||||
$update_['version'] = $this->componentData->component_version;
|
||||
// setup SQL
|
||||
$update_['mysql'] = '';
|
||||
// setup URL
|
||||
$update_['url'] = 'http://domain.com/demo.zip';
|
||||
}
|
||||
else
|
||||
{
|
||||
// setup new version
|
||||
$update_['version'] = $this->componentData->old_component_version;
|
||||
// setup SQL
|
||||
$update_['mysql'] = trim(implode(PHP_EOL.PHP_EOL, $this->updateSQLBuilder));
|
||||
// setup URL
|
||||
if (isset($this->lastupdateURL))
|
||||
{
|
||||
$paceholders = array(
|
||||
$this->componentData->component_version => $this->componentData->old_component_version,
|
||||
str_replace('.','-', $this->componentData->component_version) => str_replace('.','-', $this->componentData->old_component_version),
|
||||
str_replace('.','_', $this->componentData->component_version) => str_replace('.','_', $this->componentData->old_component_version),
|
||||
str_replace('.','', $this->componentData->component_version) => str_replace('.','', $this->componentData->old_component_version)
|
||||
);
|
||||
$update_['url'] = $this->setPlaceholders($this->lastupdateURL, $paceholders);
|
||||
}
|
||||
else
|
||||
{
|
||||
// setup URL
|
||||
$update_['url'] = 'http://domain.com/demo.zip';
|
||||
}
|
||||
}
|
||||
// stop it from being added double
|
||||
$addDynamicSQL = false;
|
||||
$this->componentData->version_update[] = $update_;
|
||||
// add dynamic SQL
|
||||
$this->setUpdateXMLSQL($update_, $updateXML, $addDynamicSQL);
|
||||
}
|
||||
|
||||
public function setUpdateXMLSQL(&$update, &$updateXML, &$addDynamicSQL)
|
||||
{
|
||||
// ensure version naming is correct
|
||||
$update['version'] = preg_replace('/[^0-9.]+/', '', $update['version']);
|
||||
// setup SQL
|
||||
if (ComponentbuilderHelper::checkString($update['mysql']))
|
||||
{
|
||||
$update['mysql'] = $this->setPlaceholders($update['mysql'], $this->placeholders);
|
||||
}
|
||||
// add dynamic SQL
|
||||
$force = false;
|
||||
if ($addDynamicSQL && ComponentbuilderHelper::checkArray($this->updateSQLBuilder)
|
||||
&& (isset($this->componentData->old_component_version) && $this->componentData->old_component_version == $update['version']))
|
||||
{
|
||||
$searchMySQL = preg_replace('/\s+/', '', $update['mysql']);
|
||||
// add the updates to the SQL only if not found
|
||||
foreach ($this->updateSQLBuilder as $search => $query)
|
||||
{
|
||||
if (strpos($searchMySQL, $search) === FALSE)
|
||||
{
|
||||
$update['mysql'] .= PHP_EOL.PHP_EOL.$query;
|
||||
}
|
||||
}
|
||||
// make sure no unneeded white space is added
|
||||
$update['mysql'] = trim($update['mysql']);
|
||||
// update has been added
|
||||
$addDynamicSQL = false;
|
||||
}
|
||||
// setup import files
|
||||
if ($update['version'] != $this->componentData->component_version)
|
||||
{
|
||||
$name = ComponentbuilderHelper::safeString($update['version']);
|
||||
$target = array('admin' => $name);
|
||||
$this->buildDynamique($target,'sql_update',$update['version']);
|
||||
$this->fileContentDynamic[$name.'_'.$update['version']]['###UPDATE_VERSION_MYSQL###'] = $update['mysql'];
|
||||
}
|
||||
elseif (isset($update['url']) && ComponentbuilderHelper::checkString($update['url']))
|
||||
{
|
||||
$this->lastupdateURL = $update['url'];
|
||||
}
|
||||
// add the update server
|
||||
if ($this->componentData->add_update_server && $this->componentData->update_server_target != 3)
|
||||
{
|
||||
// build update xml
|
||||
$updateXML[] = "\t<update>";
|
||||
$updateXML[] = "\t\t<name>".$this->fileContentStatic['###Component_name###']."</name>";
|
||||
$updateXML[] = "\t\t<description>".$this->fileContentStatic['###SHORT_DESCRIPTION###']."</description>";
|
||||
$updateXML[] = "\t\t<element>com_".$this->fileContentStatic['###component###']."</element>";
|
||||
$updateXML[] = "\t\t<type>component</type>";
|
||||
$updateXML[] = "\t\t<version>".$update['version']."</version>";
|
||||
$updateXML[] = "\t\t".'<infourl title="'.$this->fileContentStatic['###Component_name###'].'!">'.$this->fileContentStatic['###AUTHORWEBSITE###'].'</infourl>';
|
||||
$updateXML[] = "\t\t<downloads>";
|
||||
if (!isset($update['url']) || !ComponentbuilderHelper::checkString($update['url']))
|
||||
{
|
||||
$update['url'] = 'http://domain.com/demo.zip';
|
||||
}
|
||||
$updateXML[] = "\t\t\t".'<downloadurl type="full" format="zip">'.$update['url'].'</downloadurl>';
|
||||
$updateXML[] = "\t\t</downloads>";
|
||||
$updateXML[] = "\t\t<tags>";
|
||||
$updateXML[] = "\t\t\t<tag>stable</tag>";
|
||||
$updateXML[] = "\t\t</tags>";
|
||||
$updateXML[] = "\t\t<maintainer>".$this->fileContentStatic['###AUTHOR###']."</maintainer>";
|
||||
$updateXML[] = "\t\t<maintainerurl>".$this->fileContentStatic['###AUTHORWEBSITE###']."</maintainerurl>";
|
||||
$updateXML[] = "\t\t".'<targetplatform name="joomla" version="3.*"/>';
|
||||
$updateXML[] = "\t</update>";
|
||||
}
|
||||
}
|
||||
|
||||
public function noHelp()
|
||||
@ -3468,7 +3585,13 @@ class Interpretation extends Fields
|
||||
$script .= PHP_EOL.PHP_EOL."\t\t\tif (!empty(\$item->".$jsonString."))";
|
||||
$script .= PHP_EOL."\t\t\t{";
|
||||
$script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." JSON Decode ".$jsonString.".";
|
||||
if (strpos($jsonString, 'group') !== false)
|
||||
if (isset($this->jsonItemBuilderArray[$view])
|
||||
&& ComponentbuilderHelper::checkArray($this->jsonStringBuilderArray[$view])
|
||||
&& in_array($jsonString, $this->jsonItemBuilderArray[$view]))
|
||||
{
|
||||
$makeArray = ',true';
|
||||
}
|
||||
elseif (strpos($jsonString, 'group') !== false)
|
||||
{
|
||||
$makeArray = ',true';
|
||||
}
|
||||
@ -4837,15 +4960,24 @@ class Interpretation extends Fields
|
||||
// build the uninstall array
|
||||
$this->uninstallBuilder[] = "DROP TABLE IF EXISTS `#__".$component."_".$view."`;";
|
||||
|
||||
// setup the tables
|
||||
$db .= "CREATE TABLE IF NOT EXISTS `#__".$component."_".$view."` (";
|
||||
// setup the table DB string
|
||||
$db_ = '';
|
||||
$db_ .= "CREATE TABLE IF NOT EXISTS `#__".$component."_".$view."` (";
|
||||
// check if the table name has changed
|
||||
if (isset($this->updateSQL['table_name']) && isset($this->updateSQL['table_name'][$view]))
|
||||
{
|
||||
$old_table_name = $this->updateSQL['table_name'][$view]['old'];
|
||||
$this->updateSQLBuilder["RENAMETABLE`#__".$component."_".$old_table_name."`"]
|
||||
= "RENAME TABLE `#__".$component."_".$old_table_name."` to `#__".$component."_".$view."`;";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['id']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`id` INT(11) NOT NULL AUTO_INCREMENT,";
|
||||
$db_ .= PHP_EOL."\t`id` INT(11) NOT NULL AUTO_INCREMENT,";
|
||||
}
|
||||
$db .= PHP_EOL."\t`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',";
|
||||
$db_ .= PHP_EOL."\t`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',";
|
||||
ksort($fields);
|
||||
$last_name = 'asset_id';
|
||||
foreach ($fields as $field => $data)
|
||||
{
|
||||
// set default
|
||||
@ -4892,116 +5024,142 @@ class Interpretation extends Fields
|
||||
$lenght = '('.$data['lenght'].')';
|
||||
}
|
||||
// set the field to db
|
||||
$db .= PHP_EOL."\t`".$field."` ".$data['type'].$lenght." ".$default.",";
|
||||
$db_ .= PHP_EOL."\t`".$field."` ".$data['type'].$lenght." ".$default.",";
|
||||
// check if this a new field that should be added via SQL update
|
||||
if (isset($this->addSQL['field']) && isset($this->addSQL['field'][$view])
|
||||
&& ComponentbuilderHelper::checkArray($this->addSQL['field'][$view])
|
||||
&& in_array($data['ID'], $this->addSQL['field'][$view]))
|
||||
{
|
||||
$this->updateSQLBuilder["ALTERTABLE`#__".$component."_".$view."`ADD`".$field."`"]
|
||||
= "ALTER TABLE `#__".$component."_".$view."` ADD `".$field."` ".$data['type'].$lenght." ".$default." AFTER `".$last_name."`;";
|
||||
}
|
||||
// check if the field has changed name and/or data type and lenght
|
||||
elseif (0)
|
||||
{
|
||||
// hmmm tough one
|
||||
}
|
||||
// be sure to track the last name used :)
|
||||
$last_name = $field;
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['params']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`params` text NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`params` text NOT NULL DEFAULT '',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['published']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`published` TINYINT(3) NOT NULL DEFAULT 1,";
|
||||
$db_ .= PHP_EOL."\t`published` TINYINT(3) NOT NULL DEFAULT 1,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['created_by']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`created_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`created_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['modified_by']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['created']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
$db_ .= PHP_EOL."\t`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['modified']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
$db_ .= PHP_EOL."\t`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['checked_out']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`checked_out` int(11) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`checked_out` int(11) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['checked_out_time']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
$db_ .= PHP_EOL."\t`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['version']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`version` INT(10) unsigned NOT NULL DEFAULT 1,";
|
||||
$db_ .= PHP_EOL."\t`version` INT(10) unsigned NOT NULL DEFAULT 1,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['hits']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`hits` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`hits` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if view has access
|
||||
if (isset($this->accessBuilder[$view]) && ComponentbuilderHelper::checkString($this->accessBuilder[$view]))
|
||||
{
|
||||
$db .= PHP_EOL."\t`access` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`access` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['ordering']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`ordering` INT(11) NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`ordering` INT(11) NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if metadata is added to this view
|
||||
if (isset($this->metadataBuilder[$view]) && ComponentbuilderHelper::checkString($this->metadataBuilder[$view]))
|
||||
{
|
||||
$db .= PHP_EOL."\t`metakey` TEXT NOT NULL DEFAULT '',";
|
||||
$db .= PHP_EOL."\t`metadesc` TEXT NOT NULL DEFAULT '',";
|
||||
$db .= PHP_EOL."\t`metadata` TEXT NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`metakey` TEXT NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`metadesc` TEXT NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`metadata` TEXT NOT NULL DEFAULT '',";
|
||||
}
|
||||
$db .= PHP_EOL."\tPRIMARY KEY (`id`)";
|
||||
$db_ .= PHP_EOL."\tPRIMARY KEY (`id`)";
|
||||
if (isset($this->dbUniqueKeys[$view]) && ComponentbuilderHelper::checkArray($this->dbUniqueKeys[$view]))
|
||||
{
|
||||
foreach ($this->dbUniqueKeys[$view] as $nr => $key)
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tUNIQUE KEY `idx_".$key."` (`".$key."`)";
|
||||
$db_ .= ",".PHP_EOL."\tUNIQUE KEY `idx_".$key."` (`".$key."`)";
|
||||
}
|
||||
}
|
||||
// check if view has access
|
||||
if (isset($this->accessBuilder[$view]) && ComponentbuilderHelper::checkString($this->accessBuilder[$view]))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_access` (`access`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_access` (`access`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['checked_out']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_checkout` (`checked_out`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_checkout` (`checked_out`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['created_by']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_createdby` (`created_by`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_createdby` (`created_by`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['modified_by']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_modifiedby` (`modified_by`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_modifiedby` (`modified_by`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['published']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_state` (`published`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_state` (`published`)";
|
||||
}
|
||||
if (isset($this->dbKeys[$view]) && ComponentbuilderHelper::checkArray($this->dbKeys[$view]))
|
||||
{
|
||||
foreach ($this->dbKeys[$view] as $nr => $key)
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_".$key."` (`".$key."`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_".$key."` (`".$key."`)";
|
||||
}
|
||||
}
|
||||
$db .= PHP_EOL.") ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;".PHP_EOL.PHP_EOL;
|
||||
$db_ .= PHP_EOL.") ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;";
|
||||
|
||||
// check if this is a new table that should be added via update SQL
|
||||
if (isset($this->addSQL['adminview']) && ComponentbuilderHelper::checkArray($this->addSQL['adminview'])
|
||||
&& in_array($view, $this->addSQL['adminview']))
|
||||
{
|
||||
// build the update array
|
||||
$this->updateSQLBuilder["CREATETABLEIFNOTEXISTS`#__".$component."_".$view."`"] = $db_;
|
||||
}
|
||||
|
||||
// add to main DB string
|
||||
$db .= $db_.PHP_EOL.PHP_EOL;
|
||||
}
|
||||
// add custom sql dump to the file
|
||||
if (isset($this->customScriptBuilder['sql']) && ComponentbuilderHelper::checkArray($this->customScriptBuilder['sql']))
|
||||
@ -5009,7 +5167,7 @@ class Interpretation extends Fields
|
||||
foreach ($this->customScriptBuilder['sql'] as $for => $customSql)
|
||||
{
|
||||
$placeholders = array('[[[component]]]' => $component, '[[[view]]]' => $for);
|
||||
$db .= PHP_EOL.PHP_EOL.$this->setPlaceholders($customSql, $placeholders);
|
||||
$db .= $this->setPlaceholders($customSql, $placeholders).PHP_EOL.PHP_EOL;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -192,8 +192,6 @@ class Infusion extends Interpretation
|
||||
$this->fileContentStatic['###HELP###'] = $this->noHelp();
|
||||
// ###HELP_SITE###
|
||||
$this->fileContentStatic['###HELP_SITE###'] = $this->noHelp();
|
||||
// ###UPDATE_VERSION_MYSQL###
|
||||
$this->setVersionController();
|
||||
|
||||
// build route parse switch
|
||||
$this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] = '';
|
||||
@ -761,6 +759,9 @@ class Infusion extends Interpretation
|
||||
// ###UNINSTALL###
|
||||
$this->fileContentStatic['###UNINSTALL###'] = $this->setUninstall();
|
||||
|
||||
// ###UPDATE_VERSION_MYSQL###
|
||||
$this->setVersionController();
|
||||
|
||||
// ###DASHBOARDICONS###
|
||||
$this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASHBOARDICONS###'] = $this->setDashboardIcons();
|
||||
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage headercheck.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage batch_.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage indenter.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage js.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage minify.php
|
||||
|
@ -2767,7 +2767,7 @@ Project duration: **###projectWeekTime### weeks** or **###projectMonthTime### mo
|
||||
<br />
|
||||
If you want to support this project, please consider donating:<br />
|
||||
* PayPal: pay@vdm.io<br />
|
||||
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
|
||||
* Bitcoin: 1Ga1WZyxC4ArSKuiFpUxdqzjfkAR1kJhZh
|
||||
</code></div>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL="Demo README (with all place-holders)"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION="Add your FTP signature in the given field and during compilation the file will be moved to the FTP folder. You still need to point the above <b>update server</b> url to the xml file on your FTP server for it to work correctly.<br /><b>Here are the details of the signature:</b><br /> string $host = '127.0.0.1'<br /> string $port = '21'<br /> array $options = array()<br /> string $user = null<br /> string $pass = null<br /> OPTIONS = Array with any of these options:<br /> type=>[FTP_AUTOASCII|FTP_ASCII|FTP_BINARY]<br /> timeout=>(int)<br /><b>Here is an example signature:</b><br /><code>host=HOSTNAME&port=PORT_INT&options[type]=FTP_BINARY&options[timeout]=15&username=user@name.com&password=password</code>"
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage css_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_import_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fields_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage javascript_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage linked_components_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage mysql_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage mysql_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage php_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage batchselection.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_script_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_rightside.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage linked_components_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage abacus_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage abacus_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_script_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage gettable_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage gettable_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage gettable_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage gettable_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage gettable_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage linked_admin_views_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage scripts_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage scripts_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fields_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_views_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_views_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.6
|
||||
@build 5th June, 2017
|
||||
@version 2.4.7
|
||||
@build 18th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_above.php
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user