Resolves gh-96 by adding the feature to auto create the update SQL. Also fixes gh-100 Field Length Issue.

This commit is contained in:
Llewellyn van der Merwe 2017-06-16 13:38:06 +01:00
parent 3ad9ae8b8f
commit 6e0bcc0ae2
No known key found for this signature in database
GPG Key ID: CAD7B16D27AF28C5
229 changed files with 759 additions and 325 deletions

View File

@ -107,7 +107,7 @@ 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
+ *Last Build*: 16th June, 2017
+ *Version*: 2.4.6
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
@ -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

View File

@ -107,7 +107,7 @@ 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
+ *Last Build*: 16th June, 2017
+ *Version*: 2.4.6
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
@ -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

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin.css

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage dashboard.css

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage controller.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage ajax.json.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php

View File

@ -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

View File

@ -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

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage help.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import_joomla_components.php

View File

@ -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

View File

@ -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

View File

@ -476,7 +476,20 @@ class Get
* @var array
*/
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)
@ -830,6 +866,25 @@ class Get
$component->version_update[$nr][$option] = $value;
}
}
}
// 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
@ -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
*

View File

@ -1665,6 +1665,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
{

View File

@ -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,52 +531,34 @@ 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
if ($update['version'] == $this->componentData->component_version)
foreach ($this->componentData->version_update as $nr => &$update)
{
$addSQL = false;
}
// setup import files
if ($addSQL)
{
$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 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']))
$this->setUpdateXMLSQL($update, $updateXML, $addDynamicSQL);
if ($update['version'] == $this->componentData->component_version)
{
$update['url'] = 'http://domain.com/demo.xml';
$addActive = false;
}
$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 if not already added
if ($addDynamicSQL && ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
{
// add the dynamic sql
$this->setDynamicUpdateXMLSQL($updateXML);
}
// add the new active version if needed
if ($addActive && ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
{
// 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()
@ -4837,15 +4954,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 +5018,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 +5161,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;
}
}

View File

@ -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###'] = '';
@ -760,6 +758,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();

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage headercheck.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage batch_.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage indenter.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage js.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage minify.php

View File

@ -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 />&nbsp;&nbsp;&nbsp;string $host = '127.0.0.1'<br />&nbsp;&nbsp;&nbsp;string $port = '21'<br />&nbsp;&nbsp;&nbsp;array $options = array()<br />&nbsp;&nbsp;&nbsp;string $user = null<br />&nbsp;&nbsp;&nbsp;string $pass = null<br />&nbsp;&nbsp;&nbsp;OPTIONS = Array with any of these options:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type=>[FTP_AUTOASCII|FTP_ASCII|FTP_BINARY]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>"

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage css_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_import_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fields_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage javascript_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage linked_components_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage mysql_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage mysql_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage php_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_above.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_under.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage batchselection.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_script_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_above.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_rightside.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage linked_components_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_above.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage abacus_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage abacus_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_script_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_above.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_under.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage linked_admin_views_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage scripts_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage scripts_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fields_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_above.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin_views_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th June, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_admin_views_fullwidth.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.6
@build 5th June, 2017
@build 16th 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