Library manager implementation #195

Merged
Llewellyn merged 24 commits from staging into master 2017-12-12 13:31:16 +00:00
45 changed files with 1841 additions and 712 deletions
Showing only changes of commit 19d4d77305 - Show all commits

View File

@ -111,12 +111,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*: 26th November, 2017
+ *Last Build*: 3rd December, 2017
+ *Version*: 2.6.6
+ *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*: **178893**
+ *File count*: **1139**
+ *Line count*: **179770**
+ *File count*: **1141**
+ *Folder count*: **184**
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
@ -126,5 +126,5 @@ Component Builder is mapped as a component in itself on my local development env
Come on buy me a coffee :)
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823
* Bitcoin: 18vURxYpPFjvNk8BnUy1ovCAyQmY3MzkSf
* Ethereum: 0x9548144662b47327c954f3e214edb96662d51218

View File

@ -111,12 +111,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*: 26th November, 2017
+ *Last Build*: 3rd December, 2017
+ *Version*: 2.6.6
+ *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*: **178893**
+ *File count*: **1139**
+ *Line count*: **179770**
+ *File count*: **1141**
+ *Folder count*: **184**
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
@ -126,5 +126,5 @@ Component Builder is mapped as a component in itself on my local development env
Come on buy me a coffee :)
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823
* Bitcoin: 18vURxYpPFjvNk8BnUy1ovCAyQmY3MzkSf
* Ethereum: 0x9548144662b47327c954f3e214edb96662d51218

View File

@ -229,6 +229,7 @@
<action name="get_snippets.access" title="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC" />
<action name="get_snippets.custom_admin_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC" />
<action name="get_snippets.layouts" title="COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS_DESC" />
<action name="get_snippets.libraries" title="COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS_DESC" />
<action name="get_snippets.site_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS_DESC" />
<action name="get_snippets.snippets" title="COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS_DESC" />
<action name="get_snippets.templates" title="COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS_DESC" />
@ -325,6 +326,7 @@
<action name="library_files_folders_urls.edit.state" title="COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_STATE" description="COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_STATE_DESC" />
<action name="library_files_folders_urls.version" title="COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC" />
<action name="library.submenu" title="COM_COMPONENTBUILDER_LIBRARIES_SUBMENU" description="COM_COMPONENTBUILDER_LIBRARIES_SUBMENU_DESC" />
<action name="library.get_snippets" title="COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
<action name="site_view.get_snippets" title="COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
<action name="site_view.access" title="COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS_DESC" />
<action name="site_view.batch" title="COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE_DESC" />

View File

@ -52,11 +52,20 @@ class ComponentbuilderControllerGet_snippets extends JControllerAdmin
return;
}
public function openLibraries()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the libraries
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=libraries', false));
return;
}
public function openSnippets()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the snippets admin view
// redirect to the snippets
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=snippets', false));
return;
}
@ -65,7 +74,7 @@ class ComponentbuilderControllerGet_snippets extends JControllerAdmin
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the snippets admin view
// redirect to the site views
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=site_views', false));
return;
}
@ -74,7 +83,7 @@ class ComponentbuilderControllerGet_snippets extends JControllerAdmin
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the snippets admin view
// redirect to the custom admin views
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=custom_admin_views', false));
return;
}
@ -83,7 +92,7 @@ class ComponentbuilderControllerGet_snippets extends JControllerAdmin
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the snippets admin view
// redirect to the templates
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=templates', false));
return;
}
@ -92,7 +101,7 @@ class ComponentbuilderControllerGet_snippets extends JControllerAdmin
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the snippets admin view
// redirect to the layouts
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=layouts', false));
return;
}

View File

@ -44,5 +44,14 @@ class ComponentbuilderControllerLibraries extends JControllerAdmin
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
return $model;
}
}
public function getSnippets()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the import snippets custom admin view
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=get_snippets', false));
return;
}
}

View File

@ -497,6 +497,20 @@ class Get
* @var array
*/
public $updateSQL = array();
/**
* The Library Manager
*
* @var array
*/
public $libManager = array();
/**
* The Libraries
*
* @var array
*/
public $libraries = array();
/***
* Constructor
@ -855,7 +869,7 @@ class Get
unset($component->addcustom_admin_views);
}
// ser the config data
// set the config data
$component->addconfig = (isset($component->addconfig) && ComponentbuilderHelper::checkJson($component->addconfig)) ? json_decode($component->addconfig,true):null;
if (ComponentbuilderHelper::checkArray($component->addconfig))
{
@ -1717,6 +1731,45 @@ class Get
// }
}
}
// load the library
if (!isset($this->libManager[$this->target]) || !isset($this->libManager[$this->target][$view->code]))
{
// prep array
if (!isset($this->libManager[$this->target]))
{
$this->libManager[$this->target] = array();
}
if (!isset($this->libManager[$this->target][$view->code]))
{
$this->libManager[$this->target][$view->code] = array();
}
// make sure json become array
if (ComponentbuilderHelper::checkJson($view->libraries))
{
$view->libraries = json_decode($view->libraries, true);
}
// if we have an array add it
if (ComponentbuilderHelper::checkArray($view->libraries))
{
foreach ($view->libraries as $library)
{
if (!isset($this->libManager[$this->target][$view->code][$library]))
{
if ($this->getLibrary($library))
{
$this->libManager[$this->target][$view->code][$library] = true;
}
}
}
}
elseif (is_numeric($view->libraries) && !isset($this->libManager[$this->target][$view->code][(int) $view->libraries]))
{
if ($this->getLibrary((int) $view->libraries))
{
$this->libManager[$this->target][$view->code][(int) $view->libraries] = true;
}
}
}
// add_Ajax for this view
if (isset($view->add_php_ajax) && $view->add_php_ajax == 1)
{
@ -2726,7 +2779,7 @@ class Get
* @return array The data found with the alias
*
*/
public function getDataWithAlias($n_ame,$table,$view)
public function getDataWithAlias($n_ame, $table, $view)
{
// Create a new query object.
$query = $this->db->getQuery(true);
@ -2789,12 +2842,200 @@ class Get
$this->getModule[$this->target][$view] = true;
}
}
// load the library
if (!isset($this->libManager[$this->target]) || !isset($this->libManager[$this->target][$view]))
{
// prep array
if (!isset($this->libManager[$this->target]))
{
$this->libManager[$this->target] = array();
}
if (!isset($this->libManager[$this->target][$view]))
{
$this->libManager[$this->target][$view] = array();
}
// make sure json become array
if (ComponentbuilderHelper::checkJson($row->libraries))
{
$row->libraries = json_decode($row->libraries, true);
}
// if we have an array add it
if (ComponentbuilderHelper::checkArray($row->libraries))
{
foreach ($row->libraries as $library)
{
if (!isset($this->libManager[$this->target][$view][$library]))
{
if ($this->getLibrary($library))
{
$this->libManager[$this->target][$view][$library] = true;
}
}
}
}
elseif (is_numeric($row->libraries) && !isset($this->libManager[$this->target][$view][(int) $row->libraries]))
{
if ($this->getLibrary((int) $row->libraries))
{
$this->libManager[$this->target][$view][(int) $row->libraries] = true;
}
}
}
return array('id' => $row->id, 'html' => $contnent, 'php_view' => $php_view);
}
}
return false;
}
/**
* Get Library Data and store globaly
*
* @param string $id the library id
*
* @return bool true on success
*
*/
protected function getLibrary($id)
{
// check if the lib has already been set
if (!isset($this->libraries[$id]))
{
$query = $this->db->getQuery(true);
$query->select('a.*');
$query->select(
$this->db->quoteName(
array(
'a.id',
'a.name',
'a.how',
'a.type',
'a.addconditions',
'b.addconfig',
'c.addfiles',
'c.addfolders',
'c.addurls',
'a.php_preparedocument',
'a.php_setdocument'
),
array(
'id',
'name',
'how',
'type',
'addconditions',
'addconfig',
'addfiles',
'addfolders',
'addurls',
'php_preparedocument',
'php_setdocument'
)
)
);
// from these tables
$query->from('#__componentbuilder_library AS a');
$query->join('LEFT', $this->db->quoteName('#__componentbuilder_library_config', 'b') . ' ON (' . $this->db->quoteName('a.id') . ' = ' . $this->db->quoteName('b.library') . ')');
$query->join('LEFT', $this->db->quoteName('#__componentbuilder_library_files_folders_urls', 'c') . ' ON (' . $this->db->quoteName('a.id') . ' = ' . $this->db->quoteName('c.library') . ')');
$query->where($this->db->quoteName('a.id') . ' = '. (int) $id);
// Reset the query using our newly populated query object.
$this->db->setQuery($query);
// Load the results as a list of stdClass objects
$library = $this->db->loadObject();
// check if this lib has dynamic behaviour
if ($library->how > 0)
{
// unset original value
unset($library->addconfig);
// set the addfolders data
$library->addfolders = (isset($library->addfolders) && ComponentbuilderHelper::checkJson($library->addfolders)) ? json_decode($library->addfolders,true):null;
if (ComponentbuilderHelper::checkArray($library->addfolders))
{
$library->folders = array_values($library->addfolders);
}
unset($library->addfolders);
// set the addfiles data
$library->addfiles = (isset($library->addfiles) && ComponentbuilderHelper::checkJson($library->addfiles)) ? json_decode($library->addfiles,true):null;
if (ComponentbuilderHelper::checkArray($library->addfiles))
{
$library->files = array_values($library->addfiles);
}
unset($library->addfiles);
// set the addurls data
$library->addurls = (isset($library->addurls) && ComponentbuilderHelper::checkJson($library->addurls)) ? json_decode($library->addurls,true):null;
if (ComponentbuilderHelper::checkArray($library->addurls))
{
$library->urls = array_values($library->addurls);
}
unset($library->addurls);
// add config fields only if needed
if ($library->how > 1)
{
// set the config data
$library->addconfig = (isset($library->addconfig) && ComponentbuilderHelper::checkJson($library->addconfig)) ? json_decode($library->addconfig,true):null;
if (ComponentbuilderHelper::checkArray($library->addconfig))
{
$library->config = array_map(function($array) {
$array['alias'] = 0;
$array['title'] = 0;
$array['settings'] = $this->getFieldData($array['field']);
return $array;
}, array_values($library->addconfig));
}
}
// if this lib is controlled by custom script
if (3 == $library->how)
{
// set Needed PHP
$phpMethods = array('preparedocument', 'setdocument');
foreach ($phpMethods as $method)
{
if (isset($library->{'php_'.$method}) && ComponentbuilderHelper::checkString($library->{'php_'.$method}))
{
$library->{$method} = $this->setDynamicValues(base64_decode($library->{'php_'.$method}));
}
}
}
// if this lib is controlled by conditions
elseif (2 == $library->how)
{
// set the addconditions data
$library->addconditions = (isset($library->addconditions) && ComponentbuilderHelper::checkJson($library->addconditions)) ? json_decode($library->addconditions,true):null;
if (ComponentbuilderHelper::checkArray($library->addconditions))
{
$library->conditions = array_values($library->addconditions);
}
}
// if this lib is always being added
else
{
}
unset($library->php_preparedocument);
unset($library->php_setdocument);
unset($library->addconditions);
}
else
{
$this->libraries[$id] = false;
}
}
// if set return
if (isset($this->libraries[$id]))
{
return $this->libraries[$id];
}
return false;
}
/**
* Set Language Place Holders
*
@ -3233,7 +3474,7 @@ class Get
}
/**
* Check for getModules script
* Check for get Google Chart script
*
* @param string $content The content to check
*

View File

@ -1048,83 +1048,92 @@ class Fields extends Structure
$fieldsSet = array();
foreach ($fieldAttributes as $property => $value)
{
if ($property != 'fields')
if ($property != 'fields' && $property != 'formsource')
{
$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)
// if we detect formsource we do not add the form
if (isset($fieldAttributes['formsource']) && ComponentbuilderHelper::checkString($fieldAttributes['formsource']))
{
// mulitpal fields
$fieldsSets = (array) explode(',', $fieldAttributes['fields']);
$fieldSet .= PHP_EOL."\t\t\tformsource". '="' . $fieldAttributes['formsource'] . '"';
$fieldSet .= PHP_EOL."\t\t />";
}
elseif (is_numeric($fieldAttributes['fields']))
else
{
// single field
$fieldsSets[] = (int) $fieldAttributes['fields'];
}
// only continue if we have a field set
if (ComponentbuilderHelper::checkArray($fieldsSets))
{
foreach ($fieldsSets as $fieldId)
$fieldSet .= ">";
$fieldSet .= PHP_EOL."\t\t\t" . '<form hidden="true" name="list_' . $fieldAttributes['name'] . '_modal" repeat="true">';
if (strpos($fieldAttributes['fields'], ',') !== false)
{
// get the field data
$fieldData = array();
$fieldData['settings'] = $this->getFieldData($fieldId, $viewName);
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
// 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)
{
$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))
// get the field data
$fieldData = array();
$fieldData['settings'] = $this->getFieldData($fieldId, $viewName);
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
{
//reset options array
$r_optionArray = array();
if ($this->defaultField($r_typeName, 'option'))
$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))
{
// 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))
//reset options array
$r_optionArray = array();
if ($this->defaultField($r_typeName, 'option'))
{
$r_listLangName = $r_langLabel;
// 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);
}
// 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>";
}
$fieldSet .= PHP_EOL."\t\t\t</form>";
$fieldSet .= PHP_EOL."\t\t</field>";
}
}
elseif ($setType === 'custom')
@ -1419,7 +1428,7 @@ class Fields extends Structure
$name = $this->setPlaceholders($xmlValue, $placeholders);
}
}
elseif ($property['name'] === 'extension' || $property['name'] === 'directory')
elseif ($property['name'] === 'extension' || $property['name'] === 'directory' || $property['name'] === 'formsource')
{
$xmlValue = ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"');
// replace the placeholders

View File

@ -186,7 +186,7 @@ COM_COMPONENTBUILDER_ADMIN_FIELDS_MODIFIED_DATE_DESC="The date this Admin Fields
COM_COMPONENTBUILDER_ADMIN_FIELDS_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NEW="A New Admin Fields"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NONE="None"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NOTE_ON_VIEWS_DESCRIPTION="id, asset_id, state, access, ordering, created_by, date_created, modified_by, date_modified, checked_out, checked_out_time, version, hits, metakey, metadesc, metadata (you don't need to add them again)<br />For more help <a href='https://youtu.be/CdSKSCTzmRA?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=32m28s' target='_blank'>please watch this tutorial</a>."
COM_COMPONENTBUILDER_ADMIN_FIELDS_NOTE_ON_VIEWS_DESCRIPTION="id, asset_id, state, access, ordering, created_by, created, modified_by, modified, checked_out, checked_out_time, version, hits, metakey, metadesc, metadata (you don't need to add them again)<br />For more help <a href='https://youtu.be/CdSKSCTzmRA?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=32m28s' target='_blank'>please watch this tutorial</a>."
COM_COMPONENTBUILDER_ADMIN_FIELDS_NOTE_ON_VIEWS_LABEL="The following fields are added by default to all views."
COM_COMPONENTBUILDER_ADMIN_FIELDS_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ORDER_EDIT_DESCRIPTION="Order in relation to tab &amp; alignment of admin and site."
@ -878,6 +878,7 @@ COM_COMPONENTBUILDER_AUTHOR_EMAIL="Author Email"
COM_COMPONENTBUILDER_AUTHOR_NAME="Author Name"
COM_COMPONENTBUILDER_AUTHOR_WEBSITE="Author Website"
COM_COMPONENTBUILDER_AUTO_CHECKIN="Auto Check-in"
COM_COMPONENTBUILDER_AVAILABLE_LIBRARIES="Available Libraries"
COM_COMPONENTBUILDER_A_FEW_CLOSED_ISSUES_FROM_GITHUB_IS_LOADING="A few closed issues from Github is loading"
COM_COMPONENTBUILDER_A_FEW_OPEN_ISSUES_FROM_GITHUB_IS_LOADING="A few open issues from Github is loading"
COM_COMPONENTBUILDER_BACK="Back"
@ -885,6 +886,7 @@ COM_COMPONENTBUILDER_BACKUP="Backup"
COM_COMPONENTBUILDER_BACKUP_FAILED_PLEASE_TRY_AGAIN_IF_THE_ERROR_CONTINUE_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR="Backup failed, please try again. If the error continue, please contact your system administrator."
COM_COMPONENTBUILDER_BACKUP_LOCAL_DATA_FIRST="Backup Local Data First"
COM_COMPONENTBUILDER_BACKUP_WAS_DONE_SUCCESSFULLY="Backup was done successfully"
COM_COMPONENTBUILDER_BACK_TO_LIBRARIES="Back to Libraries"
COM_COMPONENTBUILDER_BASIC_METHOD="Basic Method"
COM_COMPONENTBUILDER_BASIC_TUTORIAL_ON_GIT_BSB="Basic Tutorial on git: <b>%s</b>"
COM_COMPONENTBUILDER_BCUSTOM_FILESB_NOT_MOVE_TO_CORRECT_LOCATION="<b>Custom files</b> not move to correct location!"
@ -1584,7 +1586,7 @@ COM_COMPONENTBUILDER_COMPONENT_CONFIG_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Component Config to customise the alias."
COM_COMPONENTBUILDER_COMPONENT_CONFIG_STATUS="Status"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_TABNAME_DESCRIPTION="The name of the tab this field belongs to."
COM_COMPONENTBUILDER_COMPONENT_CONFIG_TABNAME_HINT="Library"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_TABNAME_HINT="Global"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_TABNAME_LABEL="Tab Name"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_TABNAME_MESSAGE="Error! Please add tab name here."
COM_COMPONENTBUILDER_COMPONENT_CONFIG_TWEAKS="Tweaks"
@ -3803,6 +3805,7 @@ COM_COMPONENTBUILDER_FTP_VERSION_DESC="A count of the number of times this FTP h
COM_COMPONENTBUILDER_FTP_VERSION_LABEL="Revision"
COM_COMPONENTBUILDER_FULL_WIDTH_IN_TAB="Full Width in Tab"
COM_COMPONENTBUILDER_GENERAL_OVERVIEW_OF_HOW_THINGS_WORK_BSB="General overview of how things work: <b>%s</b>"
COM_COMPONENTBUILDER_GETTING_AVAILABLE_LIBRARIES="Getting available libraries"
COM_COMPONENTBUILDER_GET_ALL_NEW_SNIPPETS="Get All New Snippets"
COM_COMPONENTBUILDER_GET_AN_ACCOUNT_WITH_GITHUB_BSB="Get an Account with gitHub: <b>%s</b>"
COM_COMPONENTBUILDER_GET_SNIPPET="Get snippet"
@ -3814,6 +3817,8 @@ COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC=" Allows
COM_COMPONENTBUILDER_GET_SNIPPETS_DESC="The compiler"
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS="Get Snippets Layouts Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the layouts button."
COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS="Get Snippets Libraries Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS_DESC=" Allows the users in this group to access the libraries button."
COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS="Get Snippets Site Views Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the site views button."
COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS="Get Snippets Snippets Button Access"
@ -4312,8 +4317,8 @@ Project duration: **###projectWeekTime### weeks** or **###projectMonthTime### mo
<br />
If you want to support this project, please consider donating:<br />
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)<br />
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa<br />
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823
* Bitcoin: 18vURxYpPFjvNk8BnUy1ovCAyQmY3MzkSf<br />
* Ethereum: 0x9548144662b47327c954f3e214edb96662d51218
</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="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."
@ -4857,8 +4862,8 @@ COM_COMPONENTBUILDER_LIBRARY_ADDCONDITIONS_DESCRIPTION="Conditional setup for th
COM_COMPONENTBUILDER_LIBRARY_ADDCONDITIONS_LABEL="Conditions"
COM_COMPONENTBUILDER_LIBRARY_ALWAYS_ADD="Always Add"
COM_COMPONENTBUILDER_LIBRARY_ANY_SELECTION_ONLY_FOUR_LISTRADIOCHECKBOXESDYNAMIC_LIST="Any Selection (only 4 list/radio/checkboxes/dynamic_list)"
COM_COMPONENTBUILDER_LIBRARY_ASC="Library (Asc)"
COM_COMPONENTBUILDER_LIBRARY_BEHAVIOUR="Behaviour"
COM_COMPONENTBUILDER_LIBRARY_BUNDLE="Bundle"
COM_COMPONENTBUILDER_LIBRARY_CHAIN="Chain"
COM_COMPONENTBUILDER_LIBRARY_CONDITIONS="Conditions"
COM_COMPONENTBUILDER_LIBRARY_CONFIG="Library Config"
@ -4892,7 +4897,7 @@ COM_COMPONENTBUILDER_LIBRARY_CONFIG_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Library Config to customise the alias."
COM_COMPONENTBUILDER_LIBRARY_CONFIG_STATUS="Status"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_TABNAME_DESCRIPTION="The name of the tab this field belongs to."
COM_COMPONENTBUILDER_LIBRARY_CONFIG_TABNAME_HINT="Library"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_TABNAME_HINT="Global"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_TABNAME_LABEL="Tab Name"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_TABNAME_MESSAGE="Error! Please add tab name here."
COM_COMPONENTBUILDER_LIBRARY_CONFIG_TWEAKS="Tweaks"
@ -4903,7 +4908,6 @@ COM_COMPONENTBUILDER_LIBRARY_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_LIBRARY_CREATED_DATE_DESC="The date this Library was created."
COM_COMPONENTBUILDER_LIBRARY_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_LIBRARY_CUSTOM_SCRIPT="Custom Script"
COM_COMPONENTBUILDER_LIBRARY_DESC="Library (Desc)"
COM_COMPONENTBUILDER_LIBRARY_DESCRIPTION="Description"
COM_COMPONENTBUILDER_LIBRARY_DESCRIPTION_DESCRIPTION="Enter some description"
COM_COMPONENTBUILDER_LIBRARY_DESCRIPTION_HINT="Description Here"
@ -4980,6 +4984,8 @@ COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_VERSION_DESC="A count of the num
COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_VERSION_LABEL="Revision"
COM_COMPONENTBUILDER_LIBRARY_FILE_DESCRIPTION="to library"
COM_COMPONENTBUILDER_LIBRARY_FILE_LABEL="Target File Linked"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS="Library Get Snippets Button Access"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_LIBRARY_HOW="How"
COM_COMPONENTBUILDER_LIBRARY_HOW_DESCRIPTION="Select how you want to control the behaviour of the library file inclusion."
COM_COMPONENTBUILDER_LIBRARY_HOW_LABEL="File Behaviour"
@ -4992,6 +4998,10 @@ COM_COMPONENTBUILDER_LIBRARY_KEY_WORD_ALL_CASEINSENSITIVE_ONLY_FOUR_TEXT_FIELD="
COM_COMPONENTBUILDER_LIBRARY_KEY_WORD_ALL_CASESENSITIVE_ONLY_FOUR_TEXT_FIELD="Key Word All case-sensitive (only 4 text_field)"
COM_COMPONENTBUILDER_LIBRARY_KEY_WORD_ANY_CASEINSENSITIVE_ONLY_FOUR_TEXT_FIELD="Key Word Any case-insensitive (only 4 text_field)"
COM_COMPONENTBUILDER_LIBRARY_KEY_WORD_ANY_CASESENSITIVE_ONLY_FOUR_TEXT_FIELD="Key Word Any case-sensitive (only 4 text_field)"
COM_COMPONENTBUILDER_LIBRARY_LIBRARIES="Libraries"
COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_DESCRIPTION="Select the libraries you want to bundle here."
COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_LABEL="Libraries"
COM_COMPONENTBUILDER_LIBRARY_MAIN="Main"
COM_COMPONENTBUILDER_LIBRARY_MAX_LENGTH_ONLY_FOUR_TEXT_FIELD="Max Length (only 4 text_field)"
COM_COMPONENTBUILDER_LIBRARY_MIN_LENGTH_ONLY_FOUR_TEXT_FIELD="Min Length (only 4 text_field)"
COM_COMPONENTBUILDER_LIBRARY_MODIFIED_BY_DESC="The last user that modified this Library."
@ -5039,6 +5049,9 @@ COM_COMPONENTBUILDER_LIBRARY_TARGET_BEHAVIOR_DESCRIPTION="Select the target beha
COM_COMPONENTBUILDER_LIBRARY_TARGET_BEHAVIOR_LABEL="Target Behavior"
COM_COMPONENTBUILDER_LIBRARY_TARGET_RELATION_DESCRIPTION="Select the target file/s relation to other of the same target file/s."
COM_COMPONENTBUILDER_LIBRARY_TARGET_RELATION_LABEL="Target Relation"
COM_COMPONENTBUILDER_LIBRARY_TYPE="Type"
COM_COMPONENTBUILDER_LIBRARY_TYPE_DESCRIPTION="Select what type of library this should be."
COM_COMPONENTBUILDER_LIBRARY_TYPE_LABEL="Type"
COM_COMPONENTBUILDER_LIBRARY_UNACTIVE_ONLY_FOUR_TEXT_FIELD="Unactive (only 4 text_field)"
COM_COMPONENTBUILDER_LIBRARY_VERSION_DESC="A count of the number of times this Library has been revised."
COM_COMPONENTBUILDER_LIBRARY_VERSION_LABEL="Revision"
@ -5085,6 +5098,7 @@ COM_COMPONENTBUILDER_ON_GITHUB="on Github"
COM_COMPONENTBUILDER_OPEN="Open"
COM_COMPONENTBUILDER_OPENED="opened"
COM_COMPONENTBUILDER_OPENED_THIS="opened this"
COM_COMPONENTBUILDER_OPEN_LIBRARY_SNIPPETS="Open Library Snippets"
COM_COMPONENTBUILDER_OPEN_ON_GITHUB="Open on Github"
COM_COMPONENTBUILDER_OPTIONS="Options"
COM_COMPONENTBUILDER_ORDER_BEFORE="Order Before"
@ -5105,6 +5119,7 @@ COM_COMPONENTBUILDER_PLEASE_CHECK_AGAIN_LATTER="Please check again latter."
COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE="Please select a component that you would like to compile."
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_LATER="Please try again later"
COM_COMPONENTBUILDER_PLEASE_WAIT_CLEARING_THE_TMP_FOLDER="Please wait! Clearing the tmp folder"
COM_COMPONENTBUILDER_PLEASE_WAIT_LOADING="Please wait, loading"
COM_COMPONENTBUILDER_PUBLIC_ACCESS="Public Access"
COM_COMPONENTBUILDER_PUBLISHED="Published"
COM_COMPONENTBUILDER_PUBLISHING="Publishing"
@ -5945,7 +5960,6 @@ COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE="The package key is: <code>%s<
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S="The package key is: %s"
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
COM_COMPONENTBUILDER_THE_SEARCH_FOR_THE_SNIPPETS_ARE_CASE_SENSITIVE_SO_IF_YOU_CHANGED_THE_LOCAL_BNAMESB_OF_EITHER_OR_THE_BSNIPPET_LIBRARY_OR_SNIPPET_TYPESB_IN_ANY_SMALL_WAY_THE_SYSTEM_WILL_NOT_BE_ABLE_TO_CONNECT_YOUR_LOCAL_SNIPPETS_WITH_THOSE_IN_THE_COMMUNITY_REPOSITORY_SO_WE_STRONGLY_ADVICE_TO_BKEEP_TO_THE_COMMUNITY_NAMINGB_TO_AVOID_MISMATCHING_THAT_WILL_IN_TURN_CAUSE_DUPLICATION_SO_IF_YOU_CHANGED_ANY_NAMES_JUST_CHANGE_THEM_BACK_AND_ALL_WILL_AGAIN_WORK_AS_EXPECTED="The search for the snippets are case sensitive so if you changed the local <b>names</b> of either or the <b>snippet, library or snippet types</b> in any small way, the system will not be able to connect your local snippets with those in the community repository. So we strongly advice to <b>keep to the community naming</b> to avoid mismatching, that will in turn cause duplication. So if you changed any names, just change them back and all will again work as expected."
COM_COMPONENTBUILDER_THE_SNIPPETS_ARE="The snippets are"
COM_COMPONENTBUILDER_THE_SNIPPETS_WERE_SUCCESSFULLY_EXPORTED="The Snippets Were Successfully Exported!"
COM_COMPONENTBUILDER_THE_SNIPPET_WAS_SUCCESSFULLY_EXPORTED="The Snippet Was Successfully Exported!"
COM_COMPONENTBUILDER_THE_WIKI_IS_LOADING="The wiki is loading"

View File

@ -446,6 +446,8 @@ COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the custom admin views button."
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS="Get Snippets Layouts Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the layouts button."
COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS="Get Snippets Libraries Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS_DESC=" Allows the users in this group to access the libraries button."
COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS="Get Snippets Site Views Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the site views button."
COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS="Get Snippets Snippets Button Access"
@ -650,6 +652,8 @@ COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_VERSION="Libraries Files
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version libraries files folders urls"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU="Libraries Submenu"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU_DESC="Allows the users in this group to update the submenu of the library"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS="Library Get Snippets Button Access"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_MENU="&#187; Component Builder"
COM_COMPONENTBUILDER_MENU_ADMIN_VIEWS="Admin Views"
COM_COMPONENTBUILDER_MENU_COMPILER="Compiler"

View File

@ -28,7 +28,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vzwfields;
$items = $displayData->vzxfields;
$user = JFactory::getUser();
$id = $displayData->item->id;
$edit = "index.php?option=com_componentbuilder&view=fields&task=field.edit";

View File

@ -28,7 +28,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vzxlinked_components;
$items = $displayData->vzylinked_components;
$user = JFactory::getUser();
$id = $displayData->item->id;
$edit = "index.php?option=com_componentbuilder&view=joomla_components&task=joomla_component.edit";

View File

@ -31,7 +31,8 @@ $form = $displayData->getForm();
$fields = array(
'name',
'how'
'how',
'type'
);
?>

View File

@ -0,0 +1,54 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.6.x
@created 30th April, 2015
@package Component Builder
@subpackage behaviour_left.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
'libraries'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}

View File

@ -1084,26 +1084,79 @@ class ComponentbuilderModelAjax extends JModelList
if (ComponentbuilderHelper::checkArray($libraries))
{
// insure we only have int values
$libraries = array_map( function($id){ return (int) $id; }, $libraries);
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName( array('a.id') ));
$query->from($db->quoteName('#__componentbuilder_snippet', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
// check for country and region
$query->where($db->quoteName('a.library') . ' IN ('. implode(',',$libraries) .')');
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
if ($libraries = $this->checkLibraries($libraries))
{
return $db->loadColumn();
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName( array('a.id') ));
$query->from($db->quoteName('#__componentbuilder_snippet', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
// check for country and region
$query->where($db->quoteName('a.library') . ' IN ('. implode(',',$libraries) .')');
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
return $db->loadColumn();
}
}
}
return false;
}
protected function checkLibraries($libraries)
{
$bucket = array();
$libraries = array_map( function($id) use (&$bucket) {
// now get bundled libraries
$type = ComponentbuilderHelper::getVar('library', (int) $id, 'id', 'type');
if (2 == $type && $bundled = ComponentbuilderHelper::getVar('library', (int) $id, 'id', 'libraries'))
{
// make sure we have an array if it was json
if (ComponentbuilderHelper::checkJson($bundled))
{
$bundled = json_decode($bundled, true);
}
// load in the values if we have an array
if (ComponentbuilderHelper::checkArray($bundled))
{
foreach ($bundled as $lib)
{
$bucket[$lib] = $lib;
}
}
elseif (is_numeric($bundled))
{
$bucket[(int) $bundled] = (int) $bundled;
}
}
else
{
return (int) $id;
}
}, $libraries);
// check if we have any bundled libraries
if (ComponentbuilderHelper::checkArray($bucket))
{
foreach ($bucket as $lib)
{
$libraries[] = (int) $lib;
}
}
// check that we have libraries
if (ComponentbuilderHelper::checkArray($libraries))
{
$libraries = array_values(array_unique(array_filter($libraries, function($id){return is_int($id);})));
// check if we have any libraries remaining
if (ComponentbuilderHelper::checkArray($libraries))
{
return $libraries;
}
}
return false;
}
// Used in template
public function getTemplateDetails($id)

View File

@ -923,6 +923,9 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin
$data['metadata'] = (string) $metadata;
}
// always reset the snippets
$data['snippet'] = 0;
// Set the libraries items to data.
if (isset($data['libraries']) && is_array($data['libraries']))
{

View File

@ -0,0 +1,178 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.6.x
@created 30th April, 2015
@package Component Builder
@subpackage librariesx.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
/**
* Librariesx Form Field class for the Componentbuilder component
*/
class JFormFieldLibrariesx extends JFormFieldList
{
/**
* The librariesx field type.
*
* @var string
*/
public $type = 'librariesx';
/**
* Override to add new button
*
* @return string The field input markup.
*
* @since 3.2
*/
protected function getInput()
{
// see if we should add buttons
$setButton = $this->getAttribute('button');
// get html
$html = parent::getInput();
// if true set button
if ($setButton === 'true')
{
$button = array();
$script = array();
$buttonName = $this->getAttribute('name');
// get the input from url
$app = JFactory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
'view' => 'word'
));
// check if new item
$ref = '';
$refJ = '';
if (!is_null($values['id']) && strlen($values['view']))
{
// only load referal if not new item.
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
}
$user = JFactory::getUser();
// only add if user allowed to create library
if ($user->authorise('library.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
{
// build Create button
$buttonNamee = trim($buttonName);
$buttonNamee = preg_replace('/_+/', ' ', $buttonNamee);
$buttonNamee = preg_replace('/\s+/', ' ', $buttonNamee);
$buttonNamee = preg_replace("/[^A-Za-z ]/", '', $buttonNamee);
$buttonNamee = ucfirst(strtolower($buttonNamee));
$button[] = '<a id="'.$buttonName.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $buttonNamee).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
href="index.php?option=com_componentbuilder&amp;view=library&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit library
if (($buttonName === 'library' || $buttonName === 'libraries') && $user->authorise('library.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
{
// build edit button
$buttonNamee = trim($buttonName);
$buttonNamee = preg_replace('/_+/', ' ', $buttonNamee);
$buttonNamee = preg_replace('/\s+/', ' ', $buttonNamee);
$buttonNamee = preg_replace("/[^A-Za-z ]/", '', $buttonNamee);
$buttonNamee = ucfirst(strtolower($buttonNamee));
$button[] = '<a id="'.$buttonName.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_EDIT_S', $buttonNamee).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
jQuery(document).ready(function() {
jQuery('#adminForm').on('change', '#jform_".$buttonName."',function (e) {
e.preventDefault();
var ".$buttonName."Value = jQuery('#jform_".$buttonName."').val();
".$buttonName."Button(".$buttonName."Value);
});
var ".$buttonName."Value = jQuery('#jform_".$buttonName."').val();
".$buttonName."Button(".$buttonName."Value);
});
function ".$buttonName."Button(value) {
if (value > 0) {
// hide the create button
jQuery('#".$buttonName."Create').hide();
// show edit button
jQuery('#".$buttonName."Edit').show();
var url = 'index.php?option=com_componentbuilder&view=libraries&task=library.edit&id='+value+'".$refJ."';
jQuery('#".$buttonName."Edit').attr('href', url);
} else {
// show the create button
jQuery('#".$buttonName."Create').show();
// hide edit button
jQuery('#".$buttonName."Edit').hide();
}
}";
}
// check if button was created for library field.
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = JFactory::getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-append">' .$html . implode('',$button).'</div>';
}
}
return $html;
}
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
*/
public function getOptions()
{
// get the input from url
$jinput = JFactory::getApplication()->input;
// get the library id
$libID = $jinput->getInt('id', 0);
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name'),array('id','libraries_name')));
$query->from($db->quoteName('#__componentbuilder_library', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
if ($libID > 0)
{
$query->where($db->quoteName('a.id') . ' != ' . (int) $libID);
}
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->libraries_name);
}
}
return $options;
}
}

View File

@ -153,7 +153,8 @@ class JFormFieldLibrary extends JFormFieldList
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name'),array('id','library_name')));
$query->from($db->quoteName('#__componentbuilder_library', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->where($db->quoteName('a.published') . ' >= 1');
$query->where($db->quoteName('a.type') . ' = 1');
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();

View File

@ -139,7 +139,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
*
* @return mixed An array of data items on success, false on failure.
*/
public function getVzwfields()
public function getVzxfields()
{
// Get the user object.
$user = JFactory::getUser();
@ -223,13 +223,13 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
foreach ($items as $nr => &$item)
{
// convert datatype
$item->datatype = $this->selectionTranslationVzwfields($item->datatype, 'datatype');
$item->datatype = $this->selectionTranslationVzxfields($item->datatype, 'datatype');
// convert indexes
$item->indexes = $this->selectionTranslationVzwfields($item->indexes, 'indexes');
$item->indexes = $this->selectionTranslationVzxfields($item->indexes, 'indexes');
// convert null_switch
$item->null_switch = $this->selectionTranslationVzwfields($item->null_switch, 'null_switch');
$item->null_switch = $this->selectionTranslationVzxfields($item->null_switch, 'null_switch');
// convert store
$item->store = $this->selectionTranslationVzwfields($item->store, 'store');
$item->store = $this->selectionTranslationVzxfields($item->store, 'store');
}
}
@ -243,7 +243,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
*
* @return translatable string
*/
public function selectionTranslationVzwfields($value,$name)
public function selectionTranslationVzxfields($value,$name)
{
// Array of datatype language strings
if ($name === 'datatype')

View File

@ -107,12 +107,10 @@
type="subform"
name="addconfig"
label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_ADDCONFIG_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_ADDCONFIG_DESCRIPTION"
icon="list"
maximum="500"
filter="ARRAY">
maximum="500">
<form hidden="true" name="list_addconfig_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<field
@ -146,7 +144,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_TABNAME_LABEL"
size="40"
maxlength="150"
default="Library"
default="Global"
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_TABNAME_DESCRIPTION"
class="text_area"
readonly="false"

View File

@ -23,151 +23,96 @@
/-----------------------------------------------------------------------------------------------------------------------------*/
// Some Global Values
jform_vvvvwaavzo_required = false;
jform_vvvvwabvzp_required = false;
jform_vvvvwacvzq_required = false;
jform_vvvvwadvzr_required = false;
jform_vvvvwagvzs_required = false;
jform_vvvvwaevzs_required = false;
jform_vvvvwahvzt_required = false;
jform_vvvvwaivzu_required = false;
jform_vvvvwajvzv_required = false;
jform_vvvvwakvzw_required = false;
// Initial Script
jQuery(document).ready(function()
{
var datalenght_vvvvwaa = jQuery("#jform_datalenght").val();
vvvvwaa(datalenght_vvvvwaa);
var datalenght_vvvvwab = jQuery("#jform_datalenght").val();
vvvvwab(datalenght_vvvvwab);
var datadefault_vvvvwab = jQuery("#jform_datadefault").val();
vvvvwab(datadefault_vvvvwab);
var datatype_vvvvwac = jQuery("#jform_datatype").val();
vvvvwac(datatype_vvvvwac);
var datadefault_vvvvwac = jQuery("#jform_datadefault").val();
vvvvwac(datadefault_vvvvwac);
var datatype_vvvvwad = jQuery("#jform_datatype").val();
vvvvwad(datatype_vvvvwad);
var store_vvvvwae = jQuery("#jform_store").val();
var datatype_vvvvwae = jQuery("#jform_datatype").val();
vvvvwae(store_vvvvwae,datatype_vvvvwae);
vvvvwae(datatype_vvvvwae);
var add_css_view_vvvvwag = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvwag(add_css_view_vvvvwag);
var store_vvvvwaf = jQuery("#jform_store").val();
var datatype_vvvvwaf = jQuery("#jform_datatype").val();
vvvvwaf(store_vvvvwaf,datatype_vvvvwaf);
var add_css_views_vvvvwah = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvwah(add_css_views_vvvvwah);
var add_css_view_vvvvwah = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvwah(add_css_view_vvvvwah);
var add_javascript_view_footer_vvvvwai = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvwai(add_javascript_view_footer_vvvvwai);
var add_css_views_vvvvwai = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvwai(add_css_views_vvvvwai);
var add_javascript_views_footer_vvvvwaj = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvwaj(add_javascript_views_footer_vvvvwaj);
var add_javascript_view_footer_vvvvwaj = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvwaj(add_javascript_view_footer_vvvvwaj);
var add_javascript_views_footer_vvvvwak = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvwak(add_javascript_views_footer_vvvvwak);
});
// the vvvvwaa function
function vvvvwaa(datalenght_vvvvwaa)
// the vvvvwab function
function vvvvwab(datalenght_vvvvwab)
{
if (isSet(datalenght_vvvvwaa) && datalenght_vvvvwaa.constructor !== Array)
if (isSet(datalenght_vvvvwab) && datalenght_vvvvwab.constructor !== Array)
{
var temp_vvvvwaa = datalenght_vvvvwaa;
var datalenght_vvvvwaa = [];
datalenght_vvvvwaa.push(temp_vvvvwaa);
var temp_vvvvwab = datalenght_vvvvwab;
var datalenght_vvvvwab = [];
datalenght_vvvvwab.push(temp_vvvvwab);
}
else if (!isSet(datalenght_vvvvwaa))
else if (!isSet(datalenght_vvvvwab))
{
var datalenght_vvvvwaa = [];
var datalenght_vvvvwab = [];
}
var datalenght = datalenght_vvvvwaa.some(datalenght_vvvvwaa_SomeFunc);
var datalenght = datalenght_vvvvwab.some(datalenght_vvvvwab_SomeFunc);
// set this function logic
if (datalenght)
{
jQuery('#jform_datalenght_other').closest('.control-group').show();
if (jform_vvvvwaavzo_required)
if (jform_vvvvwabvzp_required)
{
updateFieldRequired('datalenght_other',0);
jQuery('#jform_datalenght_other').prop('required','required');
jQuery('#jform_datalenght_other').attr('aria-required',true);
jQuery('#jform_datalenght_other').addClass('required');
jform_vvvvwaavzo_required = false;
}
}
else
{
jQuery('#jform_datalenght_other').closest('.control-group').hide();
if (!jform_vvvvwaavzo_required)
{
updateFieldRequired('datalenght_other',1);
jQuery('#jform_datalenght_other').removeAttr('required');
jQuery('#jform_datalenght_other').removeAttr('aria-required');
jQuery('#jform_datalenght_other').removeClass('required');
jform_vvvvwaavzo_required = true;
}
}
}
// the vvvvwaa Some function
function datalenght_vvvvwaa_SomeFunc(datalenght_vvvvwaa)
{
// set the function logic
if (datalenght_vvvvwaa == 'Other')
{
return true;
}
return false;
}
// the vvvvwab function
function vvvvwab(datadefault_vvvvwab)
{
if (isSet(datadefault_vvvvwab) && datadefault_vvvvwab.constructor !== Array)
{
var temp_vvvvwab = datadefault_vvvvwab;
var datadefault_vvvvwab = [];
datadefault_vvvvwab.push(temp_vvvvwab);
}
else if (!isSet(datadefault_vvvvwab))
{
var datadefault_vvvvwab = [];
}
var datadefault = datadefault_vvvvwab.some(datadefault_vvvvwab_SomeFunc);
// set this function logic
if (datadefault)
{
jQuery('#jform_datadefault_other').closest('.control-group').show();
if (jform_vvvvwabvzp_required)
{
updateFieldRequired('datadefault_other',0);
jQuery('#jform_datadefault_other').prop('required','required');
jQuery('#jform_datadefault_other').attr('aria-required',true);
jQuery('#jform_datadefault_other').addClass('required');
jform_vvvvwabvzp_required = false;
}
}
else
{
jQuery('#jform_datadefault_other').closest('.control-group').hide();
jQuery('#jform_datalenght_other').closest('.control-group').hide();
if (!jform_vvvvwabvzp_required)
{
updateFieldRequired('datadefault_other',1);
jQuery('#jform_datadefault_other').removeAttr('required');
jQuery('#jform_datadefault_other').removeAttr('aria-required');
jQuery('#jform_datadefault_other').removeClass('required');
updateFieldRequired('datalenght_other',1);
jQuery('#jform_datalenght_other').removeAttr('required');
jQuery('#jform_datalenght_other').removeAttr('aria-required');
jQuery('#jform_datalenght_other').removeClass('required');
jform_vvvvwabvzp_required = true;
}
}
}
// the vvvvwab Some function
function datadefault_vvvvwab_SomeFunc(datadefault_vvvvwab)
function datalenght_vvvvwab_SomeFunc(datalenght_vvvvwab)
{
// set the function logic
if (datadefault_vvvvwab == 'Other')
if (datalenght_vvvvwab == 'Other')
{
return true;
}
@ -175,58 +120,54 @@ function datadefault_vvvvwab_SomeFunc(datadefault_vvvvwab)
}
// the vvvvwac function
function vvvvwac(datatype_vvvvwac)
function vvvvwac(datadefault_vvvvwac)
{
if (isSet(datatype_vvvvwac) && datatype_vvvvwac.constructor !== Array)
if (isSet(datadefault_vvvvwac) && datadefault_vvvvwac.constructor !== Array)
{
var temp_vvvvwac = datatype_vvvvwac;
var datatype_vvvvwac = [];
datatype_vvvvwac.push(temp_vvvvwac);
var temp_vvvvwac = datadefault_vvvvwac;
var datadefault_vvvvwac = [];
datadefault_vvvvwac.push(temp_vvvvwac);
}
else if (!isSet(datatype_vvvvwac))
else if (!isSet(datadefault_vvvvwac))
{
var datatype_vvvvwac = [];
var datadefault_vvvvwac = [];
}
var datatype = datatype_vvvvwac.some(datatype_vvvvwac_SomeFunc);
var datadefault = datadefault_vvvvwac.some(datadefault_vvvvwac_SomeFunc);
// set this function logic
if (datatype)
if (datadefault)
{
jQuery('#jform_datadefault').closest('.control-group').show();
jQuery('#jform_datalenght').closest('.control-group').show();
jQuery('#jform_indexes').closest('.control-group').show();
jQuery('#jform_datadefault_other').closest('.control-group').show();
if (jform_vvvvwacvzq_required)
{
updateFieldRequired('indexes',0);
jQuery('#jform_indexes').prop('required','required');
jQuery('#jform_indexes').attr('aria-required',true);
jQuery('#jform_indexes').addClass('required');
updateFieldRequired('datadefault_other',0);
jQuery('#jform_datadefault_other').prop('required','required');
jQuery('#jform_datadefault_other').attr('aria-required',true);
jQuery('#jform_datadefault_other').addClass('required');
jform_vvvvwacvzq_required = false;
}
}
else
{
jQuery('#jform_datadefault').closest('.control-group').hide();
jQuery('#jform_datalenght').closest('.control-group').hide();
jQuery('#jform_indexes').closest('.control-group').hide();
jQuery('#jform_datadefault_other').closest('.control-group').hide();
if (!jform_vvvvwacvzq_required)
{
updateFieldRequired('indexes',1);
jQuery('#jform_indexes').removeAttr('required');
jQuery('#jform_indexes').removeAttr('aria-required');
jQuery('#jform_indexes').removeClass('required');
updateFieldRequired('datadefault_other',1);
jQuery('#jform_datadefault_other').removeAttr('required');
jQuery('#jform_datadefault_other').removeAttr('aria-required');
jQuery('#jform_datadefault_other').removeClass('required');
jform_vvvvwacvzq_required = true;
}
}
}
// the vvvvwac Some function
function datatype_vvvvwac_SomeFunc(datatype_vvvvwac)
function datadefault_vvvvwac_SomeFunc(datadefault_vvvvwac)
{
// set the function logic
if (datatype_vvvvwac == 'CHAR' || datatype_vvvvwac == 'VARCHAR' || datatype_vvvvwac == 'DATETIME' || datatype_vvvvwac == 'DATE' || datatype_vvvvwac == 'TIME' || datatype_vvvvwac == 'INT' || datatype_vvvvwac == 'TINYINT' || datatype_vvvvwac == 'BIGINT' || datatype_vvvvwac == 'FLOAT' || datatype_vvvvwac == 'DECIMAL' || datatype_vvvvwac == 'DOUBLE')
if (datadefault_vvvvwac == 'Other')
{
return true;
}
@ -252,26 +193,30 @@ function vvvvwad(datatype_vvvvwad)
// set this function logic
if (datatype)
{
jQuery('#jform_store').closest('.control-group').show();
jQuery('#jform_datadefault').closest('.control-group').show();
jQuery('#jform_datalenght').closest('.control-group').show();
jQuery('#jform_indexes').closest('.control-group').show();
if (jform_vvvvwadvzr_required)
{
updateFieldRequired('store',0);
jQuery('#jform_store').prop('required','required');
jQuery('#jform_store').attr('aria-required',true);
jQuery('#jform_store').addClass('required');
updateFieldRequired('indexes',0);
jQuery('#jform_indexes').prop('required','required');
jQuery('#jform_indexes').attr('aria-required',true);
jQuery('#jform_indexes').addClass('required');
jform_vvvvwadvzr_required = false;
}
}
else
{
jQuery('#jform_store').closest('.control-group').hide();
jQuery('#jform_datadefault').closest('.control-group').hide();
jQuery('#jform_datalenght').closest('.control-group').hide();
jQuery('#jform_indexes').closest('.control-group').hide();
if (!jform_vvvvwadvzr_required)
{
updateFieldRequired('store',1);
jQuery('#jform_store').removeAttr('required');
jQuery('#jform_store').removeAttr('aria-required');
jQuery('#jform_store').removeClass('required');
updateFieldRequired('indexes',1);
jQuery('#jform_indexes').removeAttr('required');
jQuery('#jform_indexes').removeAttr('aria-required');
jQuery('#jform_indexes').removeClass('required');
jform_vvvvwadvzr_required = true;
}
}
@ -281,7 +226,7 @@ function vvvvwad(datatype_vvvvwad)
function datatype_vvvvwad_SomeFunc(datatype_vvvvwad)
{
// set the function logic
if (datatype_vvvvwad == 'CHAR' || datatype_vvvvwad == 'VARCHAR' || datatype_vvvvwad == 'TEXT' || datatype_vvvvwad == 'MEDIUMTEXT' || datatype_vvvvwad == 'LONGTEXT')
if (datatype_vvvvwad == 'CHAR' || datatype_vvvvwad == 'VARCHAR' || datatype_vvvvwad == 'DATETIME' || datatype_vvvvwad == 'DATE' || datatype_vvvvwad == 'TIME' || datatype_vvvvwad == 'INT' || datatype_vvvvwad == 'TINYINT' || datatype_vvvvwad == 'BIGINT' || datatype_vvvvwad == 'FLOAT' || datatype_vvvvwad == 'DECIMAL' || datatype_vvvvwad == 'DOUBLE')
{
return true;
}
@ -289,20 +234,8 @@ function datatype_vvvvwad_SomeFunc(datatype_vvvvwad)
}
// the vvvvwae function
function vvvvwae(store_vvvvwae,datatype_vvvvwae)
function vvvvwae(datatype_vvvvwae)
{
if (isSet(store_vvvvwae) && store_vvvvwae.constructor !== Array)
{
var temp_vvvvwae = store_vvvvwae;
var store_vvvvwae = [];
store_vvvvwae.push(temp_vvvvwae);
}
else if (!isSet(store_vvvvwae))
{
var store_vvvvwae = [];
}
var store = store_vvvvwae.some(store_vvvvwae_SomeFunc);
if (isSet(datatype_vvvvwae) && datatype_vvvvwae.constructor !== Array)
{
var temp_vvvvwae = datatype_vvvvwae;
@ -317,27 +250,33 @@ function vvvvwae(store_vvvvwae,datatype_vvvvwae)
// set this function logic
if (store && datatype)
if (datatype)
{
jQuery('.note_vdm_encryption').closest('.control-group').show();
jQuery('#jform_store').closest('.control-group').show();
if (jform_vvvvwaevzs_required)
{
updateFieldRequired('store',0);
jQuery('#jform_store').prop('required','required');
jQuery('#jform_store').attr('aria-required',true);
jQuery('#jform_store').addClass('required');
jform_vvvvwaevzs_required = false;
}
}
else
{
jQuery('.note_vdm_encryption').closest('.control-group').hide();
jQuery('#jform_store').closest('.control-group').hide();
if (!jform_vvvvwaevzs_required)
{
updateFieldRequired('store',1);
jQuery('#jform_store').removeAttr('required');
jQuery('#jform_store').removeAttr('aria-required');
jQuery('#jform_store').removeClass('required');
jform_vvvvwaevzs_required = true;
}
}
}
// the vvvvwae Some function
function store_vvvvwae_SomeFunc(store_vvvvwae)
{
// set the function logic
if (store_vvvvwae == 4)
{
return true;
}
return false;
}
// the vvvvwae Some function
function datatype_vvvvwae_SomeFunc(datatype_vvvvwae)
{
@ -349,126 +288,187 @@ function datatype_vvvvwae_SomeFunc(datatype_vvvvwae)
return false;
}
// the vvvvwag function
function vvvvwag(add_css_view_vvvvwag)
// the vvvvwaf function
function vvvvwaf(store_vvvvwaf,datatype_vvvvwaf)
{
if (isSet(store_vvvvwaf) && store_vvvvwaf.constructor !== Array)
{
var temp_vvvvwaf = store_vvvvwaf;
var store_vvvvwaf = [];
store_vvvvwaf.push(temp_vvvvwaf);
}
else if (!isSet(store_vvvvwaf))
{
var store_vvvvwaf = [];
}
var store = store_vvvvwaf.some(store_vvvvwaf_SomeFunc);
if (isSet(datatype_vvvvwaf) && datatype_vvvvwaf.constructor !== Array)
{
var temp_vvvvwaf = datatype_vvvvwaf;
var datatype_vvvvwaf = [];
datatype_vvvvwaf.push(temp_vvvvwaf);
}
else if (!isSet(datatype_vvvvwaf))
{
var datatype_vvvvwaf = [];
}
var datatype = datatype_vvvvwaf.some(datatype_vvvvwaf_SomeFunc);
// set this function logic
if (store && datatype)
{
jQuery('.note_vdm_encryption').closest('.control-group').show();
}
else
{
jQuery('.note_vdm_encryption').closest('.control-group').hide();
}
}
// the vvvvwaf Some function
function store_vvvvwaf_SomeFunc(store_vvvvwaf)
{
// set the function logic
if (add_css_view_vvvvwag == 1)
if (store_vvvvwaf == 4)
{
return true;
}
return false;
}
// the vvvvwaf Some function
function datatype_vvvvwaf_SomeFunc(datatype_vvvvwaf)
{
// set the function logic
if (datatype_vvvvwaf == 'CHAR' || datatype_vvvvwaf == 'VARCHAR' || datatype_vvvvwaf == 'TEXT' || datatype_vvvvwaf == 'MEDIUMTEXT' || datatype_vvvvwaf == 'LONGTEXT')
{
return true;
}
return false;
}
// the vvvvwah function
function vvvvwah(add_css_view_vvvvwah)
{
// set the function logic
if (add_css_view_vvvvwah == 1)
{
jQuery('#jform_css_view').closest('.control-group').show();
if (jform_vvvvwagvzs_required)
if (jform_vvvvwahvzt_required)
{
updateFieldRequired('css_view',0);
jQuery('#jform_css_view').prop('required','required');
jQuery('#jform_css_view').attr('aria-required',true);
jQuery('#jform_css_view').addClass('required');
jform_vvvvwagvzs_required = false;
}
}
else
{
jQuery('#jform_css_view').closest('.control-group').hide();
if (!jform_vvvvwagvzs_required)
{
updateFieldRequired('css_view',1);
jQuery('#jform_css_view').removeAttr('required');
jQuery('#jform_css_view').removeAttr('aria-required');
jQuery('#jform_css_view').removeClass('required');
jform_vvvvwagvzs_required = true;
}
}
}
// the vvvvwah function
function vvvvwah(add_css_views_vvvvwah)
{
// set the function logic
if (add_css_views_vvvvwah == 1)
{
jQuery('#jform_css_views').closest('.control-group').show();
if (jform_vvvvwahvzt_required)
{
updateFieldRequired('css_views',0);
jQuery('#jform_css_views').prop('required','required');
jQuery('#jform_css_views').attr('aria-required',true);
jQuery('#jform_css_views').addClass('required');
jform_vvvvwahvzt_required = false;
}
}
else
{
jQuery('#jform_css_views').closest('.control-group').hide();
jQuery('#jform_css_view').closest('.control-group').hide();
if (!jform_vvvvwahvzt_required)
{
updateFieldRequired('css_views',1);
jQuery('#jform_css_views').removeAttr('required');
jQuery('#jform_css_views').removeAttr('aria-required');
jQuery('#jform_css_views').removeClass('required');
updateFieldRequired('css_view',1);
jQuery('#jform_css_view').removeAttr('required');
jQuery('#jform_css_view').removeAttr('aria-required');
jQuery('#jform_css_view').removeClass('required');
jform_vvvvwahvzt_required = true;
}
}
}
// the vvvvwai function
function vvvvwai(add_javascript_view_footer_vvvvwai)
function vvvvwai(add_css_views_vvvvwai)
{
// set the function logic
if (add_javascript_view_footer_vvvvwai == 1)
if (add_css_views_vvvvwai == 1)
{
jQuery('#jform_javascript_view_footer').closest('.control-group').show();
jQuery('#jform_css_views').closest('.control-group').show();
if (jform_vvvvwaivzu_required)
{
updateFieldRequired('javascript_view_footer',0);
jQuery('#jform_javascript_view_footer').prop('required','required');
jQuery('#jform_javascript_view_footer').attr('aria-required',true);
jQuery('#jform_javascript_view_footer').addClass('required');
updateFieldRequired('css_views',0);
jQuery('#jform_css_views').prop('required','required');
jQuery('#jform_css_views').attr('aria-required',true);
jQuery('#jform_css_views').addClass('required');
jform_vvvvwaivzu_required = false;
}
}
else
{
jQuery('#jform_javascript_view_footer').closest('.control-group').hide();
jQuery('#jform_css_views').closest('.control-group').hide();
if (!jform_vvvvwaivzu_required)
{
updateFieldRequired('javascript_view_footer',1);
jQuery('#jform_javascript_view_footer').removeAttr('required');
jQuery('#jform_javascript_view_footer').removeAttr('aria-required');
jQuery('#jform_javascript_view_footer').removeClass('required');
updateFieldRequired('css_views',1);
jQuery('#jform_css_views').removeAttr('required');
jQuery('#jform_css_views').removeAttr('aria-required');
jQuery('#jform_css_views').removeClass('required');
jform_vvvvwaivzu_required = true;
}
}
}
// the vvvvwaj function
function vvvvwaj(add_javascript_views_footer_vvvvwaj)
function vvvvwaj(add_javascript_view_footer_vvvvwaj)
{
// set the function logic
if (add_javascript_views_footer_vvvvwaj == 1)
if (add_javascript_view_footer_vvvvwaj == 1)
{
jQuery('#jform_javascript_views_footer').closest('.control-group').show();
jQuery('#jform_javascript_view_footer').closest('.control-group').show();
if (jform_vvvvwajvzv_required)
{
updateFieldRequired('javascript_views_footer',0);
jQuery('#jform_javascript_views_footer').prop('required','required');
jQuery('#jform_javascript_views_footer').attr('aria-required',true);
jQuery('#jform_javascript_views_footer').addClass('required');
updateFieldRequired('javascript_view_footer',0);
jQuery('#jform_javascript_view_footer').prop('required','required');
jQuery('#jform_javascript_view_footer').attr('aria-required',true);
jQuery('#jform_javascript_view_footer').addClass('required');
jform_vvvvwajvzv_required = false;
}
}
else
{
jQuery('#jform_javascript_views_footer').closest('.control-group').hide();
jQuery('#jform_javascript_view_footer').closest('.control-group').hide();
if (!jform_vvvvwajvzv_required)
{
updateFieldRequired('javascript_view_footer',1);
jQuery('#jform_javascript_view_footer').removeAttr('required');
jQuery('#jform_javascript_view_footer').removeAttr('aria-required');
jQuery('#jform_javascript_view_footer').removeClass('required');
jform_vvvvwajvzv_required = true;
}
}
}
// the vvvvwak function
function vvvvwak(add_javascript_views_footer_vvvvwak)
{
// set the function logic
if (add_javascript_views_footer_vvvvwak == 1)
{
jQuery('#jform_javascript_views_footer').closest('.control-group').show();
if (jform_vvvvwakvzw_required)
{
updateFieldRequired('javascript_views_footer',0);
jQuery('#jform_javascript_views_footer').prop('required','required');
jQuery('#jform_javascript_views_footer').attr('aria-required',true);
jQuery('#jform_javascript_views_footer').addClass('required');
jform_vvvvwakvzw_required = false;
}
}
else
{
jQuery('#jform_javascript_views_footer').closest('.control-group').hide();
if (!jform_vvvvwakvzw_required)
{
updateFieldRequired('javascript_views_footer',1);
jQuery('#jform_javascript_views_footer').removeAttr('required');
jQuery('#jform_javascript_views_footer').removeAttr('aria-required');
jQuery('#jform_javascript_views_footer').removeClass('required');
jform_vvvvwajvzv_required = true;
jform_vvvvwakvzw_required = true;
}
}
}

View File

@ -23,24 +23,21 @@
/-----------------------------------------------------------------------------------------------------------------------------*/
// Some Global Values
jform_vvvvwakvzy_required = false;
jform_vvvvwalvzz_required = false;
jform_vvvvwamwaa_required = false;
jform_vvvvwanwab_required = false;
jform_vvvvwaowac_required = false;
jform_vvvvwapwad_required = false;
jform_vvvvwaqwae_required = false;
// Initial Script
jQuery(document).ready(function()
{
var location_vvvvwak = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwak(location_vvvvwak);
var location_vvvvwal = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwal(location_vvvvwal);
var type_vvvvwam = jQuery("#jform_type").val();
vvvvwam(type_vvvvwam);
var location_vvvvwam = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwam(location_vvvvwam);
var type_vvvvwan = jQuery("#jform_type").val();
vvvvwan(type_vvvvwan);
@ -48,127 +45,75 @@ jQuery(document).ready(function()
var type_vvvvwao = jQuery("#jform_type").val();
vvvvwao(type_vvvvwao);
var target_vvvvwap = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwap(target_vvvvwap);
var type_vvvvwap = jQuery("#jform_type").val();
vvvvwap(type_vvvvwap);
var target_vvvvwaq = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwaq(target_vvvvwaq);
});
// the vvvvwak function
function vvvvwak(location_vvvvwak)
{
// set the function logic
if (location_vvvvwak == 1)
{
jQuery('#jform_admin_view').closest('.control-group').show();
if (jform_vvvvwakvzy_required)
{
updateFieldRequired('admin_view',0);
jQuery('#jform_admin_view').prop('required','required');
jQuery('#jform_admin_view').attr('aria-required',true);
jQuery('#jform_admin_view').addClass('required');
jform_vvvvwakvzy_required = false;
}
}
else
{
jQuery('#jform_admin_view').closest('.control-group').hide();
if (!jform_vvvvwakvzy_required)
{
updateFieldRequired('admin_view',1);
jQuery('#jform_admin_view').removeAttr('required');
jQuery('#jform_admin_view').removeAttr('aria-required');
jQuery('#jform_admin_view').removeClass('required');
jform_vvvvwakvzy_required = true;
}
}
}
// the vvvvwal function
function vvvvwal(location_vvvvwal)
{
// set the function logic
if (location_vvvvwal == 2)
if (location_vvvvwal == 1)
{
jQuery('#jform_site_view').closest('.control-group').show();
jQuery('#jform_admin_view').closest('.control-group').show();
if (jform_vvvvwalvzz_required)
{
updateFieldRequired('site_view',0);
jQuery('#jform_site_view').prop('required','required');
jQuery('#jform_site_view').attr('aria-required',true);
jQuery('#jform_site_view').addClass('required');
updateFieldRequired('admin_view',0);
jQuery('#jform_admin_view').prop('required','required');
jQuery('#jform_admin_view').attr('aria-required',true);
jQuery('#jform_admin_view').addClass('required');
jform_vvvvwalvzz_required = false;
}
}
else
{
jQuery('#jform_site_view').closest('.control-group').hide();
jQuery('#jform_admin_view').closest('.control-group').hide();
if (!jform_vvvvwalvzz_required)
{
updateFieldRequired('site_view',1);
jQuery('#jform_site_view').removeAttr('required');
jQuery('#jform_site_view').removeAttr('aria-required');
jQuery('#jform_site_view').removeClass('required');
updateFieldRequired('admin_view',1);
jQuery('#jform_admin_view').removeAttr('required');
jQuery('#jform_admin_view').removeAttr('aria-required');
jQuery('#jform_admin_view').removeClass('required');
jform_vvvvwalvzz_required = true;
}
}
}
// the vvvvwam function
function vvvvwam(type_vvvvwam)
function vvvvwam(location_vvvvwam)
{
if (isSet(type_vvvvwam) && type_vvvvwam.constructor !== Array)
// set the function logic
if (location_vvvvwam == 2)
{
var temp_vvvvwam = type_vvvvwam;
var type_vvvvwam = [];
type_vvvvwam.push(temp_vvvvwam);
}
else if (!isSet(type_vvvvwam))
{
var type_vvvvwam = [];
}
var type = type_vvvvwam.some(type_vvvvwam_SomeFunc);
// set this function logic
if (type)
{
jQuery('#jform_url').closest('.control-group').show();
jQuery('#jform_site_view').closest('.control-group').show();
if (jform_vvvvwamwaa_required)
{
updateFieldRequired('url',0);
jQuery('#jform_url').prop('required','required');
jQuery('#jform_url').attr('aria-required',true);
jQuery('#jform_url').addClass('required');
updateFieldRequired('site_view',0);
jQuery('#jform_site_view').prop('required','required');
jQuery('#jform_site_view').attr('aria-required',true);
jQuery('#jform_site_view').addClass('required');
jform_vvvvwamwaa_required = false;
}
}
else
{
jQuery('#jform_url').closest('.control-group').hide();
jQuery('#jform_site_view').closest('.control-group').hide();
if (!jform_vvvvwamwaa_required)
{
updateFieldRequired('url',1);
jQuery('#jform_url').removeAttr('required');
jQuery('#jform_url').removeAttr('aria-required');
jQuery('#jform_url').removeClass('required');
updateFieldRequired('site_view',1);
jQuery('#jform_site_view').removeAttr('required');
jQuery('#jform_site_view').removeAttr('aria-required');
jQuery('#jform_site_view').removeClass('required');
jform_vvvvwamwaa_required = true;
}
}
}
// the vvvvwam Some function
function type_vvvvwam_SomeFunc(type_vvvvwam)
{
// set the function logic
if (type_vvvvwam == 3)
{
return true;
}
return false;
}
// the vvvvwan function
function vvvvwan(type_vvvvwan)
{
@ -188,26 +133,26 @@ function vvvvwan(type_vvvvwan)
// set this function logic
if (type)
{
jQuery('#jform_article').closest('.control-group').show();
jQuery('#jform_url').closest('.control-group').show();
if (jform_vvvvwanwab_required)
{
updateFieldRequired('article',0);
jQuery('#jform_article').prop('required','required');
jQuery('#jform_article').attr('aria-required',true);
jQuery('#jform_article').addClass('required');
updateFieldRequired('url',0);
jQuery('#jform_url').prop('required','required');
jQuery('#jform_url').attr('aria-required',true);
jQuery('#jform_url').addClass('required');
jform_vvvvwanwab_required = false;
}
}
else
{
jQuery('#jform_article').closest('.control-group').hide();
jQuery('#jform_url').closest('.control-group').hide();
if (!jform_vvvvwanwab_required)
{
updateFieldRequired('article',1);
jQuery('#jform_article').removeAttr('required');
jQuery('#jform_article').removeAttr('aria-required');
jQuery('#jform_article').removeClass('required');
updateFieldRequired('url',1);
jQuery('#jform_url').removeAttr('required');
jQuery('#jform_url').removeAttr('aria-required');
jQuery('#jform_url').removeClass('required');
jform_vvvvwanwab_required = true;
}
}
@ -217,7 +162,7 @@ function vvvvwan(type_vvvvwan)
function type_vvvvwan_SomeFunc(type_vvvvwan)
{
// set the function logic
if (type_vvvvwan == 1)
if (type_vvvvwan == 3)
{
return true;
}
@ -243,26 +188,26 @@ function vvvvwao(type_vvvvwao)
// set this function logic
if (type)
{
jQuery('#jform_content-lbl').closest('.control-group').show();
jQuery('#jform_article').closest('.control-group').show();
if (jform_vvvvwaowac_required)
{
updateFieldRequired('content',0);
jQuery('#jform_content').prop('required','required');
jQuery('#jform_content').attr('aria-required',true);
jQuery('#jform_content').addClass('required');
updateFieldRequired('article',0);
jQuery('#jform_article').prop('required','required');
jQuery('#jform_article').attr('aria-required',true);
jQuery('#jform_article').addClass('required');
jform_vvvvwaowac_required = false;
}
}
else
{
jQuery('#jform_content-lbl').closest('.control-group').hide();
jQuery('#jform_article').closest('.control-group').hide();
if (!jform_vvvvwaowac_required)
{
updateFieldRequired('content',1);
jQuery('#jform_content').removeAttr('required');
jQuery('#jform_content').removeAttr('aria-required');
jQuery('#jform_content').removeClass('required');
updateFieldRequired('article',1);
jQuery('#jform_article').removeAttr('required');
jQuery('#jform_article').removeAttr('aria-required');
jQuery('#jform_article').removeClass('required');
jform_vvvvwaowac_required = true;
}
}
@ -272,7 +217,7 @@ function vvvvwao(type_vvvvwao)
function type_vvvvwao_SomeFunc(type_vvvvwao)
{
// set the function logic
if (type_vvvvwao == 2)
if (type_vvvvwao == 1)
{
return true;
}
@ -280,32 +225,87 @@ function type_vvvvwao_SomeFunc(type_vvvvwao)
}
// the vvvvwap function
function vvvvwap(target_vvvvwap)
function vvvvwap(type_vvvvwap)
{
// set the function logic
if (target_vvvvwap == 1)
if (isSet(type_vvvvwap) && type_vvvvwap.constructor !== Array)
{
jQuery('#jform_groups').closest('.control-group').show();
var temp_vvvvwap = type_vvvvwap;
var type_vvvvwap = [];
type_vvvvwap.push(temp_vvvvwap);
}
else if (!isSet(type_vvvvwap))
{
var type_vvvvwap = [];
}
var type = type_vvvvwap.some(type_vvvvwap_SomeFunc);
// set this function logic
if (type)
{
jQuery('#jform_content-lbl').closest('.control-group').show();
if (jform_vvvvwapwad_required)
{
updateFieldRequired('groups',0);
jQuery('#jform_groups').prop('required','required');
jQuery('#jform_groups').attr('aria-required',true);
jQuery('#jform_groups').addClass('required');
updateFieldRequired('content',0);
jQuery('#jform_content').prop('required','required');
jQuery('#jform_content').attr('aria-required',true);
jQuery('#jform_content').addClass('required');
jform_vvvvwapwad_required = false;
}
}
else
{
jQuery('#jform_groups').closest('.control-group').hide();
jQuery('#jform_content-lbl').closest('.control-group').hide();
if (!jform_vvvvwapwad_required)
{
updateFieldRequired('content',1);
jQuery('#jform_content').removeAttr('required');
jQuery('#jform_content').removeAttr('aria-required');
jQuery('#jform_content').removeClass('required');
jform_vvvvwapwad_required = true;
}
}
}
// the vvvvwap Some function
function type_vvvvwap_SomeFunc(type_vvvvwap)
{
// set the function logic
if (type_vvvvwap == 2)
{
return true;
}
return false;
}
// the vvvvwaq function
function vvvvwaq(target_vvvvwaq)
{
// set the function logic
if (target_vvvvwaq == 1)
{
jQuery('#jform_groups').closest('.control-group').show();
if (jform_vvvvwaqwae_required)
{
updateFieldRequired('groups',0);
jQuery('#jform_groups').prop('required','required');
jQuery('#jform_groups').attr('aria-required',true);
jQuery('#jform_groups').addClass('required');
jform_vvvvwaqwae_required = false;
}
}
else
{
jQuery('#jform_groups').closest('.control-group').hide();
if (!jform_vvvvwaqwae_required)
{
updateFieldRequired('groups',1);
jQuery('#jform_groups').removeAttr('required');
jQuery('#jform_groups').removeAttr('aria-required');
jQuery('#jform_groups').removeClass('required');
jform_vvvvwapwad_required = true;
jform_vvvvwaqwae_required = true;
}
}
}

View File

@ -25,34 +25,51 @@
// Some Global Values
jform_vvvvvzvvzm_required = false;
jform_vvvvvzvvzn_required = false;
jform_vvvvwaavzo_required = false;
// Initial Script
jQuery(document).ready(function()
{
var how_vvvvvzu = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzu = jQuery("#jform_how").val();
vvvvvzu(how_vvvvvzu);
var how_vvvvvzv = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzv = jQuery("#jform_how").val();
vvvvvzv(how_vvvvvzv);
var how_vvvvvzw = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzw = jQuery("#jform_how").val();
vvvvvzw(how_vvvvvzw);
var how_vvvvvzx = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzx = jQuery("#jform_how").val();
vvvvvzx(how_vvvvvzx);
var how_vvvvvzy = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzy = jQuery("#jform_how").val();
vvvvvzy(how_vvvvvzy);
var how_vvvvvzz = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzz = jQuery("#jform_how").val();
vvvvvzz(how_vvvvvzz);
var type_vvvvwaa = jQuery("#jform_type input[type='radio']:checked").val();
vvvvwaa(type_vvvvwaa);
});
// the vvvvvzu function
function vvvvvzu(how_vvvvvzu)
{
// set the function logic
if (how_vvvvvzu == 2)
if (isSet(how_vvvvvzu) && how_vvvvvzu.constructor !== Array)
{
var temp_vvvvvzu = how_vvvvvzu;
var how_vvvvvzu = [];
how_vvvvvzu.push(temp_vvvvvzu);
}
else if (!isSet(how_vvvvvzu))
{
var how_vvvvvzu = [];
}
var how = how_vvvvvzu.some(how_vvvvvzu_SomeFunc);
// set this function logic
if (how)
{
jQuery('#jform_addconditions-lbl').closest('.control-group').show();
}
@ -62,11 +79,35 @@ function vvvvvzu(how_vvvvvzu)
}
}
// the vvvvvzu Some function
function how_vvvvvzu_SomeFunc(how_vvvvvzu)
{
// set the function logic
if (how_vvvvvzu == 2)
{
return true;
}
return false;
}
// the vvvvvzv function
function vvvvvzv(how_vvvvvzv)
{
// set the function logic
if (how_vvvvvzv == 3)
if (isSet(how_vvvvvzv) && how_vvvvvzv.constructor !== Array)
{
var temp_vvvvvzv = how_vvvvvzv;
var how_vvvvvzv = [];
how_vvvvvzv.push(temp_vvvvvzv);
}
else if (!isSet(how_vvvvvzv))
{
var how_vvvvvzv = [];
}
var how = how_vvvvvzv.some(how_vvvvvzv_SomeFunc);
// set this function logic
if (how)
{
jQuery('#jform_php_setdocument').closest('.control-group').show();
if (jform_vvvvvzvvzm_required)
@ -112,11 +153,35 @@ function vvvvvzv(how_vvvvvzv)
}
}
// the vvvvvzv Some function
function how_vvvvvzv_SomeFunc(how_vvvvvzv)
{
// set the function logic
if (how_vvvvvzv == 3)
{
return true;
}
return false;
}
// the vvvvvzw function
function vvvvvzw(how_vvvvvzw)
{
// set the function logic
if (how_vvvvvzw == 2 || how_vvvvvzw == 3)
if (isSet(how_vvvvvzw) && how_vvvvvzw.constructor !== Array)
{
var temp_vvvvvzw = how_vvvvvzw;
var how_vvvvvzw = [];
how_vvvvvzw.push(temp_vvvvvzw);
}
else if (!isSet(how_vvvvvzw))
{
var how_vvvvvzw = [];
}
var how = how_vvvvvzw.some(how_vvvvvzw_SomeFunc);
// set this function logic
if (how)
{
jQuery('.note_display_library_config').closest('.control-group').show();
}
@ -126,11 +191,35 @@ function vvvvvzw(how_vvvvvzw)
}
}
// the vvvvvzw Some function
function how_vvvvvzw_SomeFunc(how_vvvvvzw)
{
// set the function logic
if (how_vvvvvzw == 2 || how_vvvvvzw == 3)
{
return true;
}
return false;
}
// the vvvvvzx function
function vvvvvzx(how_vvvvvzx)
{
// set the function logic
if (how_vvvvvzx == 1 || how_vvvvvzx == 2 || how_vvvvvzx == 3)
if (isSet(how_vvvvvzx) && how_vvvvvzx.constructor !== Array)
{
var temp_vvvvvzx = how_vvvvvzx;
var how_vvvvvzx = [];
how_vvvvvzx.push(temp_vvvvvzx);
}
else if (!isSet(how_vvvvvzx))
{
var how_vvvvvzx = [];
}
var how = how_vvvvvzx.some(how_vvvvvzx_SomeFunc);
// set this function logic
if (how)
{
jQuery('.note_display_library_files_folders_urls').closest('.control-group').show();
}
@ -140,11 +229,35 @@ function vvvvvzx(how_vvvvvzx)
}
}
// the vvvvvzx Some function
function how_vvvvvzx_SomeFunc(how_vvvvvzx)
{
// set the function logic
if (how_vvvvvzx == 1 || how_vvvvvzx == 2 || how_vvvvvzx == 3)
{
return true;
}
return false;
}
// the vvvvvzy function
function vvvvvzy(how_vvvvvzy)
{
// set the function logic
if (how_vvvvvzy == 0)
if (isSet(how_vvvvvzy) && how_vvvvvzy.constructor !== Array)
{
var temp_vvvvvzy = how_vvvvvzy;
var how_vvvvvzy = [];
how_vvvvvzy.push(temp_vvvvvzy);
}
else if (!isSet(how_vvvvvzy))
{
var how_vvvvvzy = [];
}
var how = how_vvvvvzy.some(how_vvvvvzy_SomeFunc);
// set this function logic
if (how)
{
jQuery('.note_no_behaviour_one').closest('.control-group').show();
jQuery('.note_no_behaviour_three').closest('.control-group').show();
@ -158,11 +271,35 @@ function vvvvvzy(how_vvvvvzy)
}
}
// the vvvvvzy Some function
function how_vvvvvzy_SomeFunc(how_vvvvvzy)
{
// set the function logic
if (how_vvvvvzy == 0)
{
return true;
}
return false;
}
// the vvvvvzz function
function vvvvvzz(how_vvvvvzz)
{
// set the function logic
if (how_vvvvvzz == 1)
if (isSet(how_vvvvvzz) && how_vvvvvzz.constructor !== Array)
{
var temp_vvvvvzz = how_vvvvvzz;
var how_vvvvvzz = [];
how_vvvvvzz.push(temp_vvvvvzz);
}
else if (!isSet(how_vvvvvzz))
{
var how_vvvvvzz = [];
}
var how = how_vvvvvzz.some(how_vvvvvzz_SomeFunc);
// set this function logic
if (how)
{
jQuery('.note_yes_behaviour_one').closest('.control-group').show();
jQuery('.note_yes_behaviour_two').closest('.control-group').show();
@ -174,6 +311,48 @@ function vvvvvzz(how_vvvvvzz)
}
}
// the vvvvvzz Some function
function how_vvvvvzz_SomeFunc(how_vvvvvzz)
{
// set the function logic
if (how_vvvvvzz == 1)
{
return true;
}
return false;
}
// the vvvvwaa function
function vvvvwaa(type_vvvvwaa)
{
// set the function logic
if (type_vvvvwaa == 2)
{
jQuery('#jform_libraries').closest('.control-group').show();
if (jform_vvvvwaavzo_required)
{
updateFieldRequired('libraries',0);
jQuery('#jform_libraries').prop('required','required');
jQuery('#jform_libraries').attr('aria-required',true);
jQuery('#jform_libraries').addClass('required');
jform_vvvvwaavzo_required = false;
}
}
else
{
jQuery('#jform_libraries').closest('.control-group').hide();
if (!jform_vvvvwaavzo_required)
{
updateFieldRequired('libraries',1);
jQuery('#jform_libraries').removeAttr('required');
jQuery('#jform_libraries').removeAttr('aria-required');
jQuery('#jform_libraries').removeClass('required');
jform_vvvvwaavzo_required = true;
}
}
}
// update required fields
function updateFieldRequired(name,status)
{
@ -269,7 +448,7 @@ function addButton(type,where){
function getAjaxDisplay(type){
getAjaxDisplay_server(type).done(function(result) {
if(result){
if (result) {
jQuery('#display_'+type).html(result);
}
// set button
@ -279,7 +458,7 @@ function getAjaxDisplay(type){
function getAjaxDisplay_server(type){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getAjaxDisplay&format=json&vdm="+vastDevMod;
if(token.length > 0 && type.length > 0){
if (token.length > 0 && type.length > 0) {
var request = 'token='+token+'&type=' + type;
}
return jQuery.ajax({
@ -293,7 +472,7 @@ function getAjaxDisplay_server(type){
function getFieldSelectOptions_server(fieldId){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.fieldSelectOptions&format=json";
if(token.length > 0 && fieldId > 0){
if (token.length > 0 && fieldId > 0) {
var request = 'token='+token+'&id='+fieldId;
}
return jQuery.ajax({
@ -310,11 +489,9 @@ function getFieldSelectOptions(fieldKey){
if(jQuery("#jform_addconditions__addconditions"+fieldKey+"__option_field").length) {
var fieldId = jQuery("#jform_addconditions__addconditions"+fieldKey+"__option_field option:selected").val();
getFieldSelectOptions_server(fieldId).done(function(result) {
if(result){
if(result) {
jQuery('textarea#jform_addconditions__addconditions'+fieldKey+'__field_options').val(result);
}
else
{
} else {
jQuery('textarea#jform_addconditions__addconditions'+fieldKey+'__field_options').val('');
}
});

View File

@ -122,15 +122,17 @@
message="COM_COMPONENTBUILDER_LIBRARY_DESCRIPTION_MESSAGE"
hint="COM_COMPONENTBUILDER_LIBRARY_DESCRIPTION_HINT"
/>
<!-- How Field. Type: Radio. (joomla) -->
<!-- How Field. Type: List. (joomla) -->
<field
type="radio"
type="list"
name="how"
label="COM_COMPONENTBUILDER_LIBRARY_HOW_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_HOW_DESCRIPTION"
class="btn-group btn-group-yesno"
default="2"
required="true">
class="list_class"
multiple="false"
filter="INT"
required="true"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_LIBRARY_ALWAYS_ADD</option>
@ -141,8 +143,29 @@
<option value="0">
COM_COMPONENTBUILDER_LIBRARY_DO_NOT_ADD</option>
</field>
<!-- Note_display_library_files_folders_urls Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_display_library_files_folders_urls" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_DISPLAY_LIBRARY_FILES_FOLDERS_URLS_DESCRIPTION" class="note_display_library_files_folders_urls" />
<!-- Type Field. Type: Radio. (joomla) -->
<field
type="radio"
name="type"
label="COM_COMPONENTBUILDER_LIBRARY_TYPE_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_TYPE_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_LIBRARY_MAIN</option>
<option value="2">
COM_COMPONENTBUILDER_LIBRARY_BUNDLE</option>
</field>
<!-- Not_required Field. Type: Hidden. (joomla) -->
<field
type="hidden"
name="not_required"
default="[]"
/>
<!-- Note_yes_behaviour_two Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_yes_behaviour_two" label="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_TWO_LABEL" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_TWO_DESCRIPTION" heading="h4" class="alert alert-success note_yes_behaviour_two" />
<!-- Php_setdocument Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -156,6 +179,21 @@
hint="COM_COMPONENTBUILDER_LIBRARY_PHP_SETDOCUMENT_HINT"
required="true"
/>
<!-- Note_display_library_files_folders_urls Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_display_library_files_folders_urls" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_DISPLAY_LIBRARY_FILES_FOLDERS_URLS_DESCRIPTION" class="note_display_library_files_folders_urls" />
<!-- Php_preparedocument Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_preparedocument"
label="COM_COMPONENTBUILDER_LIBRARY_PHP_PREPAREDOCUMENT_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_LIBRARY_PHP_PREPAREDOCUMENT_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_LIBRARY_PHP_PREPAREDOCUMENT_HINT"
required="true"
/>
<!-- Addconditions Field. Type: Subform. (joomla) -->
<field
type="subform"
@ -274,35 +312,26 @@
/>
</form>
</field>
<!-- Php_preparedocument Field. Type: Textarea. (joomla) -->
<!-- Libraries Field. Type: Librariesx. (custom) -->
<field
type="textarea"
name="php_preparedocument"
label="COM_COMPONENTBUILDER_LIBRARY_PHP_PREPAREDOCUMENT_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_LIBRARY_PHP_PREPAREDOCUMENT_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_LIBRARY_PHP_PREPAREDOCUMENT_HINT"
required="true"
type="librariesx"
name="libraries"
label="COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_DESCRIPTION"
class="list_class"
multiple="true"
default="0"
required="false"
button="true"
/>
<!-- Note_yes_behaviour_two Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_yes_behaviour_two" label="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_TWO_LABEL" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_TWO_DESCRIPTION" heading="h4" class="alert alert-success note_yes_behaviour_two" />
<!-- Note_yes_behaviour_one Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_yes_behaviour_one" label="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_LABEL" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_DESCRIPTION" heading="h4" class="alert alert-success note_yes_behaviour_one" />
<!-- Note_no_behaviour_three Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_no_behaviour_three" label="COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_LABEL" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_DESCRIPTION" heading="h4" class="alert alert-error note_no_behaviour_three" />
<!-- Note_no_behaviour_one Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_no_behaviour_one" label="COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_ONE_LABEL" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_ONE_DESCRIPTION" heading="h4" class="alert alert-error note_no_behaviour_one" />
<!-- Note_no_behaviour_two Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_no_behaviour_two" label="COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_LABEL" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_DESCRIPTION" heading="h4" class="alert alert-error note_no_behaviour_two" />
<!-- Not_required Field. Type: Hidden. (joomla) -->
<field
type="hidden"
name="not_required"
default="[]"
/>
<!-- Note_yes_behaviour_one Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_yes_behaviour_one" label="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_LABEL" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_DESCRIPTION" heading="h4" class="alert alert-success note_yes_behaviour_one" />
<!-- Note_display_library_config Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_display_library_config" description="COM_COMPONENTBUILDER_LIBRARY_NOTE_DISPLAY_LIBRARY_CONFIG_DESCRIPTION" class="note_display_library_config" />
</fieldset>

View File

@ -107,12 +107,10 @@
type="subform"
name="addconfig"
label="COM_COMPONENTBUILDER_LIBRARY_CONFIG_ADDCONFIG_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_ADDCONFIG_DESCRIPTION"
icon="list"
maximum="500"
filter="ARRAY">
maximum="500">
<form hidden="true" name="list_addconfig_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<field
@ -146,7 +144,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_CONFIG_TABNAME_LABEL"
size="40"
maxlength="150"
default="Library"
default="Global"
description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_TABNAME_DESCRIPTION"
class="text_area"
readonly="false"

View File

@ -122,7 +122,7 @@ class ComponentbuilderModelFtp extends JModelAdmin
*
* @return mixed An array of data items on success, false on failure.
*/
public function getVzxlinked_components()
public function getVzylinked_components()
{
// Get the user object.
$user = JFactory::getUser();

View File

@ -838,6 +838,9 @@ class ComponentbuilderModelLayout extends JModelAdmin
$data['metadata'] = (string) $metadata;
}
// always reset the snippets
$data['snippet'] = 0;
// Set the libraries items to data.
if (isset($data['libraries']) && is_array($data['libraries']))
{

View File

@ -45,7 +45,9 @@ class ComponentbuilderModelLibraries extends JModelList
'a.created_by','created_by',
'a.modified_by','modified_by',
'a.name','name',
'a.description','description'
'a.description','description',
'a.type','type',
'a.how','how'
);
}
@ -70,7 +72,13 @@ class ComponentbuilderModelLibraries extends JModelList
$this->setState('filter.name', $name);
$description = $this->getUserStateFromRequest($this->context . '.filter.description', 'filter_description');
$this->setState('filter.description', $description);
$this->setState('filter.description', $description);
$type = $this->getUserStateFromRequest($this->context . '.filter.type', 'filter_type');
$this->setState('filter.type', $type);
$how = $this->getUserStateFromRequest($this->context . '.filter.how', 'filter_how');
$this->setState('filter.how', $how);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
@ -131,6 +139,8 @@ class ComponentbuilderModelLibraries extends JModelList
{
// convert how
$item->how = $this->selectionTranslation($item->how, 'how');
// convert type
$item->type = $this->selectionTranslation($item->type, 'type');
}
}
@ -161,6 +171,19 @@ class ComponentbuilderModelLibraries extends JModelList
return $howArray[$value];
}
}
// Array of type language strings
if ($name === 'type')
{
$typeArray = array(
1 => 'COM_COMPONENTBUILDER_LIBRARY_MAIN',
2 => 'COM_COMPONENTBUILDER_LIBRARY_BUNDLE'
);
// Now check if value is found in this array
if (isset($typeArray[$value]) && ComponentbuilderHelper::checkString($typeArray[$value]))
{
return $typeArray[$value];
}
}
return $value;
}
@ -223,6 +246,16 @@ class ComponentbuilderModelLibraries extends JModelList
}
}
// Filter by How.
if ($how = $this->getState('filter.how'))
{
$query->where('a.how = ' . $db->quote($db->escape($how)));
}
// Filter by Type.
if ($type = $this->getState('filter.type'))
{
$query->where('a.type = ' . $db->quote($db->escape($type)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
@ -251,7 +284,9 @@ class ComponentbuilderModelLibraries extends JModelList
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.name');
$id .= ':' . $this->getState('filter.description');
$id .= ':' . $this->getState('filter.description');
$id .= ':' . $this->getState('filter.type');
$id .= ':' . $this->getState('filter.how');
return parent::getStoreId($id);
}

View File

@ -108,6 +108,14 @@ class ComponentbuilderModelLibrary extends JModelAdmin
$item->addconditions = $addconditions->toArray();
}
if (!empty($item->libraries))
{
// Convert the libraries field to an array.
$libraries = new Registry;
$libraries->loadString($item->libraries);
$item->libraries = $libraries->toArray();
}
if (!empty($item->php_setdocument))
{
// base64 Decode php_setdocument.
@ -441,7 +449,9 @@ class ComponentbuilderModelLibrary extends JModelAdmin
*/
protected function getUniqeFields()
{
return false;
return array('name');
}
/**
@ -937,6 +947,19 @@ class ComponentbuilderModelLibrary extends JModelAdmin
$data['addconditions'] = '';
}
// Set the libraries items to data.
if (isset($data['libraries']) && is_array($data['libraries']))
{
$libraries = new JRegistry;
$libraries->loadArray($data['libraries']);
$data['libraries'] = (string) $libraries;
}
elseif (!isset($data['libraries']))
{
// Set the empty libraries to data
$data['libraries'] = '';
}
// Set the php_setdocument string to base64 string.
if (isset($data['php_setdocument']))
{
@ -962,6 +985,13 @@ class ComponentbuilderModelLibrary extends JModelAdmin
// give a notice that the name can not be changed
JFactory::getApplication()->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_THE_NAME_OF_THIS_LIBRARY_BSB_CAN_NOT_BE_CHANGED_TO_BSB_OR_THINGS_WILL_BREAK', $data['name'], $name_), 'warning');
}
// always insure they remain set a main libraries
$data['type'] = 1;
}
// also check to insure these names are not used again
if (!isset(ComponentbuilderHelper::$libraryNames[$data['id']]) && in_array($data['name'], ComponentbuilderHelper::$libraryNames))
{
$data['name'] = $this->generateUniqe('name', $data['name']);
}
// Set the Params Items to data

View File

@ -955,6 +955,9 @@ class ComponentbuilderModelSite_view extends JModelAdmin
$data['metadata'] = (string) $metadata;
}
// always reset the snippets
$data['snippet'] = 0;
// Set the libraries items to data.
if (isset($data['libraries']) && is_array($data['libraries']))
{

View File

@ -838,6 +838,9 @@ class ComponentbuilderModelTemplate extends JModelAdmin
$data['metadata'] = (string) $metadata;
}
// always reset the snippets
$data['snippet'] = 0;
// Set the libraries items to data.
if (isset($data['libraries']) && is_array($data['libraries']))
{

View File

@ -570,10 +570,12 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_library` (
`addconditions` MEDIUMTEXT NOT NULL,
`description` VARCHAR(255) NOT NULL DEFAULT '',
`how` TINYINT(1) NOT NULL DEFAULT 1,
`libraries` TEXT NOT NULL,
`name` VARCHAR(255) NOT NULL DEFAULT '',
`not_required` INT(1) NOT NULL DEFAULT 0,
`php_preparedocument` MEDIUMTEXT NOT NULL,
`php_setdocument` MEDIUMTEXT NOT NULL,
`type` TINYINT(1) NOT NULL DEFAULT 0,
`params` text NOT NULL DEFAULT '',
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
@ -1230,8 +1232,8 @@ INSERT INTO `#__componentbuilder_admin_view` (`id`, `add_css_view`, `add_css_vie
--
INSERT INTO `#__componentbuilder_site_view` (`id`, `add_css_document`, `add_css`, `add_js_document`, `add_php_document`, `add_php_jview`, `add_php_jview_display`, `add_php_view`, `add_php_ajax`, `add_custom_button`, `custom_button`, `button_position`, `php_controller`, `php_model`, `ajax_input`, `php_ajaxmethod`, `codename`, `css_document`, `css`, `custom_get`, `default`, `description`, `dynamic_get`, `js_document`, `main_get`, `name`, `system_name`, `not_required`, `php_document`, `php_jview`, `php_jview_display`, `php_view`, `snippet`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
(23, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'looks', '', '', '', 'PHRhYmxlIGNsYXNzPSJ1ay10YWJsZSB1ay10YWJsZS1ob3ZlciI+DQogICAgPGNhcHRpb24+PD9waHAgZWNobyBKVGV4dDo6XygnTGlzdCBvZiBhbGwgbG9va3MnKTsgPz48L2NhcHRpb24+DQogICAgPHRoZWFkPg0KICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGg+PD9waHAgZWNobyBKVGV4dDo6XygnTmFtZScpOyA/PjwvdGg+DQogICAgICAgICAgICA8dGg+PD9waHAgZWNobyBKVGV4dDo6XygnRGVzY3JpcHRpb24nKTsgPz48L3RoPg0KICAgICAgICA8L3RyPg0KICAgIDwvdGhlYWQ+DQogICAgPHRib2R5Pg0KICAgICAgICA8P3BocCBmb3JlYWNoICgkdGhpcy0+aXRlbXMgYXMgJGl0ZW0pOiA/Pg0KICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iPD9waHAgZWNobyAgW1tbQ29tcG9uZW50XV1dSGVscGVyUm91dGU6OmdldExvb2tpbmdSb3V0ZSgkaXRlbS0+c2x1Zyk7ID8+IiA+PD9waHAgZWNobyAkaXRlbS0+bmFtZTsgPz48L2E+PC90ZD4NCiAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR0aGlzLT5lc2NhcGUoJGl0ZW0tPmRlc2NyaXB0aW9uLCB0cnVlLCAxMjApOyA/Pjw/cGhwIGVjaG8gJGl0ZW0tPmVkaXRMaW5rOyA/PjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgIDw/cGhwIGVuZGZvcmVhY2g7ID8+DQogICAgPC90Ym9keT4NCjwvdGFibGU+', 'The List of all published looks', 36, '', 36, 'Looks', 'Looks', '', '', '', '', '', 20, '', 1, '2016-04-05 14:31:59', '2016-10-20 15:57:24', 9, '', 14),
(25, '', '', '', '', 1, 1, '', '', '', '', 1, '', '', '', '', 'looking', '', '', '', 'PGFydGljbGUgY2xhc3M9InVrLWNvbW1lbnQiPg0KICAgIDxoZWFkZXIgY2xhc3M9InVrLWNvbW1lbnQtaGVhZGVyIj4NCiAgICAgICAgPGltZyBjbGFzcz0idWstY29tbWVudC1hdmF0YXIiIHNyYz0ie2ltYWdldXJsfSIgYWx0PSIiPg0KICAgICAgICA8aDQgY2xhc3M9InVrLWNvbW1lbnQtdGl0bGUiPjw/cGhwIGVjaG8gJHRoaXMtPmVzY2FwZSgkdGhpcy0+aXRlbS0+bmFtZSk7ID8+PC9oND4NCiAgICAgICAgPGRpdiBjbGFzcz0idWstY29tbWVudC1tZXRhIj48P3BocCBlY2hvIEpUZXh0OjpfKCdIaXRzJyk7ID8+OiA8P3BocCBlY2hvICR0aGlzLT5pdGVtLT5oaXRzOyA/PjwvZGl2Pg0KICAgIDwvaGVhZGVyPg0KICAgIDxkaXYgY2xhc3M9InVrLWNvbW1lbnQtYm9keSI+DQogICAgICAgIDw/cGhwIGVjaG8gJHRoaXMtPml0ZW0tPmRlc2NyaXB0aW9uOyA/Pg0KICAgICAgICA8P3BocCBpZiAoJHRoaXMtPml0ZW0tPmFkZCk6ID8+DQogICAgICAgICAgICA8YnIgLz4NCiAgICAgICAgICAgIDwhLS0gVGhpcyBpcyBhIGJ1dHRvbiB0b2dnbGluZyB0aGUgbW9kYWwgLS0+DQogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ1ay1idXR0b24iIGRhdGEtdWstbW9kYWw9Int0YXJnZXQ6JyNtb3JlLWRldGFpbHMtMDkwJ30iPjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ01vcmUgRGV0YWlscycpOyA/PjwvYnV0dG9uPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICA8L2Rpdj4NCjwvYXJ0aWNsZT4NCjw/cGhwIGlmICgkdGhpcy0+aXRlbS0+YWRkKTogPz4NCjwhLS0gVGhpcyBpcyB0aGUgbW9kYWwgLS0+DQo8ZGl2IGlkPSJtb3JlLWRldGFpbHMtMDkwIiBjbGFzcz0idWstbW9kYWwiPg0KICAgIDxkaXYgY2xhc3M9InVrLW1vZGFsLWRpYWxvZyI+DQogICAgICAgIDxhIGNsYXNzPSJ1ay1tb2RhbC1jbG9zZSB1ay1jbG9zZSI+PC9hPg0KICAgICAgICA8ZGwgY2xhc3M9InVrLWRlc2NyaXB0aW9uLWxpc3QtaG9yaXpvbnRhbCI+DQogICAgICAgIDw/cGhwIGlmIChbW1tDb21wb25lbnRdXV1IZWxwZXI6OmNoZWNrU3RyaW5nKCR0aGlzLT5pdGVtLT5kYXRlb2ZiaXJ0aCkpOiA/Pg0KICAgICAgICAgICAgPGR0Pjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ0JpcnRoIGRheScpOyA/PjwvZHQ+PGRkPjw/cGhwIGVjaG8gW1tbQ29tcG9uZW50XV1dSGVscGVyOjpmYW5jeURhdGUoJHRoaXMtPmVzY2FwZSgkdGhpcy0+aXRlbS0+ZGF0ZW9mYmlydGgpKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPD9waHAgaWYgKFtbW0NvbXBvbmVudF1dXUhlbHBlcjo6Y2hlY2tTdHJpbmcoJHRoaXMtPml0ZW0tPmVtYWlsKSk6ID8+DQogICAgICAgICAgICA8ZHQ+PD9waHAgZWNobyBKVGV4dDo6XygnRW1haWwnKTsgPz48L2R0PjxkZD48P3BocCBlY2hvICR0aGlzLT5lc2NhcGUoJHRoaXMtPml0ZW0tPmVtYWlsKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPD9waHAgaWYgKFtbW0NvbXBvbmVudF1dXUhlbHBlcjo6Y2hlY2tTdHJpbmcoJHRoaXMtPml0ZW0tPm1vYmlsZV9waG9uZSkpOiA/Pg0KICAgICAgICAgICAgPGR0Pjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ01vYmlsZScpOyA/PjwvZHQ+PGRkPjw/cGhwIGVjaG8gJHRoaXMtPmVzY2FwZSgkdGhpcy0+aXRlbS0+bW9iaWxlX3Bob25lKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPD9waHAgaWYgKFtbW0NvbXBvbmVudF1dXUhlbHBlcjo6Y2hlY2tTdHJpbmcoJHRoaXMtPml0ZW0tPndlYnNpdGUpKTogPz4NCiAgICAgICAgICAgIDxkdD48P3BocCBlY2hvIEpUZXh0OjpfKCdXZWJzaXRlJyk7ID8+PC9kdD48ZGQ+PD9waHAgZWNobyAkdGhpcy0+ZXNjYXBlKCR0aGlzLT5pdGVtLT53ZWJzaXRlKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPC9kbD4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KPD9waHAgZW5kaWY7ID8+', 'Looking at a look', 39, '', 39, 'Looking', 'Looking', '', '', 'CSAvKioNCgkgKiBJbmNyZW1lbnQgdGhlIGhpdCBjb3VudGVyIGZvciB0aGUgcHJlYWNoZXIuDQoJICoNCgkgKiBAcGFyYW0gICBpbnRlZ2VyICAkcGsgIFByaW1hcnkga2V5IG9mIHRoZSBwcmVhY2hlciB0byBpbmNyZW1lbnQuDQoJICoNCgkgKiBAcmV0dXJuICBib29sZWFuICBUcnVlIGlmIHN1Y2Nlc3NmdWw7DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGhpdCgkcGsgPSAwKQ0KCXsNCgkJaWYgKCRwaykNCgkJew0KCQkJJGRiID0gSkZhY3Rvcnk6OmdldERibygpOw0KCQkJJHF1ZXJ5ID0gJGRiLT5nZXRRdWVyeSh0cnVlKTsNCg0KCQkJLy8gRmllbGRzIHRvIHVwZGF0ZS4NCgkJCSRmaWVsZHMgPSBhcnJheSgNCgkJCSAgICAkZGItPnF1b3RlTmFtZSgnaGl0cycpIC4gJyA9ICcuJGRiLT5xdW90ZU5hbWUoJ2hpdHMnKS4nICsgMScNCgkJCSk7DQoNCgkJCS8vIENvbmRpdGlvbnMgZm9yIHdoaWNoIHJlY29yZHMgc2hvdWxkIGJlIHVwZGF0ZWQuDQoJCQkkY29uZGl0aW9ucyA9IGFycmF5KA0KCQkJICAgICRkYi0+cXVvdGVOYW1lKCdpZCcpIC4gJyA9ICcgLiAkcGsNCgkJCSk7DQoNCgkJCSRxdWVyeS0+dXBkYXRlKCRkYi0+cXVvdGVOYW1lKCcjX19bW1tjb21wb25lbnRdXV1fbG9vaycpKS0+c2V0KCRmaWVsZHMpLT53aGVyZSgkY29uZGl0aW9ucyk7DQoNCgkJCSRkYi0+c2V0UXVlcnkoJHF1ZXJ5KTsNCgkJCXJldHVybiAkZGItPmV4ZWN1dGUoKTsNCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ==', 'Ly8gYWRkIGEgaGl0IHRvIHRoZSBsb29rDQppZiAoJHRoaXMtPmhpdCgkdGhpcy0+aXRlbS0+aWQpKQ0Kew0KCSR0aGlzLT5pdGVtLT5oaXRzKys7DQp9', '', 19, '', 1, '2016-10-20 15:11:29', '2016-10-20 17:10:58', 16, '', 14);
(23, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'looks', '', '', '', 'PHRhYmxlIGNsYXNzPSJ1ay10YWJsZSB1ay10YWJsZS1ob3ZlciI+DQogICAgPGNhcHRpb24+PD9waHAgZWNobyBKVGV4dDo6XygnTGlzdCBvZiBhbGwgbG9va3MnKTsgPz48L2NhcHRpb24+DQogICAgPHRoZWFkPg0KICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGg+PD9waHAgZWNobyBKVGV4dDo6XygnTmFtZScpOyA/PjwvdGg+DQogICAgICAgICAgICA8dGg+PD9waHAgZWNobyBKVGV4dDo6XygnRGVzY3JpcHRpb24nKTsgPz48L3RoPg0KICAgICAgICA8L3RyPg0KICAgIDwvdGhlYWQ+DQogICAgPHRib2R5Pg0KICAgICAgICA8P3BocCBmb3JlYWNoICgkdGhpcy0+aXRlbXMgYXMgJGl0ZW0pOiA/Pg0KICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iPD9waHAgZWNobyAgW1tbQ29tcG9uZW50XV1dSGVscGVyUm91dGU6OmdldExvb2tpbmdSb3V0ZSgkaXRlbS0+c2x1Zyk7ID8+IiA+PD9waHAgZWNobyAkaXRlbS0+bmFtZTsgPz48L2E+PC90ZD4NCiAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR0aGlzLT5lc2NhcGUoJGl0ZW0tPmRlc2NyaXB0aW9uLCB0cnVlLCAxMjApOyA/Pjw/cGhwIGVjaG8gJGl0ZW0tPmVkaXRMaW5rOyA/PjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgIDw/cGhwIGVuZGZvcmVhY2g7ID8+DQogICAgPC90Ym9keT4NCjwvdGFibGU+', 'The List of all published looks', 36, '', 36, 'Looks', 'Looks', '', '', '', '', '', '', '', 1, '2016-04-05 14:31:59', '2016-10-20 15:57:24', 9, '', 14),
(25, '', '', '', '', 1, 1, '', '', '', '', 1, '', '', '', '', 'looking', '', '', '', 'PGFydGljbGUgY2xhc3M9InVrLWNvbW1lbnQiPg0KICAgIDxoZWFkZXIgY2xhc3M9InVrLWNvbW1lbnQtaGVhZGVyIj4NCiAgICAgICAgPGltZyBjbGFzcz0idWstY29tbWVudC1hdmF0YXIiIHNyYz0ie2ltYWdldXJsfSIgYWx0PSIiPg0KICAgICAgICA8aDQgY2xhc3M9InVrLWNvbW1lbnQtdGl0bGUiPjw/cGhwIGVjaG8gJHRoaXMtPmVzY2FwZSgkdGhpcy0+aXRlbS0+bmFtZSk7ID8+PC9oND4NCiAgICAgICAgPGRpdiBjbGFzcz0idWstY29tbWVudC1tZXRhIj48P3BocCBlY2hvIEpUZXh0OjpfKCdIaXRzJyk7ID8+OiA8P3BocCBlY2hvICR0aGlzLT5pdGVtLT5oaXRzOyA/PjwvZGl2Pg0KICAgIDwvaGVhZGVyPg0KICAgIDxkaXYgY2xhc3M9InVrLWNvbW1lbnQtYm9keSI+DQogICAgICAgIDw/cGhwIGVjaG8gJHRoaXMtPml0ZW0tPmRlc2NyaXB0aW9uOyA/Pg0KICAgICAgICA8P3BocCBpZiAoJHRoaXMtPml0ZW0tPmFkZCk6ID8+DQogICAgICAgICAgICA8YnIgLz4NCiAgICAgICAgICAgIDwhLS0gVGhpcyBpcyBhIGJ1dHRvbiB0b2dnbGluZyB0aGUgbW9kYWwgLS0+DQogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ1ay1idXR0b24iIGRhdGEtdWstbW9kYWw9Int0YXJnZXQ6JyNtb3JlLWRldGFpbHMtMDkwJ30iPjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ01vcmUgRGV0YWlscycpOyA/PjwvYnV0dG9uPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICA8L2Rpdj4NCjwvYXJ0aWNsZT4NCjw/cGhwIGlmICgkdGhpcy0+aXRlbS0+YWRkKTogPz4NCjwhLS0gVGhpcyBpcyB0aGUgbW9kYWwgLS0+DQo8ZGl2IGlkPSJtb3JlLWRldGFpbHMtMDkwIiBjbGFzcz0idWstbW9kYWwiPg0KICAgIDxkaXYgY2xhc3M9InVrLW1vZGFsLWRpYWxvZyI+DQogICAgICAgIDxhIGNsYXNzPSJ1ay1tb2RhbC1jbG9zZSB1ay1jbG9zZSI+PC9hPg0KICAgICAgICA8ZGwgY2xhc3M9InVrLWRlc2NyaXB0aW9uLWxpc3QtaG9yaXpvbnRhbCI+DQogICAgICAgIDw/cGhwIGlmIChbW1tDb21wb25lbnRdXV1IZWxwZXI6OmNoZWNrU3RyaW5nKCR0aGlzLT5pdGVtLT5kYXRlb2ZiaXJ0aCkpOiA/Pg0KICAgICAgICAgICAgPGR0Pjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ0JpcnRoIGRheScpOyA/PjwvZHQ+PGRkPjw/cGhwIGVjaG8gW1tbQ29tcG9uZW50XV1dSGVscGVyOjpmYW5jeURhdGUoJHRoaXMtPmVzY2FwZSgkdGhpcy0+aXRlbS0+ZGF0ZW9mYmlydGgpKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPD9waHAgaWYgKFtbW0NvbXBvbmVudF1dXUhlbHBlcjo6Y2hlY2tTdHJpbmcoJHRoaXMtPml0ZW0tPmVtYWlsKSk6ID8+DQogICAgICAgICAgICA8ZHQ+PD9waHAgZWNobyBKVGV4dDo6XygnRW1haWwnKTsgPz48L2R0PjxkZD48P3BocCBlY2hvICR0aGlzLT5lc2NhcGUoJHRoaXMtPml0ZW0tPmVtYWlsKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPD9waHAgaWYgKFtbW0NvbXBvbmVudF1dXUhlbHBlcjo6Y2hlY2tTdHJpbmcoJHRoaXMtPml0ZW0tPm1vYmlsZV9waG9uZSkpOiA/Pg0KICAgICAgICAgICAgPGR0Pjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ01vYmlsZScpOyA/PjwvZHQ+PGRkPjw/cGhwIGVjaG8gJHRoaXMtPmVzY2FwZSgkdGhpcy0+aXRlbS0+bW9iaWxlX3Bob25lKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPD9waHAgaWYgKFtbW0NvbXBvbmVudF1dXUhlbHBlcjo6Y2hlY2tTdHJpbmcoJHRoaXMtPml0ZW0tPndlYnNpdGUpKTogPz4NCiAgICAgICAgICAgIDxkdD48P3BocCBlY2hvIEpUZXh0OjpfKCdXZWJzaXRlJyk7ID8+PC9kdD48ZGQ+PD9waHAgZWNobyAkdGhpcy0+ZXNjYXBlKCR0aGlzLT5pdGVtLT53ZWJzaXRlKTsgPz48L2RkPg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgPC9kbD4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KPD9waHAgZW5kaWY7ID8+', 'Looking at a look', 39, '', 39, 'Looking', 'Looking', '', '', 'CSAvKioNCgkgKiBJbmNyZW1lbnQgdGhlIGhpdCBjb3VudGVyIGZvciB0aGUgcHJlYWNoZXIuDQoJICoNCgkgKiBAcGFyYW0gICBpbnRlZ2VyICAkcGsgIFByaW1hcnkga2V5IG9mIHRoZSBwcmVhY2hlciB0byBpbmNyZW1lbnQuDQoJICoNCgkgKiBAcmV0dXJuICBib29sZWFuICBUcnVlIGlmIHN1Y2Nlc3NmdWw7DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGhpdCgkcGsgPSAwKQ0KCXsNCgkJaWYgKCRwaykNCgkJew0KCQkJJGRiID0gSkZhY3Rvcnk6OmdldERibygpOw0KCQkJJHF1ZXJ5ID0gJGRiLT5nZXRRdWVyeSh0cnVlKTsNCg0KCQkJLy8gRmllbGRzIHRvIHVwZGF0ZS4NCgkJCSRmaWVsZHMgPSBhcnJheSgNCgkJCSAgICAkZGItPnF1b3RlTmFtZSgnaGl0cycpIC4gJyA9ICcuJGRiLT5xdW90ZU5hbWUoJ2hpdHMnKS4nICsgMScNCgkJCSk7DQoNCgkJCS8vIENvbmRpdGlvbnMgZm9yIHdoaWNoIHJlY29yZHMgc2hvdWxkIGJlIHVwZGF0ZWQuDQoJCQkkY29uZGl0aW9ucyA9IGFycmF5KA0KCQkJICAgICRkYi0+cXVvdGVOYW1lKCdpZCcpIC4gJyA9ICcgLiAkcGsNCgkJCSk7DQoNCgkJCSRxdWVyeS0+dXBkYXRlKCRkYi0+cXVvdGVOYW1lKCcjX19bW1tjb21wb25lbnRdXV1fbG9vaycpKS0+c2V0KCRmaWVsZHMpLT53aGVyZSgkY29uZGl0aW9ucyk7DQoNCgkJCSRkYi0+c2V0UXVlcnkoJHF1ZXJ5KTsNCgkJCXJldHVybiAkZGItPmV4ZWN1dGUoKTsNCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ==', 'Ly8gYWRkIGEgaGl0IHRvIHRoZSBsb29rDQppZiAoJHRoaXMtPmhpdCgkdGhpcy0+aXRlbS0+aWQpKQ0Kew0KCSR0aGlzLT5pdGVtLT5oaXRzKys7DQp9', '', '', '', 1, '2016-10-20 15:11:29', '2016-10-20 17:10:58', 16, '', 14);
@ -1252,12 +1254,12 @@ INSERT INTO `#__componentbuilder_dynamic_get` (`id`, `add_php_after_getitem`, `a
--
INSERT INTO `#__componentbuilder_library` (`id`, `addconditions`, `description`, `how`, `name`, `php_preparedocument`, `php_setdocument`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
(1, '', '', '', 'No Library', '', '', '', 1, '2017-11-11 22:08:33', '2017-11-25 21:57:50', 3, '', 1),
(2, '', '', 1, 'Bootstrap v4', '', '', '', 1, '2017-11-12 02:08:39', '2017-11-26 01:11:24', 6, '', 2),
(3, '', '', 1, 'Uikit v3', '', '', '', 1, '2017-11-11 22:08:45', '2017-11-25 21:58:57', 6, '', 3),
(4, '', '', 3, 'Uikit v2', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', '', 1, '2017-11-11 22:08:51', '2017-11-25 23:11:49', 4, '', 4),
(5, '', '', 3, 'FooTable v2', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSRkb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', '', 1, '2017-11-11 22:08:57', '2017-11-25 23:01:12', 5, '', 5),
(6, '', '', 3, 'FooTable v3', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSRkb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', '', 1, '2017-11-25 22:11:03', '2017-11-25 23:12:08', 9, '', 6);
(1, '', '', '', 'No Library', '', '', '', 1, '2017-11-11 22:08:33', '2017-11-30 11:23:20', 3, '', 1),
(2, '', '', 1, 'Bootstrap v4', '', '', '', 1, '2017-11-12 02:08:39', '2017-11-30 11:23:20', 13, '', 2),
(3, '', '', 1, 'Uikit v3', '', '', '', 1, '2017-11-11 22:08:45', '2017-11-30 11:23:20', 6, '', 3),
(4, '', '', 3, 'Uikit v2', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', '', 1, '2017-11-11 22:08:51', '2017-11-30 11:23:20', 4, '', 4),
(5, '', '', 3, 'FooTable v2', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSRkb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', '', 1, '2017-11-11 22:08:57', '2017-11-30 11:23:20', 7, '', 5),
(6, '', '', 3, 'FooTable v3', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSRkb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', '', 1, '2017-11-25 22:11:03', '2017-11-30 11:23:20', 11, '', 6);
--
-- Dumping data for table `#__componentbuilder_field`
@ -1314,7 +1316,7 @@ INSERT INTO `#__componentbuilder_fieldtype` (`id`, `catid`, `description`, `name
(32, '', 'Note: When using the file input type you should always add the attribute enctype=\"multipart/form-data\" to your form tag. Otherwise, the uploaded files will not be attached correctly. Note 2: You can put a soft limit file size by adding a hidden field with name=\"MAX_FILE_SIZE\" and value the maximum allowed bytes which is handled by php, but you must also handle it in your code with or without it.', 'File', '{\"properties0\":{\"name\":\"type\",\"example\":\"file\",\"adjustable\":\"0\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) must be file.\"},\"properties1\":{\"name\":\"name\",\"example\":\"myfilevalue\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Enter some text\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"Choose an image from your computer with maximum 100KB\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties4\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) (not translatable) is the default value, but doesn\'t mean much for a file.\"},\"properties5\":{\"name\":\"size\",\"example\":\"10\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the width of the file box in characters.\"},\"properties6\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a CSS class name for the HTML form field.\"},\"properties7\":{\"name\":\"labelclass\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) adds a CSS class for form field\'s label; for Joomla 2.5.4+\"},\"properties8\":{\"name\":\"disabled\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) HTML equivalent attribute\"},\"properties9\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"},\"properties10\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) For Joomla form validating it to be filled in\"},\"properties11\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) Whether to Joomla validate the field according to rules\"},\"properties12\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+\"}}', 'Provides an input field for files', '', 1, 1, '', 3),
(33, '', 'The menuitem form field type provides a drop down grouped list of the available menu items from your Joomla site.', 'menuitem', '{\"properties0\":{\"name\":\"type\",\"example\":\"menuitem\",\"adjustable\":\"0\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) must be menuitem.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mymenuitem\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select a menu item\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the default menu item. Note that this is the ItemID number of the menu item.\"},\"properties4\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties5\":{\"name\":\"published\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) determines whether all menu items are listed or only published menu items. If state is \'0\' then all menu items will be listed. If state is \'1\' then only published menu items will be listed.\"},\"properties6\":{\"name\":\"filter\",\"example\":\"int\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties7\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+\"}}', 'provides a drop down list of the available menu items from your Joomla site.', '', 1, 2, '', 4),
(34, '', 'Remember all views already have [accesslevel] added by default, only add this if you need more custom access selection! Provides a dropdown list of accesslevel options with the current option selected.', 'Accesslevel', '{\"properties0\":{\"name\":\"type\",\"example\":\"accesslevel\",\"adjustable\":\"0\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) must be accesslevel\"},\"properties1\":{\"name\":\"name\",\"example\":\"accesstwo\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) is the unique name of the field. This must match the name of the query results column that contains the values that will be shown to the user in the drop-down list, unless a different name is specified in the value_field attribute. \"},\"properties2\":{\"name\":\"label\",\"example\":\"Access Two\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"Select a access level to this concept.\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties4\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a CSS class name for the HTML form field.\"},\"properties5\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the field required true if yes.\"},\"properties6\":{\"name\":\"multiple\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) If set to multiple then allows more than one usergroup to be selected.\"},\"properties7\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) show this field on the bases of the value in another field.\"}}', 'List of accesslevels', '', 1, 1, '', 5),
(35, '', 'Provides a form with rows of fields that you specify. As many options can be added as desired. Note this form field has a jQuery based javascript file as a dependency.', 'Subform', '{\"properties0\":{\"name\":\"type\",\"example\":\"subform\",\"adjustable\":\"1\",\"description\":\"(mandatory) must be subform.\"},\"properties1\":{\"name\":\"name\",\"example\":\"options\",\"adjustable\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter\"},\"properties2\":{\"name\":\"label\",\"example\":\"The Option List\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"layout\",\"example\":\"joomla.form.field.subform.repeatable-table\",\"adjustable\":\"1\",\"description\":\"(mandatory) The layout for the repeatable table.\"},\"properties4\":{\"name\":\"multiple\",\"example\":\"true\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The rows to be multiple.\"},\"properties5\":{\"name\":\"fields\",\"example\":\"1,2,3\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The fields to add to the modal. All fields must first be created in component builder as a field before you can add them here, since you must use the id of the field. Separate the field ids with commas. Do not add custom fields that are not also used in this component.\"},\"properties7\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) description text for the form field. Displays at the top of the modal with the name as well as in the usual position in the form\"},\"properties8\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The default value for the form field if the field is left empty. Note this has to be a json string compatible with the contents of the form field.\"},\"properties9\":{\"name\":\"icon\",\"example\":\"list\",\"adjustable\":\"1\",\"description\":\"(optional) The icon to show on the select button (is prefixed with \\\"icon-\\\").\"},\"properties10\":{\"name\":\"maximum\",\"example\":\"50\",\"adjustable\":\"1\",\"description\":\"(optional) The maximum number of rows of fields allowed (by default 999 to be effectively infinite)\"},\"properties11\":{\"name\":\"filter\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Use only if you would like to save raw data, since the default is best.\"},\"properties12\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field.\"}}', 'Allows form fields which can have as many options as the user desires.', '', 1, 6, '', 6);
(35, '', 'Provides a form with rows of fields that you specify. As many options can be added as desired. Note this form field has a jQuery based javascript file as a dependency.', 'Subform', '{\"properties0\":{\"name\":\"type\",\"example\":\"subform\",\"description\":\"(mandatory) must be subform.\"},\"properties1\":{\"name\":\"name\",\"example\":\"options\",\"adjustable\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter\"},\"properties2\":{\"name\":\"label\",\"example\":\"The Option List\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"layout\",\"example\":\"joomla.form.field.subform.repeatable-table\",\"adjustable\":\"1\",\"description\":\"(mandatory) The layout for the repeatable table.\"},\"properties4\":{\"name\":\"multiple\",\"example\":\"true\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The rows to be multiple.\"},\"properties5\":{\"name\":\"fields\",\"example\":\"1,2,3\",\"adjustable\":\"1\",\"description\":\"(mandatory) The fields to add to the modal. All fields must first be created in component builder as a field before you can add them here, since you must use the id of the field. Separate the field ids with commas. Do not add custom fields that are not also used in this component.\"},\"properties6\":{\"name\":\"formsource\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) you can add a path to a xml file containing the fields.\"},\"properties7\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) description text for the form field. Displays at the top of the modal with the name as well as in the usual position in the form\"},\"properties8\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The default value for the form field if the field is left empty. Note this has to be a json string compatible with the contents of the form field.\"},\"properties9\":{\"name\":\"icon\",\"example\":\"list\",\"adjustable\":\"1\",\"description\":\"(optional) The icon to show on the select button (is prefixed with \\\"icon-\\\").\"},\"properties10\":{\"name\":\"maximum\",\"example\":\"50\",\"adjustable\":\"1\",\"description\":\"(optional) The maximum number of rows of fields allowed (by default 999 to be effectively infinite)\"},\"properties11\":{\"name\":\"filter\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Use only if you would like to save raw data, since the default is best.\"},\"properties12\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field.\"}}', 'Allows form fields which can have as many options as the user desires.', '', 1, 9, '', 6);
--
-- Dumping data for table `#__componentbuilder_help_document`
@ -1464,7 +1466,7 @@ INSERT INTO `#__componentbuilder_snippet_type` (`id`, `name`, `description`, `pa
--
INSERT INTO `#__componentbuilder_library_config` (`id`, `addconfig`, `library`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
(1, '', 2, '', 1, '2017-11-25 02:59:38', '2017-11-26 01:11:04', 7, '', 1),
(1, '', 2, '', 1, '2017-11-25 02:59:38', '2017-11-26 20:48:15', 10, '', 1),
(2, '', 3, '', 1, '2017-11-25 21:51:25', '2017-11-25 21:58:48', 2, '', 2);
--
@ -1473,7 +1475,7 @@ INSERT INTO `#__componentbuilder_library_config` (`id`, `addconfig`, `library`,
INSERT INTO `#__componentbuilder_library_files_folders_urls` (`id`, `addfiles`, `addfolders`, `addurls`, `library`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
(1, '', '{\"addfolders2\":{\"folder\":\"uikit\",\"path\":\"\\/media\\/\"}}', '', 4, '', 1, '2017-11-25 00:09:15', '2017-11-25 21:59:43', 7, '', 1),
(2, '', '', '{\"addurls1\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/js\\/bootstrap.min.js\",\"type\":\"1\"},\"addurls2\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/css\\/bootstrap.min.css\",\"type\":\"1\"}}', 2, '', 1, '2017-11-25 16:17:36', '2017-11-25 21:27:16', 4, '', 2),
(2, '', '', '{\"addurls0\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/js\\/bootstrap.min.js\",\"type\":\"1\"},\"addurls1\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/css\\/bootstrap.min.css\",\"type\":\"1\"}}', 2, '', 1, '2017-11-25 16:17:36', '2017-11-26 20:48:33', 6, '', 2),
(3, '', '', '{\"addurls1\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-beta.35\\/css\\/uikit.min.css\",\"type\":\"1\"},\"addurls2\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-beta.35\\/js\\/uikit.min.js\",\"type\":\"1\"},\"addurls3\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-beta.35\\/js\\/uikit-icons.min.js\",\"type\":\"1\"}}', 3, '', 1, '2017-11-25 21:47:40', '0000-00-00 00:00:00', 1, '', 3),
(4, '', '{\"addfolders0\":{\"folder\":\"footable2\",\"path\":\"\\/media\\/\"}}', '', 5, '', 1, '2017-11-25 22:00:43', '2017-11-25 22:13:15', 2, '', 4),
(5, '', '{\"addfolders1\":{\"folder\":\"footable3\",\"path\":\"\\/media\\/\"}}', '', 6, '', 1, '2017-11-25 22:12:42', '0000-00-00 00:00:00', 1, '', 5);

View File

@ -68,10 +68,12 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_library` (
`addconditions` MEDIUMTEXT NOT NULL,
`description` VARCHAR(255) NOT NULL DEFAULT '',
`how` TINYINT(1) NOT NULL DEFAULT 1,
`libraries` TEXT NOT NULL,
`name` VARCHAR(255) NOT NULL DEFAULT '',
`not_required` INT(1) NOT NULL DEFAULT 0,
`php_preparedocument` MEDIUMTEXT NOT NULL,
`php_setdocument` MEDIUMTEXT NOT NULL,
`type` TINYINT(1) NOT NULL DEFAULT 0,
`params` text NOT NULL DEFAULT '',
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
@ -95,21 +97,25 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_library` (
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
INSERT INTO `#__componentbuilder_library` (`id`, `addconditions`, `description`, `how`, `name`, `php_preparedocument`, `php_setdocument`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
(1, '', '', '', 'No Library', '', '', '', 1, '2017-11-11 22:08:33', '2017-11-25 21:57:50', 3, '', 1),
(2, '', '', 1, 'Bootstrap v4', '', '', '', 1, '2017-11-12 02:08:39', '2017-11-25 21:58:26', 5, '', 2),
(3, '', '', 1, 'Uikit v3', '', '', '', 1, '2017-11-11 22:08:45', '2017-11-25 21:58:57', 6, '', 3),
(4, '', '', 3, 'Uikit v2', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', '', 1, '2017-11-11 22:08:51', '2017-11-25 23:11:49', 4, '', 4),
(5, '', '', 3, 'FooTable v2', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSRkb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', '', 1, '2017-11-11 22:08:57', '2017-11-25 23:01:12', 5, '', 5),
(6, '', '', 3, 'FooTable v3', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSRkb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', '', 1, '2017-11-25 22:11:03', '2017-11-25 23:12:08', 9, '', 6);
(1, '', '', '', 'No Library', '', '', '', 1, '2017-11-11 22:08:33', '2017-11-30 11:23:20', 3, '', 1),
(2, '', '', 1, 'Bootstrap v4', '', '', '', 1, '2017-11-12 02:08:39', '2017-11-30 11:23:20', 13, '', 2),
(3, '', '', 1, 'Uikit v3', '', '', '', 1, '2017-11-11 22:08:45', '2017-11-30 11:23:20', 6, '', 3),
(4, '', '', 3, 'Uikit v2', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', '', 1, '2017-11-11 22:08:51', '2017-11-30 11:23:20', 4, '', 4),
(5, '', '', 3, 'FooTable v2', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSRkb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', '', 1, '2017-11-11 22:08:57', '2017-11-30 11:23:20', 7, '', 5),
(6, '', '', 3, 'FooTable v3', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJGRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJGRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSRkb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', '', 1, '2017-11-25 22:11:03', '2017-11-30 11:23:20', 11, '', 6);
INSERT INTO `#__componentbuilder_library_config` (`id`, `addconfig`, `library`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
(1, '', 2, '', 1, '2017-11-25 02:59:38', '2017-11-25 21:58:12', 5, '', 1),
(1, '', 2, '', 1, '2017-11-25 02:59:38', '2017-11-26 20:48:15', 10, '', 1),
(2, '', 3, '', 1, '2017-11-25 21:51:25', '2017-11-25 21:58:48', 2, '', 2);
INSERT INTO `#__componentbuilder_library_files_folders_urls` (`id`, `addfiles`, `addfolders`, `addurls`, `library`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
(1, '', '{\"addfolders2\":{\"folder\":\"uikit\",\"path\":\"\\/media\\/\"}}', '', 4, '', 1, '2017-11-25 00:09:15', '2017-11-25 21:59:43', 7, '', 1),
(2, '', '', '{\"addurls1\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/js\\/bootstrap.min.js\",\"type\":\"1\"},\"addurls2\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/css\\/bootstrap.min.css\",\"type\":\"1\"}}', 2, '', 1, '2017-11-25 16:17:36', '2017-11-25 21:27:16', 4, '', 2),
(2, '', '', '{\"addurls0\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/js\\/bootstrap.min.js\",\"type\":\"1\"},\"addurls1\":{\"url\":\"https:\\/\\/maxcdn.bootstrapcdn.com\\/bootstrap\\/4.0.0-alpha.6\\/css\\/bootstrap.min.css\",\"type\":\"1\"}}', 2, '', 1, '2017-11-25 16:17:36', '2017-11-26 20:48:33', 6, '', 2),
(3, '', '', '{\"addurls1\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-beta.35\\/css\\/uikit.min.css\",\"type\":\"1\"},\"addurls2\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-beta.35\\/js\\/uikit.min.js\",\"type\":\"1\"},\"addurls3\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-beta.35\\/js\\/uikit-icons.min.js\",\"type\":\"1\"}}', 3, '', 1, '2017-11-25 21:47:40', '0000-00-00 00:00:00', 1, '', 3),
(4, '', '{\"addfolders0\":{\"folder\":\"footable2\",\"path\":\"\\/media\\/\"}}', '', 5, '', 1, '2017-11-25 22:00:43', '2017-11-25 22:13:15', 2, '', 4),
(5, '', '{\"addfolders1\":{\"folder\":\"footable3\",\"path\":\"\\/media\\/\"}}', '', 6, '', 1, '2017-11-25 22:12:42', '0000-00-00 00:00:00', 1, '', 5);
UPDATE `#__componentbuilder_site_view` SET `snippet` = 0 WHERE 1
UPDATE `#__componentbuilder_template` SET `snippet` = 0 WHERE 1
UPDATE `#__componentbuilder_layout` SET `snippet` = 0 WHERE 1
UPDATE `#__componentbuilder_custom_admin_view` SET `snippet` = 0 WHERE 1

View File

@ -137,48 +137,33 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
<script type="text/javascript">
// #jform_datalenght listeners for datalenght_vvvvwaa function
// #jform_datalenght listeners for datalenght_vvvvwab function
jQuery('#jform_datalenght').on('keyup',function()
{
var datalenght_vvvvwaa = jQuery("#jform_datalenght").val();
vvvvwaa(datalenght_vvvvwaa);
var datalenght_vvvvwab = jQuery("#jform_datalenght").val();
vvvvwab(datalenght_vvvvwab);
});
jQuery('#adminForm').on('change', '#jform_datalenght',function (e)
{
e.preventDefault();
var datalenght_vvvvwaa = jQuery("#jform_datalenght").val();
vvvvwaa(datalenght_vvvvwaa);
var datalenght_vvvvwab = jQuery("#jform_datalenght").val();
vvvvwab(datalenght_vvvvwab);
});
// #jform_datadefault listeners for datadefault_vvvvwab function
// #jform_datadefault listeners for datadefault_vvvvwac function
jQuery('#jform_datadefault').on('keyup',function()
{
var datadefault_vvvvwab = jQuery("#jform_datadefault").val();
vvvvwab(datadefault_vvvvwab);
var datadefault_vvvvwac = jQuery("#jform_datadefault").val();
vvvvwac(datadefault_vvvvwac);
});
jQuery('#adminForm').on('change', '#jform_datadefault',function (e)
{
e.preventDefault();
var datadefault_vvvvwab = jQuery("#jform_datadefault").val();
vvvvwab(datadefault_vvvvwab);
});
// #jform_datatype listeners for datatype_vvvvwac function
jQuery('#jform_datatype').on('keyup',function()
{
var datatype_vvvvwac = jQuery("#jform_datatype").val();
vvvvwac(datatype_vvvvwac);
});
jQuery('#adminForm').on('change', '#jform_datatype',function (e)
{
e.preventDefault();
var datatype_vvvvwac = jQuery("#jform_datatype").val();
vvvvwac(datatype_vvvvwac);
var datadefault_vvvvwac = jQuery("#jform_datadefault").val();
vvvvwac(datadefault_vvvvwac);
});
@ -197,97 +182,112 @@ jQuery('#adminForm').on('change', '#jform_datatype',function (e)
});
// #jform_store listeners for store_vvvvwae function
jQuery('#jform_store').on('keyup',function()
{
var store_vvvvwae = jQuery("#jform_store").val();
var datatype_vvvvwae = jQuery("#jform_datatype").val();
vvvvwae(store_vvvvwae,datatype_vvvvwae);
});
jQuery('#adminForm').on('change', '#jform_store',function (e)
{
e.preventDefault();
var store_vvvvwae = jQuery("#jform_store").val();
var datatype_vvvvwae = jQuery("#jform_datatype").val();
vvvvwae(store_vvvvwae,datatype_vvvvwae);
});
// #jform_datatype listeners for datatype_vvvvwae function
jQuery('#jform_datatype').on('keyup',function()
{
var store_vvvvwae = jQuery("#jform_store").val();
var datatype_vvvvwae = jQuery("#jform_datatype").val();
vvvvwae(store_vvvvwae,datatype_vvvvwae);
vvvvwae(datatype_vvvvwae);
});
jQuery('#adminForm').on('change', '#jform_datatype',function (e)
{
e.preventDefault();
var store_vvvvwae = jQuery("#jform_store").val();
var datatype_vvvvwae = jQuery("#jform_datatype").val();
vvvvwae(store_vvvvwae,datatype_vvvvwae);
vvvvwae(datatype_vvvvwae);
});
// #jform_add_css_view listeners for add_css_view_vvvvwag function
// #jform_store listeners for store_vvvvwaf function
jQuery('#jform_store').on('keyup',function()
{
var store_vvvvwaf = jQuery("#jform_store").val();
var datatype_vvvvwaf = jQuery("#jform_datatype").val();
vvvvwaf(store_vvvvwaf,datatype_vvvvwaf);
});
jQuery('#adminForm').on('change', '#jform_store',function (e)
{
e.preventDefault();
var store_vvvvwaf = jQuery("#jform_store").val();
var datatype_vvvvwaf = jQuery("#jform_datatype").val();
vvvvwaf(store_vvvvwaf,datatype_vvvvwaf);
});
// #jform_datatype listeners for datatype_vvvvwaf function
jQuery('#jform_datatype').on('keyup',function()
{
var store_vvvvwaf = jQuery("#jform_store").val();
var datatype_vvvvwaf = jQuery("#jform_datatype").val();
vvvvwaf(store_vvvvwaf,datatype_vvvvwaf);
});
jQuery('#adminForm').on('change', '#jform_datatype',function (e)
{
e.preventDefault();
var store_vvvvwaf = jQuery("#jform_store").val();
var datatype_vvvvwaf = jQuery("#jform_datatype").val();
vvvvwaf(store_vvvvwaf,datatype_vvvvwaf);
});
// #jform_add_css_view listeners for add_css_view_vvvvwah function
jQuery('#jform_add_css_view').on('keyup',function()
{
var add_css_view_vvvvwag = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvwag(add_css_view_vvvvwag);
var add_css_view_vvvvwah = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvwah(add_css_view_vvvvwah);
});
jQuery('#adminForm').on('change', '#jform_add_css_view',function (e)
{
e.preventDefault();
var add_css_view_vvvvwag = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvwag(add_css_view_vvvvwag);
var add_css_view_vvvvwah = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvwah(add_css_view_vvvvwah);
});
// #jform_add_css_views listeners for add_css_views_vvvvwah function
// #jform_add_css_views listeners for add_css_views_vvvvwai function
jQuery('#jform_add_css_views').on('keyup',function()
{
var add_css_views_vvvvwah = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvwah(add_css_views_vvvvwah);
var add_css_views_vvvvwai = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvwai(add_css_views_vvvvwai);
});
jQuery('#adminForm').on('change', '#jform_add_css_views',function (e)
{
e.preventDefault();
var add_css_views_vvvvwah = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvwah(add_css_views_vvvvwah);
var add_css_views_vvvvwai = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvwai(add_css_views_vvvvwai);
});
// #jform_add_javascript_view_footer listeners for add_javascript_view_footer_vvvvwai function
// #jform_add_javascript_view_footer listeners for add_javascript_view_footer_vvvvwaj function
jQuery('#jform_add_javascript_view_footer').on('keyup',function()
{
var add_javascript_view_footer_vvvvwai = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvwai(add_javascript_view_footer_vvvvwai);
var add_javascript_view_footer_vvvvwaj = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvwaj(add_javascript_view_footer_vvvvwaj);
});
jQuery('#adminForm').on('change', '#jform_add_javascript_view_footer',function (e)
{
e.preventDefault();
var add_javascript_view_footer_vvvvwai = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvwai(add_javascript_view_footer_vvvvwai);
var add_javascript_view_footer_vvvvwaj = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvwaj(add_javascript_view_footer_vvvvwaj);
});
// #jform_add_javascript_views_footer listeners for add_javascript_views_footer_vvvvwaj function
// #jform_add_javascript_views_footer listeners for add_javascript_views_footer_vvvvwak function
jQuery('#jform_add_javascript_views_footer').on('keyup',function()
{
var add_javascript_views_footer_vvvvwaj = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvwaj(add_javascript_views_footer_vvvvwaj);
var add_javascript_views_footer_vvvvwak = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvwak(add_javascript_views_footer_vvvvwak);
});
jQuery('#adminForm').on('change', '#jform_add_javascript_views_footer',function (e)
{
e.preventDefault();
var add_javascript_views_footer_vvvvwaj = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvwaj(add_javascript_views_footer_vvvvwaj);
var add_javascript_views_footer_vvvvwak = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvwak(add_javascript_views_footer_vvvvwak);
});

View File

@ -64,7 +64,7 @@ class ComponentbuilderViewFieldtype extends JViewLegacy
}
// Get Linked view data
$this->vzwfields = $this->get('Vzwfields');
$this->vzxfields = $this->get('Vzxfields');
// Set the toolbar
$this->addToolBar();

View File

@ -64,7 +64,7 @@ class ComponentbuilderViewFtp extends JViewLegacy
}
// Get Linked view data
$this->vzxlinked_components = $this->get('Vzxlinked_components');
$this->vzylinked_components = $this->get('Vzylinked_components');
// Set the toolbar
$this->addToolBar();

View File

@ -51,10 +51,14 @@ JHtml::_('behavior.keepalive');
</form>
<div id="snippets-github" class="bulk-updater-toggler">
<br /><br /><br />
<center><h1> <?php echo JText::_('COM_COMPONENTBUILDER_THE_SNIPPETS_ARE'); ?> <br /><?php echo JText::_('COM_COMPONENTBUILDER_LOADING'); ?>.<span class="loading-dots">.</span></h1></center>
<center><h1> <?php echo JText::_('COM_COMPONENTBUILDER_GETTING_AVAILABLE_LIBRARIES'); ?> <br /><?php echo JText::_('COM_COMPONENTBUILDER_LOADING'); ?>.<span class="loading-dots">.</span></h1></center>
</div>
<div id="libraries-display" style="display: none;">
<div id="libraries-grid" class="uk-grid uk-grid-preserve uk-grid-width-small-1-1 uk-grid-width-medium-1-3 uk-grid-width-large-1-4" data-uk-grid="{gutter:10}" data-uk-check-display>
</div>
</div>
<div class="bulk-updater-toggler uk-hidden">
<h1><?php echo JText::_('COM_COMPONENTBUILDER_BULK_TOOLS'); ?></h1>
<h1><?php echo JText::_('COM_COMPONENTBUILDER_BULK_TOOLS'); ?></h1>
</div>
<div id="snippets-display" style="display: none;">
<div class="uk-hidden-small">
@ -81,20 +85,6 @@ JHtml::_('behavior.keepalive');
<span class="uk-visible-medium"> <?php echo JText::_('COM_COMPONENTBUILDER_NAME'); ?></span>
</a>
</li>
<li data-uk-sort="snippet-libraries">
<a href="">
<i class="uk-icon-sort-amount-asc"></i>
<span class="uk-hidden-medium"> <?php echo JText::_('COM_COMPONENTBUILDER_LIBRARY_ASC'); ?></span>
<span class="uk-visible-medium"> <?php echo JText::_('COM_COMPONENTBUILDER_LIBRARY'); ?></span>
</a>
</li>
<li data-uk-sort="snippet-libraries:desc">
<a href="">
<i class="uk-icon-sort-amount-desc"></i>
<span class="uk-hidden-medium"> <?php echo JText::_('COM_COMPONENTBUILDER_LIBRARY_DESC'); ?></span>
<span class="uk-visible-medium"> <?php echo JText::_('COM_COMPONENTBUILDER_LIBRARY'); ?></span>
</a>
</li>
<li data-uk-sort="snippet-types">
<a href="">
<i class="uk-icon-sort-amount-asc"></i>
@ -112,6 +102,12 @@ JHtml::_('behavior.keepalive');
</ul>
<div class="uk-navbar-flip">
<ul class="uk-navbar-nav">
<li class="bulk-updater-toggler">
<a class="getreaction" data-type="getLibraries" title="<?php echo JText::_('COM_COMPONENTBUILDER_BACK_TO_LIBRARIES'); ?>">
<i class="uk-icon-puzzle-piece"></i>
<span class="uk-hidden-medium"><?php echo JText::_('COM_COMPONENTBUILDER_LIBRARIES'); ?></span>
</a>
</li>
<li>
<a class="getreaction" data-uk-toggle="{target:'.bulk-updater-toggler', animation:'uk-animation-slide-bottom, uk-animation-slide-bottom'}" data-type="bulk" title="<?php echo JText::_('COM_COMPONENTBUILDER_ACCESS_BULK_TOOLS'); ?>">
<i class="uk-icon-cog"></i>
@ -131,6 +127,7 @@ JHtml::_('behavior.keepalive');
<li data-uk-filter="new"><a href=""><i class="uk-icon-coffee"></i></a></li>
<li data-uk-filter="diverged"><a href=""><i class="uk-icon-code-fork"></i></a></li>
<li data-uk-filter="ahead"><a href=""><i class="uk-icon-joomla"></i></a></li>
<li class="bulk-updater-toggler"><a class="getreaction" data-type="getLibraries" title="<?php echo JText::_('COM_COMPONENTBUILDER_BACK_TO_LIBRARIES'); ?>"><i class="uk-icon-puzzle-piece"></i></a></li>
<li><a class="getreaction" data-uk-toggle="{target:'.bulk-updater-toggler', animation:'uk-animation-slide-bottom, uk-animation-slide-bottom'}" data-type="bulk" title="<?php echo JText::_('COM_COMPONENTBUILDER_ACCESS_BULK_TOOLS'); ?>"><i class="uk-icon-cog"></i></a></li>
</ul>
</nav>
@ -229,6 +226,7 @@ JHtml::_('behavior.keepalive');
<p><?php echo JText::_('COM_COMPONENTBUILDER_WE_DID_NOT_CHECK_THE_SNIPPET_IT_SELF_TO_SEE_IF_IT_CHANGED_WE_ONLY_WORK_ON_DATES'); ?></p>
</div></div>
</div>
<div id="loading" style="display: none;"><br /><h3><?php echo JText::_('COM_COMPONENTBUILDER_PLEASE_WAIT_LOADING'); ?>.<span class="loading-dots">.</span></h3></div>
<script type="text/javascript">
// nice little dot trick :)

View File

@ -173,7 +173,7 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
else
{
// set to use no storage
$expire = 30000;
$expire = 30000; // only 30 seconds
}
// set snippet path
$this->document->addScriptDeclaration("var snippetPath = '". ComponentbuilderHelper::$snippetPath ."';");
@ -219,6 +219,8 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
$this->document->addScriptDeclaration("var lang_Get_Snippets_Ahead_Tooltip = '".JText::_('COM_COMPONENTBUILDER_THERE_ARE_NO_AHEAD_SNIPPETS_AT_THIS_TIME')."';");
$this->document->addScriptDeclaration("var lang_Get_Snippets_Behind_Tooltip = '".JText::_('COM_COMPONENTBUILDER_THERE_ARE_NO_OUT_OF_DATE_SNIPPETS_AT_THIS_TIME')."';");
$this->document->addScriptDeclaration("var lang_Get_Snippets_All_Tooltip = '".JText::_('COM_COMPONENTBUILDER_THERE_ARE_NO_SNIPPETS_TO_UPDATE_AT_THIS_TIME')."';");
$this->document->addScriptDeclaration("var lang_Available_Libraries = '".JText::_('COM_COMPONENTBUILDER_AVAILABLE_LIBRARIES')."';");
$this->document->addScriptDeclaration("var lang_Open_Lib_Snippets = '".JText::_('COM_COMPONENTBUILDER_OPEN_LIBRARY_SNIPPETS')."';");
// add some lang verfy messages
$this->document->addScriptDeclaration("
// set the snippet from gitHub
@ -256,8 +258,14 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
$this->document->addScriptDeclaration("
// start the moment the document is ready
jQuery(document).ready(function () {
getSnippets(snippetsPath);
// just get the available libraries
getLibraries(snippetsPath);
});
// add an ajax call tracker
var ajaxcall = null;
var fromLocal = false;
jQuery(document).ready(function(){
jQuery('body').on('click','.getreaction',function(){
// Ajax request
@ -267,10 +275,15 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
btn.prop('disabled', false);
}, 3000);
var type = btn.data('type');
if ('all' === type) {
if ('getLibraries' === type) {
getLibraries(snippetsPath);
} else if ('getSnippets' === type) {
var name = btn.data('name');
getSnippets(snippetsPath, name);
} else if ('all' === type) {
var status = btn.data('status');
bulkSnippetGithub(status);
} else if ('bulk' === type) {
} else if ('bulk' === type) {
checkBulkSnippetGithub();
} else if ('get' === type) {
var path = btn.data('path');
@ -286,52 +299,35 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
// load every thing once ready
jQuery(document).ajaxStop(function () {
if (0 === jQuery.active) {
setTimeout( function() {
//do something special
jQuery('#snippets-github').html('<h1>'+lang_Community_Snippets+'</h1>');
jQuery('#snippets-display').show();
jQuery('#snippets-grid').trigger('display.uk.check');
}, 1000);
//do something special
if ('snippets' === ajaxcall) {
setTimeout( function() {
jQuery('#snippets-github').html('<h1>'+lang_Community_Snippets+'</h1>');
jQuery('#snippets-display').show();
jQuery('#snippets-grid').trigger('display.uk.check');
jQuery('#loading').hide();
}, 1000);
}
}
});
// set the snippet status
function getSnippetStatus(snippet, key) {
// check if JCB already has this snippet
if(local_snippets.hasOwnProperty(key)){
// first get local time stamp
var local_created = strtotime(local_snippets[key].created);
var local_modified = strtotime(local_snippets[key].modified);
// now get github time stamps
var created = strtotime(snippet.created);
var modified = strtotime(snippet.modified);
// work out the status
if (local_created == created) {
if (local_modified == modified) {
return 'equal';
} else if (local_modified > modified) {
return 'ahead';
} else if (local_modified < modified) {
return 'behind';
}
}
return 'diverged';
}
return 'new';
}
// get the snippets
function getSnippets(path) {
// get the libraries
function getLibraries(path) {
var _paths = jQuery.jStorage.get('JCB-Snippets-Paths', null);
// always hide the snippets display
jQuery('#snippets-display').hide();
// always reset the grid
jQuery('#libraries-grid').html('');
// set the ajax scope
ajaxcall = 'libraries';
if (_paths) {
setSnippets(_paths);
jQuery('#snippets-github').html('<h1>'+lang_Community_Snippets+'</h1>');
jQuery('#snippets-display').show();
buildLibraries(_paths);
} else {
jQuery.get(path)
.success(function(paths) {
// load only this library paths
jQuery.jStorage.set('JCB-Snippets-Paths', paths, {TTL: expire});
setSnippets(paths);
buildLibraries(paths);
})
.error(function(jqXHR, textStatus, errorThrown) {
jQuery('#snippets-github').html(returnError);
@ -339,14 +335,105 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
}
}
// build the ibraries object
function buildLibraries(paths) {
var _temp = jQuery.jStorage.get('JCB-Libraries', null);
if (_temp) {
setLibraries(_temp);
} else {
var temp = {};
jQuery.each(paths.tree, function(key,value) {
if (value.path.match(\".json$\")) {
var libName = value.path.split(/ -(.+)/)[0];
libName = libName.trim()
temp[libName] = libName;
}
});
// load only this library paths
jQuery.jStorage.set('JCB-Libraries', temp, {TTL: expire});
setLibraries(temp);
}
}
// set the libraries
function setLibraries(names) {
// now load the lib buttons
jQuery.each(names, function(value) {
setLibrary(value);
});
setTimeout( function() {
jQuery('#snippets-github').html('<h1>'+lang_Available_Libraries+'</h1>');
jQuery('#libraries-display').show();
jQuery('#libraries-grid').trigger('display.uk.check');
}, 1000);
}
// set the snippets
function setSnippets(paths) {
jQuery.each(paths.tree, function(key,value){
if (value.path.indexOf('.json') >= 0) {
function setLibrary(name) {
// get useful ID
var keyID = getKeyID(name);
// build the library display
var html = '<div id=\"'+keyID+'-panel\" class=\"uk-panel\">';
html += '<div class=\"uk-panel uk-panel-box uk-width-1-1\">';
html += '<h3 class=\"uk-panel-title\">' + name + '</h3>';
html += '<hr />';
// set the data buttons
html += setLibButtons(name);
// close the box panel
html += '</div>';
html += '</div>';
// now we have the library
jQuery('#libraries-grid').append(html);
}
function setLibButtons(name) {
return '<button class=\"uk-button uk-button-small uk-button-success uk-width-1-1 getreaction\" data-name=\"'+name+'\" data-type=\"getSnippets\" title=\"'+lang_Description_Tooltip+'\"><i class=\"uk-icon-thumb-tack\"></i><span class=\"uk-hidden-small\"> '+lang_Open_Lib_Snippets+'</span></button>';
}
// get the snippets
function getSnippets(path, libraryName) {
jQuery('#loading').show();
// get local values if set
var _paths = jQuery.jStorage.get('JCB-Snippets-Paths', null);
// always reset the grid
jQuery('#snippets-grid').html('');
// always hide libraries
jQuery('#libraries-display').hide();
// set the ajax scope
ajaxcall = 'snippets';
fromLocal = false;
if (_paths) {
setSnippets(_paths, libraryName);
jQuery('#snippets-github').html('<h1>'+lang_Community_Snippets+'</h1>');
} else {
jQuery.get(path)
.success(function(paths) {
// load only this library paths
jQuery.jStorage.set('JCB-Snippets-Paths', paths, {TTL: expire});
setSnippets(paths, libraryName);
})
.error(function(jqXHR, textStatus, errorThrown) {
jQuery('#snippets-github').html(returnError);
});
}
// only use if loading localy
if (fromLocal) {
jQuery('#snippets-display').show();
jQuery('#snippets-grid').trigger('display.uk.check');
jQuery('#loading').hide();
}
}
// set the snippets
function setSnippets(paths, libraryName) {
// set the ajax scope
ajaxcall = 'snippets';
jQuery.each(paths.tree, function(key,value) {
if (value.path.match(\".json$\") && value.path.match(\"^\"+libraryName)) {
var _snippet = jQuery.jStorage.get(value.path, null);
if (_snippet) {
setSnippet(_snippet, value.path);
jQuery('#snippets-grid').trigger('display.uk.check');
fromLocal = true;
} else {
jQuery.get(snippetPath+value.path)
.success(function(snippet) {
@ -380,9 +467,9 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
html += '<h3 class=\"uk-panel-title\">' + snippet.library+ ' - (' + snippet.type + ') ' + snippet.name + '</h3>';
html += snippet.heading + '<hr />';
// set the data buttons
html += setDataButtons(snippet, key, status)
html += setDataButtons(snippet, key, status);
// set the snippet ref button
html += setRefButtons(snippet, key, status, keyID)
html += setRefButtons(snippet, key, status, keyID);
// set the contributor buttons
html += setContributorButtons(snippet, key);
// close the box panel
@ -392,6 +479,31 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
jQuery('#snippets-grid').append(html);
}
// set the snippet status
function getSnippetStatus(snippet, key) {
// check if JCB already has this snippet
if(local_snippets.hasOwnProperty(key)){
// first get local time stamp
var local_created = strtotime(local_snippets[key].created);
var local_modified = strtotime(local_snippets[key].modified);
// now get github time stamps
var created = strtotime(snippet.created);
var modified = strtotime(snippet.modified);
// work out the status
if (local_created == created) {
if (local_modified == modified) {
return 'equal';
} else if (local_modified > modified) {
return 'ahead';
} else if (local_modified < modified) {
return 'behind';
}
}
return 'diverged';
}
return 'new';
}
function setDataButtons(snippet, key, status) {
var html = '<div class=\"uk-button-group uk-width-1-1 uk-margin-small-bottom\">';
html += '<button class=\"uk-button uk-button-small uk-button-success uk-width-1-3 getreaction\" data-status=\"'+status+'\" data-path=\"'+key+'\" data-type=\"usage\" title=\"'+lang_Usage_Tooltip+'\"><i class=\"uk-icon-info\"></i><span class=\"uk-hidden-small\"> '+lang_Usage+'</span></button>';
@ -519,6 +631,8 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
}
function doBulkUpdate_server(path, status) {
// set the ajax scope
ajaxcall = null;
var getUrl = \"index.php?option=com_componentbuilder&task=ajax.setSnippetGithub&format=json\";
if (token.length > 0 && path.length > 0 && status.length > 0) {
var request = 'token='+token+'&path='+path+'&status='+status;
@ -554,6 +668,8 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
}
function setSnippetGithub_server(path, status) {
// set the ajax scope
ajaxcall = null;
var getUrl = \"index.php?option=com_componentbuilder&task=ajax.setSnippetGithub&format=json\";
if (token.length > 0 && path.length > 0 && status.length > 0) {
var request = 'token='+token+'&path='+path+'&status='+status;
@ -591,6 +707,8 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
// set the modal
function getSnippetModal(key, type) {
// set the ajax scope
ajaxcall = 'snippets';
var _snippet = jQuery.jStorage.get(key, null);
if (_snippet) {
// show modal
@ -647,7 +765,7 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
// get key ID
function getKeyID(key) {
// get useful ID
keyID = key.replace('-', '');
var keyID = key.replace('-', '');
keyID = keyID.replace('.json', '');
keyID = keyID.replace(/\s+/ig, '-');
keyID = keyID.replace(/\(/g, '');
@ -695,6 +813,11 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy
{
// add Snippets button.
JToolBarHelper::custom('get_snippets.openSnippets', 'pin', '', 'COM_COMPONENTBUILDER_SNIPPETS', false);
}
if ($this->canDo->get('get_snippets.libraries'))
{
// add Libraries button.
JToolBarHelper::custom('get_snippets.openLibraries', 'puzzle', '', 'COM_COMPONENTBUILDER_LIBRARIES', false);
}
// set help url for this view if found

View File

@ -127,21 +127,6 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
<script type="text/javascript">
// #jform_location listeners for location_vvvvwak function
jQuery('#jform_location').on('keyup',function()
{
var location_vvvvwak = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwak(location_vvvvwak);
});
jQuery('#adminForm').on('change', '#jform_location',function (e)
{
e.preventDefault();
var location_vvvvwak = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwak(location_vvvvwak);
});
// #jform_location listeners for location_vvvvwal function
jQuery('#jform_location').on('keyup',function()
{
@ -157,18 +142,18 @@ jQuery('#adminForm').on('change', '#jform_location',function (e)
});
// #jform_type listeners for type_vvvvwam function
jQuery('#jform_type').on('keyup',function()
// #jform_location listeners for location_vvvvwam function
jQuery('#jform_location').on('keyup',function()
{
var type_vvvvwam = jQuery("#jform_type").val();
vvvvwam(type_vvvvwam);
var location_vvvvwam = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwam(location_vvvvwam);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
jQuery('#adminForm').on('change', '#jform_location',function (e)
{
e.preventDefault();
var type_vvvvwam = jQuery("#jform_type").val();
vvvvwam(type_vvvvwam);
var location_vvvvwam = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwam(location_vvvvwam);
});
@ -202,18 +187,33 @@ jQuery('#adminForm').on('change', '#jform_type',function (e)
});
// #jform_target listeners for target_vvvvwap function
// #jform_type listeners for type_vvvvwap function
jQuery('#jform_type').on('keyup',function()
{
var type_vvvvwap = jQuery("#jform_type").val();
vvvvwap(type_vvvvwap);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
{
e.preventDefault();
var type_vvvvwap = jQuery("#jform_type").val();
vvvvwap(type_vvvvwap);
});
// #jform_target listeners for target_vvvvwaq function
jQuery('#jform_target').on('keyup',function()
{
var target_vvvvwap = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwap(target_vvvvwap);
var target_vvvvwaq = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwaq(target_vvvvwaq);
});
jQuery('#adminForm').on('change', '#jform_target',function (e)
{
e.preventDefault();
var target_vvvvwap = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwap(target_vvvvwap);
var target_vvvvwaq = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwaq(target_vvvvwaq);
});

View File

@ -92,6 +92,9 @@ $edit = "index.php?option=com_componentbuilder&view=libraries&task=library.edit"
<td class="hidden-phone">
<?php echo JText::_($item->how); ?>
</td>
<td class="hidden-phone">
<?php echo JText::_($item->type); ?>
</td>
<td class="center">
<?php if ($canDo->get('library.edit.state')) : ?>
<?php if ($item->checked_out) : ?>

View File

@ -28,5 +28,5 @@ defined('_JEXEC') or die('Restricted access');
?>
<tr>
<td colspan="7"><?php echo $this->pagination->getListFooter(); ?></td>
<td colspan="8"><?php echo $this->pagination->getListFooter(); ?></td>
</tr>

View File

@ -52,6 +52,9 @@ defined('_JEXEC') or die('Restricted access');
<th class="nowrap hidden-phone" >
<?php echo JText::_('COM_COMPONENTBUILDER_LIBRARY_HOW_LABEL'); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_COMPONENTBUILDER_LIBRARY_TYPE_LABEL', 'type', $this->listDirn, $this->listOrder); ?>
</th>
<?php if ($this->canState): ?>
<th width="10" class="nowrap center" >
<?php echo JHtml::_('grid.sort', 'COM_COMPONENTBUILDER_LIBRARY_STATUS', 'published', $this->listDirn, $this->listOrder); ?>

View File

@ -143,7 +143,12 @@ class ComponentbuilderViewLibraries extends JViewLegacy
{
JToolbarHelper::trash('libraries.trash');
}
}
}
if ($this->user->authorise('library.get_snippets', 'com_componentbuilder'))
{
// add Get Snippets button.
JToolBarHelper::custom('libraries.getSnippets', 'search', '', 'COM_COMPONENTBUILDER_GET_SNIPPETS', false);
}
// set help url for this view if found
$help_url = ComponentbuilderHelper::getHelpUrl('libraries');
@ -189,7 +194,51 @@ class ComponentbuilderViewLibraries extends JViewLegacy
'batch[access]',
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text')
);
}
}
// Set How Selection
$this->howOptions = $this->getTheHowSelections();
if ($this->howOptions)
{
// How Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_COMPONENTBUILDER_LIBRARY_HOW_LABEL').' -',
'filter_how',
JHtml::_('select.options', $this->howOptions, 'value', 'text', $this->state->get('filter.how'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// How Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_COMPONENTBUILDER_LIBRARY_HOW_LABEL').' -',
'batch[how]',
JHtml::_('select.options', $this->howOptions, 'value', 'text')
);
}
}
// Set Type Selection
$this->typeOptions = $this->getTheTypeSelections();
if ($this->typeOptions)
{
// Type Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_COMPONENTBUILDER_LIBRARY_TYPE_LABEL').' -',
'filter_type',
JHtml::_('select.options', $this->typeOptions, 'value', 'text', $this->state->get('filter.type'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Type Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_COMPONENTBUILDER_LIBRARY_TYPE_LABEL').' -',
'batch[type]',
JHtml::_('select.options', $this->typeOptions, 'value', 'text')
);
}
}
}
/**
@ -234,7 +283,80 @@ class ComponentbuilderViewLibraries extends JViewLegacy
'a.published' => JText::_('JSTATUS'),
'a.name' => JText::_('COM_COMPONENTBUILDER_LIBRARY_NAME_LABEL'),
'a.description' => JText::_('COM_COMPONENTBUILDER_LIBRARY_DESCRIPTION_LABEL'),
'a.type' => JText::_('COM_COMPONENTBUILDER_LIBRARY_TYPE_LABEL'),
'a.id' => JText::_('JGRID_HEADING_ID')
);
}
}
protected function getTheHowSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('how'));
$query->from($db->quoteName('#__componentbuilder_library'));
$query->order($db->quoteName('how') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$_filter = array();
foreach ($results as $how)
{
// Translate the how selection
$text = $model->selectionTranslation($how,'how');
// Now add the how and its text to the options array
$_filter[] = JHtml::_('select.option', $how, JText::_($text));
}
return $_filter;
}
return false;
}
protected function getTheTypeSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('type'));
$query->from($db->quoteName('#__componentbuilder_library'));
$query->order($db->quoteName('type') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$_filter = array();
foreach ($results as $type)
{
// Translate the type selection
$text = $model->selectionTranslation($type,'type');
// Now add the type and its text to the options array
$_filter[] = JHtml::_('select.option', $type, JText::_($text));
}
return $_filter;
}
return false;
}
}

View File

@ -65,7 +65,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
<?php echo JHtml::_('bootstrap.addTab', 'libraryTab', 'behaviour', JText::_('COM_COMPONENTBUILDER_LIBRARY_BEHAVIOUR', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span12">
<div class="span6">
<?php echo JLayoutHelper::render('library.behaviour_left', $this); ?>
</div>
<div class="span6">
<?php echo JLayoutHelper::render('library.behaviour_right', $this); ?>
</div>
</div>
@ -147,14 +150,14 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
// #jform_how listeners for how_vvvvvzu function
jQuery('#jform_how').on('keyup',function()
{
var how_vvvvvzu = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzu = jQuery("#jform_how").val();
vvvvvzu(how_vvvvvzu);
});
jQuery('#adminForm').on('change', '#jform_how',function (e)
{
e.preventDefault();
var how_vvvvvzu = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzu = jQuery("#jform_how").val();
vvvvvzu(how_vvvvvzu);
});
@ -162,14 +165,14 @@ jQuery('#adminForm').on('change', '#jform_how',function (e)
// #jform_how listeners for how_vvvvvzv function
jQuery('#jform_how').on('keyup',function()
{
var how_vvvvvzv = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzv = jQuery("#jform_how").val();
vvvvvzv(how_vvvvvzv);
});
jQuery('#adminForm').on('change', '#jform_how',function (e)
{
e.preventDefault();
var how_vvvvvzv = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzv = jQuery("#jform_how").val();
vvvvvzv(how_vvvvvzv);
});
@ -177,14 +180,14 @@ jQuery('#adminForm').on('change', '#jform_how',function (e)
// #jform_how listeners for how_vvvvvzw function
jQuery('#jform_how').on('keyup',function()
{
var how_vvvvvzw = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzw = jQuery("#jform_how").val();
vvvvvzw(how_vvvvvzw);
});
jQuery('#adminForm').on('change', '#jform_how',function (e)
{
e.preventDefault();
var how_vvvvvzw = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzw = jQuery("#jform_how").val();
vvvvvzw(how_vvvvvzw);
});
@ -192,14 +195,14 @@ jQuery('#adminForm').on('change', '#jform_how',function (e)
// #jform_how listeners for how_vvvvvzx function
jQuery('#jform_how').on('keyup',function()
{
var how_vvvvvzx = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzx = jQuery("#jform_how").val();
vvvvvzx(how_vvvvvzx);
});
jQuery('#adminForm').on('change', '#jform_how',function (e)
{
e.preventDefault();
var how_vvvvvzx = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzx = jQuery("#jform_how").val();
vvvvvzx(how_vvvvvzx);
});
@ -207,14 +210,14 @@ jQuery('#adminForm').on('change', '#jform_how',function (e)
// #jform_how listeners for how_vvvvvzy function
jQuery('#jform_how').on('keyup',function()
{
var how_vvvvvzy = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzy = jQuery("#jform_how").val();
vvvvvzy(how_vvvvvzy);
});
jQuery('#adminForm').on('change', '#jform_how',function (e)
{
e.preventDefault();
var how_vvvvvzy = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzy = jQuery("#jform_how").val();
vvvvvzy(how_vvvvvzy);
});
@ -222,18 +225,33 @@ jQuery('#adminForm').on('change', '#jform_how',function (e)
// #jform_how listeners for how_vvvvvzz function
jQuery('#jform_how').on('keyup',function()
{
var how_vvvvvzz = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzz = jQuery("#jform_how").val();
vvvvvzz(how_vvvvvzz);
});
jQuery('#adminForm').on('change', '#jform_how',function (e)
{
e.preventDefault();
var how_vvvvvzz = jQuery("#jform_how input[type='radio']:checked").val();
var how_vvvvvzz = jQuery("#jform_how").val();
vvvvvzz(how_vvvvvzz);
});
// #jform_type listeners for type_vvvvwaa function
jQuery('#jform_type').on('keyup',function()
{
var type_vvvvwaa = jQuery("#jform_type input[type='radio']:checked").val();
vvvvwaa(type_vvvvwaa);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
{
e.preventDefault();
var type_vvvvwaa = jQuery("#jform_type input[type='radio']:checked").val();
vvvvwaa(type_vvvvwaa);
});
<?php $numberAddconditions = range(0, count($this->item->addconditions) + 3, 1);?>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2" method="upgrade">
<name>COM_COMPONENTBUILDER</name>
<creationDate>26th November, 2017</creationDate>
<creationDate>3rd December, 2017</creationDate>
<author>Llewellyn van der Merwe</author>
<authorEmail>joomla@vdm.io</authorEmail>
<authorUrl>http://vdm.bz/component-builder</authorUrl>

View File

@ -3302,9 +3302,9 @@ class com_componentbuilderInstallerScript
$library->type_title = 'Componentbuilder Library';
$library->type_alias = 'com_componentbuilder.library';
$library->table = '{"special": {"dbtable": "#__componentbuilder_library","key": "id","type": "Library","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
$library->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","description":"description","how":"how","php_setdocument":"php_setdocument","php_preparedocument":"php_preparedocument","not_required":"not_required"}}';
$library->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","description":"description","how":"how","type":"type","not_required":"not_required","php_setdocument":"php_setdocument","php_preparedocument":"php_preparedocument","libraries":"libraries"}}';
$library->router = 'ComponentbuilderHelperRoute::getLibraryRoute';
$library->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/library.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","how","not_required"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}';
$library->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/library.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","how","type","not_required"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "libraries","targetTable": "#__componentbuilder_library","targetColumn": "id","displayColumn": "name"}]}';
// Set the object into the content types table.
$library_Inserted = $db->insertObject('#__content_types', $library);
@ -3848,9 +3848,9 @@ class com_componentbuilderInstallerScript
$library->type_title = 'Componentbuilder Library';
$library->type_alias = 'com_componentbuilder.library';
$library->table = '{"special": {"dbtable": "#__componentbuilder_library","key": "id","type": "Library","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
$library->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","description":"description","how":"how","php_setdocument":"php_setdocument","php_preparedocument":"php_preparedocument","not_required":"not_required"}}';
$library->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","description":"description","how":"how","type":"type","not_required":"not_required","php_setdocument":"php_setdocument","php_preparedocument":"php_preparedocument","libraries":"libraries"}}';
$library->router = 'ComponentbuilderHelperRoute::getLibraryRoute';
$library->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/library.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","how","not_required"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}';
$library->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/library.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","how","type","not_required"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "libraries","targetTable": "#__componentbuilder_library","targetColumn": "id","displayColumn": "name"}]}';
// Check if library type is already in content_type DB.
$library_id = null;