_t(2)
- . 'addrulepath="/modules/' . $module->file_name
- . '/rules"';
- $xml .= PHP_EOL . $this->_t(2)
- . 'addfieldpath="/modules/' . $module->file_name
- . '/fields"';
+ if ($module->target == 2)
+ {
+ $xml .= PHP_EOL . $this->_t(2)
+ . 'addrulepath="/administrator/modules/' . $module->file_name
+ . '/rules"';
+ $xml .= PHP_EOL . $this->_t(2)
+ . 'addfieldpath="/administrator/modules/' . $module->file_name
+ . '/fields"';
+ }
+ else
+ {
+ $xml .= PHP_EOL . $this->_t(2)
+ . 'addrulepath="/modules/' . $module->file_name
+ . '/rules"';
+ $xml .= PHP_EOL . $this->_t(2)
+ . 'addfieldpath="/modules/' . $module->file_name
+ . '/fields"';
+ }
$xml .= PHP_EOL . $this->_t(1) . '>';
}
else
diff --git a/admin/helpers/compiler/f_Infusion.php b/admin/helpers/compiler/f_Infusion.php
index 6e2e3ca9d..fa2ea1d98 100644
--- a/admin/helpers/compiler/f_Infusion.php
+++ b/admin/helpers/compiler/f_Infusion.php
@@ -1077,6 +1077,9 @@ class Infusion extends Interpretation
);
}
+ // setup the layouts
+ $this->setCustomViewLayouts();
+
// ADMIN_HELPER_CLASS_HEADER
$this->fileContentStatic[$this->hhh . 'ADMIN_HELPER_CLASS_HEADER'
. $this->hhh]
@@ -1760,6 +1763,7 @@ class Infusion extends Interpretation
&$this->placeholders, &$this->hhh)
);
}
+
// setup the layouts
$this->setCustomViewLayouts();
}
@@ -1930,7 +1934,7 @@ class Infusion extends Interpretation
// Trigger Event: jcb_ce_onBeforeInfuseModuleData
$this->triggerEvent(
'jcb_ce_onBeforeInfuseModuleData',
- array(&$this->componentContext, &$module, $this)
+ array(&$this->componentContext, &$module, &$this)
);
$this->target = $module->key;
$this->lang = $module->key;
@@ -1994,7 +1998,7 @@ class Infusion extends Interpretation
// Trigger Event: jcb_ce_onAfterInfuseModuleData
$this->triggerEvent(
'jcb_ce_onAfterInfuseModuleData',
- array(&$this->componentContext, &$module, $this)
+ array(&$this->componentContext, &$module, &$this)
);
}
}
@@ -2009,7 +2013,7 @@ class Infusion extends Interpretation
// Trigger Event: jcb_ce_onBeforeInfusePluginData
$this->triggerEvent(
'jcb_ce_onBeforeInfusePluginData',
- array(&$this->componentContext, &$plugin, $this)
+ array(&$this->componentContext, &$plugin, &$this)
);
$this->target = $plugin->key;
$this->lang = $plugin->key;
@@ -2056,7 +2060,7 @@ class Infusion extends Interpretation
// Trigger Event: jcb_ce_onAfterInfusePluginData
$this->triggerEvent(
'jcb_ce_onAfterInfusePluginData',
- array(&$this->componentContext, &$plugin, $this)
+ array(&$this->componentContext, &$plugin, &$this)
);
}
}
diff --git a/admin/helpers/componentbuilder.php b/admin/helpers/componentbuilder.php
index cf7d9cd02..c4d29f654 100644
--- a/admin/helpers/componentbuilder.php
+++ b/admin/helpers/componentbuilder.php
@@ -13,6 +13,7 @@
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Language;
+use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use PhpOffice\PhpSpreadsheet\IOFactory;
@@ -56,7 +57,7 @@ abstract class ComponentbuilderHelper
/**
* Array of php fields Allowed (16)
**/
- public static $phpFieldArray = array('', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'x');
+ public static $phpFieldArray = array('', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'x', 'HEADER');
/**
* The global params
@@ -2964,7 +2965,15 @@ abstract class ComponentbuilderHelper
$script['setdata'][] = self::_t(3) . "\$jinput = JFactory::getApplication()->input;";
$script['setdata'][] = self::_t(3) . "foreach(\$target_headers as \$header)";
$script['setdata'][] = self::_t(3) . "{";
- $script['setdata'][] = self::_t(4) . "\$data['target_headers'][\$header] = \$jinput->getString(\$header, null);";
+ $script['setdata'][] = self::_t(4) . "if ((\$column = \$jinput->getString(\$header, false)) !== false ||";
+ $script['setdata'][] = self::_t(5) . "(\$column = \$jinput->getString(strtolower(\$header), false)) !== false)";
+ $script['setdata'][] = self::_t(4) . "{";
+ $script['setdata'][] = self::_t(5) . "\$data['target_headers'][\$header] = \$column;";
+ $script['setdata'][] = self::_t(4) . "}";
+ $script['setdata'][] = self::_t(4) . "else";
+ $script['setdata'][] = self::_t(4) . "{";
+ $script['setdata'][] = self::_t(5) . "\$data['target_headers'][\$header] = null;";
+ $script['setdata'][] = self::_t(4) . "}";
$script['setdata'][] = self::_t(3) . "}";
$script['setdata'][] = self::_t(3) . "// set the data";
$script['setdata'][] = self::_t(3) . "if(isset(\$package['dir']))";
@@ -5534,14 +5543,61 @@ abstract class ComponentbuilderHelper
*
*/
public static function getEditURL(&$item, $view, $views, $ref = '', $component = 'com_componentbuilder', $jRoute = true)
+ {
+ // build record
+ $record = new stdClass();
+ // check if user can edit
+ if (self::canEditItem($record, $item, $view, $views, $component))
+ {
+ // set the edit link
+ if ($jRoute)
+ {
+ return JRoute::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref);
+ }
+ return "index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref;
+ }
+ return false;
+ }
+
+ /**
+ * Can Edit (either any, or own)
+ *
+ * @param int $item The item to edit
+ * @param string $view The type of item to edit
+ * @param string $views The list view controller name
+ * @param string $component The component these views belong to
+ *
+ * @return bool if user can edit returns true els
+ *
+ */
+ public static function allowEdit(&$item, $view, $views, $component = 'com_componentbuilder')
+ {
+ // build record
+ $record = new stdClass();
+ return self::canEditItem($record, $item, $view, $views, $component);
+ }
+
+
+ /**
+ * Can Edit (either any, or own)
+ *
+ * @param int $item The item to edit
+ * @param string $view The type of item to edit
+ * @param string $views The list view controller name
+ * @param string $component The component these views belong to
+ *
+ * @return bool if user can edit returns true els
+ *
+ */
+ protected static function canEditItem(&$record, &$item, $view, $views, $component = 'com_componentbuilder')
{
// make sure the user has access to view
if (!JFactory::getUser()->authorise($view. '.access', $component))
{
return false;
}
- // build record
- $record = new stdClass();
+ // we start with false.
+ $can_edit = false;
// check that we have the ID
if (self::checkObject($item) && isset($item->id))
{
@@ -5571,25 +5627,14 @@ abstract class ComponentbuilderHelper
// get user action permission to edit
$action = self::getActions($view, $record, $views, 'edit', str_replace('com_', '', $component));
// check if the view permission is set
- if (($edit = $action->get($view . '.edit', 'none-set')) === 'none-set')
+ if (($can_edit = $action->get($view . '.edit', 'none-set')) === 'none-set')
{
- // fall back on the core permission then
- $edit = $action->get('core.edit', 'none-set');
- }
- // can edit
- if ($edit)
- {
- // set the edit link
- if ($jRoute)
- {
- return JRoute::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref);
- }
- return "index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref;
+ // fall back on the core permission then (this can be an issue)
+ $can_edit = ($action->get('core.edit', false) || $action->get('core.edit.own', false));
}
}
- return false;
+ return $can_edit;
}
-
/**
* set subform type table
@@ -5632,9 +5677,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice fancy date
*/
- public static function fancyDate($date)
+ public static function fancyDate($date, $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5644,9 +5689,9 @@ abstract class ComponentbuilderHelper
/**
* get date based in period past
*/
- public static function fancyDynamicDate($date)
+ public static function fancyDynamicDate($date, $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5670,9 +5715,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice fancy day time and date
*/
- public static function fancyDayTimeDate($time)
+ public static function fancyDayTimeDate($time, $check_stamp = true)
{
- if (!self::isValidTimeStamp($time))
+ if ($check_stamp && !self::isValidTimeStamp($time))
{
$time = strtotime($time);
}
@@ -5682,9 +5727,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice fancy time and date
*/
- public static function fancyDateTime($time)
+ public static function fancyDateTime($time, $check_stamp = true)
{
- if (!self::isValidTimeStamp($time))
+ if ($check_stamp && !self::isValidTimeStamp($time))
{
$time = strtotime($time);
}
@@ -5694,9 +5739,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice hour:minutes time
*/
- public static function fancyTime($time)
+ public static function fancyTime($time, $check_stamp = true)
{
- if (!self::isValidTimeStamp($time))
+ if ($check_stamp && !self::isValidTimeStamp($time))
{
$time = strtotime($time);
}
@@ -5706,9 +5751,9 @@ abstract class ComponentbuilderHelper
/**
* set the date day as Sunday through Saturday
*/
- public static function setDayName($date)
+ public static function setDayName($date, $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5718,9 +5763,9 @@ abstract class ComponentbuilderHelper
/**
* set the date month as January through December
*/
- public static function setMonthName($date)
+ public static function setMonthName($date, $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5730,9 +5775,9 @@ abstract class ComponentbuilderHelper
/**
* set the date day as 1st
*/
- public static function setDay($date)
+ public static function setDay($date, $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5742,9 +5787,9 @@ abstract class ComponentbuilderHelper
/**
* set the date month as 5
*/
- public static function setMonth($date)
+ public static function setMonth($date, $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5754,9 +5799,9 @@ abstract class ComponentbuilderHelper
/**
* set the date year as 2004 (for charts)
*/
- public static function setYear($date)
+ public static function setYear($date, $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5766,9 +5811,9 @@ abstract class ComponentbuilderHelper
/**
* set the date as 2004/05 (for charts)
*/
- public static function setYearMonth($date, $spacer = '/')
+ public static function setYearMonth($date, $spacer = '/', $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@@ -5778,15 +5823,27 @@ abstract class ComponentbuilderHelper
/**
* set the date as 2004/05/03 (for charts)
*/
- public static function setYearMonthDay($date, $spacer = '/')
+ public static function setYearMonthDay($date, $spacer = '/', $check_stamp = true)
{
- if (!self::isValidTimeStamp($date))
+ if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
return date('Y' . $spacer . 'm' . $spacer . 'd', $date);
}
+ /**
+ * set the date as 03/05/2004
+ */
+ public static function setDayMonthYear($date, $spacer = '/', $check_stamp = true)
+ {
+ if ($check_stamp && !self::isValidTimeStamp($date))
+ {
+ $date = strtotime($date);
+ }
+ return date('d' . $spacer . 'm' . $spacer . 'Y', $date);
+ }
+
/**
* Check if string is a valid time stamp
*/
@@ -5797,6 +5854,57 @@ abstract class ComponentbuilderHelper
&& ($timestamp >= ~PHP_INT_MAX);
}
+ /**
+ * Check if string is a valid date
+ * https://www.php.net/manual/en/function.checkdate.php#113205
+ */
+ public static function isValidateDate($date, $format = 'Y-m-d H:i:s')
+ {
+ $d = DateTime::createFromFormat($format, $date);
+ return $d && $d->format($format) == $date;
+ }
+
+
+ /**
+ * The subform layouts
+ **/
+ protected static $subformLayouts = false;
+
+ /**
+ * get the subform layout
+ *
+ * @input string The view name
+ * @input string The string name
+ *
+ * @returns string on success
+ **/
+ public static function getSubformLayout($view, $field, $default = 'repeatablejcb')
+ {
+ // get global values
+ if (self::$subformLayouts === false)
+ {
+ self::$subformLayouts = JComponentHelper::getParams('com_componentbuilder')->get('subform_layouts', false);
+ }
+ // check what we found (else) return default
+ if (self::checkObject(self::$subformLayouts))
+ {
+ // looking for
+ $target = $view . '.' . $field;
+ foreach (self::$subformLayouts as $subform)
+ {
+ if ($target === $subform->view_field)
+ {
+ return $subform->layout;
+ }
+ elseif ('default' === $subform->view_field)
+ {
+ $default = $subform->layout;
+ }
+ }
+ }
+ return $default;
+ }
+
/**
* Load the Composer Vendors
@@ -6033,12 +6141,12 @@ abstract class ComponentbuilderHelper
if ($user->authorise('field.access', 'com_componentbuilder') && $user->authorise('field.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FIELDS'), 'index.php?option=com_componentbuilder&view=fields', $submenu === 'fields');
- JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fields', $submenu === 'categories.fields');
+ JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.field', $submenu === 'categories.field');
}
if ($user->authorise('fieldtype.access', 'com_componentbuilder') && $user->authorise('fieldtype.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FIELDTYPES'), 'index.php?option=com_componentbuilder&view=fieldtypes', $submenu === 'fieldtypes');
- JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_FIELDTYPES_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fieldtypes', $submenu === 'categories.fieldtypes');
+ JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_FIELDTYPES_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fieldtype', $submenu === 'categories.fieldtype');
}
if ($user->authorise('language_translation.access', 'com_componentbuilder') && $user->authorise('language_translation.submenu', 'com_componentbuilder'))
{
@@ -6201,6 +6309,8 @@ abstract class ComponentbuilderHelper
->setLastModifiedBy($modified)
->setTitle($title)
->setSubject($subjectTab);
+ // The file type
+ $file_type = 'Xls';
// set description
if ($description)
{
@@ -6240,21 +6350,46 @@ abstract class ComponentbuilderHelper
));
// Add some data
- if (self::checkArray($rows))
+ if (($size = self::checkArray($rows)) !== false)
{
$i = 1;
- foreach ($rows as $array){
+
+ // Based on data size we adapt the behaviour.
+ $xls_mode = 1;
+ if ($size > 3000)
+ {
+ $xls_mode = 3;
+ $file_type = 'Csv';
+ }
+ elseif ($size > 2000)
+ {
+ $xls_mode = 2;
+ }
+
+ // Set active sheet and get it.
+ $active_sheet = $spreadsheet->setActiveSheetIndex(0);
+ foreach ($rows as $array)
+ {
$a = 'A';
- foreach ($array as $value){
- $spreadsheet->setActiveSheetIndex(0)->setCellValue($a.$i, $value);
- if ($i == 1){
- $spreadsheet->getActiveSheet()->getColumnDimension($a)->setAutoSize(true);
- $spreadsheet->getActiveSheet()->getStyle($a.$i)->applyFromArray($headerStyles);
- $spreadsheet->getActiveSheet()->getStyle($a.$i)->getAlignment()->setHorizontal(PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
- } elseif ($a === 'A'){
- $spreadsheet->getActiveSheet()->getStyle($a.$i)->applyFromArray($sideStyles);
- } else {
- $spreadsheet->getActiveSheet()->getStyle($a.$i)->applyFromArray($normalStyles);
+ foreach ($array as $value)
+ {
+ $active_sheet->setCellValue($a.$i, $value);
+ if ($xls_mode != 3)
+ {
+ if ($i == 1)
+ {
+ $active_sheet->getColumnDimension($a)->setAutoSize(true);
+ $active_sheet->getStyle($a.$i)->applyFromArray($headerStyles);
+ $active_sheet->getStyle($a.$i)->getAlignment()->setHorizontal(PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
+ }
+ elseif ($a === 'A')
+ {
+ $active_sheet->getStyle($a.$i)->applyFromArray($sideStyles);
+ }
+ elseif ($xls_mode == 1)
+ {
+ $active_sheet->getStyle($a.$i)->applyFromArray($normalStyles);
+ }
}
$a++;
}
@@ -6274,7 +6409,7 @@ abstract class ComponentbuilderHelper
// Redirect output to a client's web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
- header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
+ header('Content-Disposition: attachment;filename="' . $fileName . '.' . strtolower($file_type) .'"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
@@ -6285,7 +6420,7 @@ abstract class ComponentbuilderHelper
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
- $writer = IOFactory::createWriter($spreadsheet, 'Xls');
+ $writer = IOFactory::createWriter($spreadsheet, $file_type);
$writer->save('php://output');
jexit();
}
diff --git a/admin/language/en-GB/en-GB.com_componentbuilder.ini b/admin/language/en-GB/en-GB.com_componentbuilder.ini
index de38067e9..cb148d833 100644
--- a/admin/language/en-GB/en-GB.com_componentbuilder.ini
+++ b/admin/language/en-GB/en-GB.com_componentbuilder.ini
@@ -7,6 +7,7 @@ COM_COMPONENTBUILDER_ACCESS="Access"
COM_COMPONENTBUILDER_ACCESS_BULK_TOOLS="Access Bulk Tools"
COM_COMPONENTBUILDER_ACCESS_DENIED="Access denied!"
COM_COMPONENTBUILDER_ACTIVE_ONLY_FOUR_TEXT_FIELD="Active (only 4 text_field)"
+COM_COMPONENTBUILDER_ADD="Add"
COM_COMPONENTBUILDER_ADD_ACCESS="Add Access"
COM_COMPONENTBUILDER_ADD_CORRESPONDING_LINE_NUMBERS_TO_THE_DYNAMIC_COMMENTS_SO_TO_SEE_WHERE_IN_THE_COMPILER_THE_LINES_OF_CODE_WAS_BUILD_THIS_WILL_HELP_IF_YOU_NEED_TO_GET_MORE_TECHNICAL_WITH_AN_ISSUE_ON_GITHUB_OR_EVEN_FOR_YOUR_OWN_DEBUGGING="Add corresponding line numbers to the dynamic comments, so to see where in the compiler the lines of code was build. This will help if you need to get more technical with an issue on github, or even for your own debugging."
COM_COMPONENTBUILDER_ADD_CUSTOM_CODE_PLACEHOLDERS="Add Custom Code Placeholders"
@@ -3234,6 +3235,10 @@ COM_COMPONENTBUILDER_CONDITIONS="Conditions"
COM_COMPONENTBUILDER_CONFIG_ACTIVE="Active"
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION="Would you like to add a prefix to the Joomla menu name of your components"
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL="Add Menu Prefix"
+COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS="Admin Custom Tabs (tabs)"
+COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_ADDFIELDS="Admin Fields (addfields)"
+COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS="Admin Fields Conditions (addconditions)"
+COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_RELATIONS_ADDRELATIONS="Admin Fields Relations (addrelations)"
COM_COMPONENTBUILDER_CONFIG_ALMOST_FLAT_LOAD="Almost Flat"
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC="Alphanumeric"
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT="Alphanumeric+dot"
@@ -3335,7 +3340,10 @@ COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_MESSAGE="Error! Please add some
COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_DESCRIPTION="Select the plugin you would like to use in JCB's compiler"
COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_LABEL="Activate Compiler Plugins"
COM_COMPONENTBUILDER_CONFIG_COMPONENT="Component"
+COM_COMPONENTBUILDER_CONFIG_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS="Component Admin Views (addadmin_views)"
+COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_VIEWS_ADDCUSTOM_ADMIN_VIEWS="Component Custom Admin Views (addcustom_admin_views)"
COM_COMPONENTBUILDER_CONFIG_COMPONENT_LABEL="Component"
+COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS="Component Site Views (addsite_views)"
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION="Here you can set the path to where all components are backed up to."
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_HINT="/home/user/fullbackup"
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_LABEL="Cronjob Backup Folder Path"
@@ -3378,6 +3386,8 @@ COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_DESCRIPTION="This is the TXT value to use
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_HINT="v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY"
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_LABEL="Value"
COM_COMPONENTBUILDER_CONFIG_DONT_LOAD="Not"
+COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE="Dynamic Get (join_db_table)"
+COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_VIEW_TABLE="Dynamic Get (join_view_table)"
COM_COMPONENTBUILDER_CONFIG_EDITOR_DESCRIPTION="Select the editor you would like to use as the JCB global editor for all custom coding areas."
COM_COMPONENTBUILDER_CONFIG_EDITOR_LABEL="Select an editor"
COM_COMPONENTBUILDER_CONFIG_EMAILFROM_DESCRIPTION="The global email address that will be used to send system email."
@@ -3446,6 +3456,8 @@ COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_DESCRIPTION="Enter Email"
COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_HINT="Email Here"
COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_LABEL="Email"
COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_MESSAGE="Error! Please email address here."
+COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_DESCRIPTION="All the export of language strings during JCB package export."
+COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL="Export Language Strings"
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_DESCRIPTION="Add License Here"
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_HINT="Add License Here"
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_LABEL="License"
@@ -3485,6 +3497,7 @@ COM_COMPONENTBUILDER_CONFIG_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION="Here you can manage what package directories show in the JCB package import area."
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_LABEL="Directories"
COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL="Language"
+COM_COMPONENTBUILDER_CONFIG_LAYOUT_LABEL="Layout"
COM_COMPONENTBUILDER_CONFIG_LOCAL_FOLDER="Local Folder"
COM_COMPONENTBUILDER_CONFIG_MAILER_DESCRIPTION="Select what mailer you would like to use to send emails."
COM_COMPONENTBUILDER_CONFIG_MAILER_LABEL="Mailer"
@@ -3567,6 +3580,9 @@ COM_COMPONENTBUILDER_CONFIG_PHP_MAIL="PHP Mail"
COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_DESCRIPTION="Should JCB insert the custom code placeholders? This is only applicable if this component has custom code."
COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_LABEL="Add Custom Code Placeholders"
COM_COMPONENTBUILDER_CONFIG_REMOTE_SERVER="Remote Server"
+COM_COMPONENTBUILDER_CONFIG_REPEATABLETABLE_JOOMLA="Repeatable-table (joomla)"
+COM_COMPONENTBUILDER_CONFIG_REPEATABLE_JOOMLA="Repeatable (Joomla)"
+COM_COMPONENTBUILDER_CONFIG_REPEATABLE_UIKIT="Repeatable (UIkit)"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_DESCRIPTION="Text displayed in the header "Reply To:" field when replying to the site email. Usually the the person that receives the response. (leave blank for none)"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_HINT="Reply Name Here"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_LABEL="Reply to Name"
@@ -3602,6 +3618,8 @@ COM_COMPONENTBUILDER_CONFIG_SSL="SSL"
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_DESCRIPTION="How long should the data that is stored in the browser memory remain unchanged before it is removed and updated."
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_LABEL="Update Cycle"
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION="String Manipulation"
+COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION="Select the sub-form layouts you would like to use."
+COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_LABEL="Sub-form Layouts"
COM_COMPONENTBUILDER_CONFIG_TLS="TLS"
COM_COMPONENTBUILDER_CONFIG_TRUE="True"
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like 1 becomes one . Alphanumeric+dot keeps the numbers unconverted unless it is at the beginning of the field name, and allows for a dot (.) to be used in the type name for namespacing."
@@ -3616,6 +3634,7 @@ COM_COMPONENTBUILDER_CONFIG_UIKIT_MIN_LABEL="Load Minified"
COM_COMPONENTBUILDER_CONFIG_UIKIT_STYLE_DESC="Set the css style that should be used."
COM_COMPONENTBUILDER_CONFIG_UIKIT_STYLE_LABEL="css Style"
COM_COMPONENTBUILDER_CONFIG_VDM_PACKAGES="VDM Packages"
+COM_COMPONENTBUILDER_CONFIG_VIEW_FIELD_LABEL="View & Field"
COM_COMPONENTBUILDER_CONFIG_YES="Yes"
COM_COMPONENTBUILDER_CONFIRMATION_STEP_BEFORE_IMPORTING="Confirmation Step Before Importing!"
COM_COMPONENTBUILDER_CONTEXT="Context"
@@ -4495,6 +4514,8 @@ COM_COMPONENTBUILDER_DYNAMIC_GET_DIRECTION_LABEL="Ordering Direction"
COM_COMPONENTBUILDER_DYNAMIC_GET_E="e"
COM_COMPONENTBUILDER_DYNAMIC_GET_EDIT="Editing the Dynamic Get"
COM_COMPONENTBUILDER_DYNAMIC_GET_EE="ee"
+COM_COMPONENTBUILDER_DYNAMIC_GET_EMPTY_DESCRIPTION="Empty"
+COM_COMPONENTBUILDER_DYNAMIC_GET_EMPTY_LABEL="Allow"
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL="equal"
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_OR_NOT="equal or not"
COM_COMPONENTBUILDER_DYNAMIC_GET_ERROR_UNIQUE_ALIAS="Another Dynamic Get has the same alias."
@@ -5871,7 +5892,7 @@ Project duration: **###projectWeekTime### weeks** or **###projectMonthTime### mo
## Donations
If you want to support this project, please consider donating:
- * PayPal: [paypal.me/asseblief](https://www.paypal.me/asseblief) (Asseblief = Please) in Afrikaans
+ * PayPal: [paypal.me/donationgeek](https://www.paypal.me/donationgeek)
* Bitcoin: 18vURxYpPFjvNk8BnUy1ovCAyQmY3MzkSf
* Ethereum: 0x9548144662b47327c954f3e214edb96662d51218
"
@@ -7717,6 +7738,7 @@ COM_COMPONENTBUILDER_MODEL_AFTER_MODELLING="Model (after modelling)"
COM_COMPONENTBUILDER_MODEL_BEFORE_MODELLING="Model (before modelling)"
COM_COMPONENTBUILDER_MODULE="Module"
COM_COMPONENTBUILDER_MODULES="Modules"
+COM_COMPONENTBUILDER_MOVE="Move"
COM_COMPONENTBUILDER_NAME="Name"
COM_COMPONENTBUILDER_NAME_ASC="Name (Asc)"
COM_COMPONENTBUILDER_NAME_DESC="Name (Desc)"
@@ -7913,6 +7935,7 @@ COM_COMPONENTBUILDER_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT="Ready to compile a component"
COM_COMPONENTBUILDER_REFRESH="Refresh"
COM_COMPONENTBUILDER_RELEASED_THIS="released this"
+COM_COMPONENTBUILDER_REMOVE="Remove"
COM_COMPONENTBUILDER_RENAME="Rename"
COM_COMPONENTBUILDER_REPORT_AN_ISSUE_BSB="Report an issue: %s "
COM_COMPONENTBUILDER_REQUIRES_THE_VALUE_ENTERED_BE_ONE_OF_THE_OPTIONS_IN_AN_ELEMENT_OF_TYPEQUOTLISTQUOT_THAT_IS_THAT_THE_ELEMENT_IS_A_SELECT_LIST="Requires the value entered be one of the options in an element of type="list": that is, that the element is a select list."
diff --git a/admin/layouts/fieldtype/fields_fullwidth.php b/admin/layouts/fieldtype/fields_fullwidth.php
index 4ab41c6b1..3a4179ca2 100644
--- a/admin/layouts/fieldtype/fields_fullwidth.php
+++ b/admin/layouts/fieldtype/fields_fullwidth.php
@@ -13,7 +13,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
-$items = $displayData->vyffields;
+$items = $displayData->vycfields;
$user = JFactory::getUser();
$id = $displayData->item->id;
// set the edit URL
@@ -118,8 +118,8 @@ $can = ComponentbuilderHelper::getActions('field');
store); ?>
- authorise('core.edit', 'com_componentbuilder.fields.category.' . (int)$item->catid)): ?>
- escape($item->category_title); ?>
+ authorise('core.edit', 'com_componentbuilder.field.category.' . (int)$item->catid)): ?>
+ escape($item->category_title); ?>
escape($item->category_title); ?>
diff --git a/admin/layouts/repeatablejcb.php b/admin/layouts/repeatablejcb.php
new file mode 100644
index 000000000..53d215068
--- /dev/null
+++ b/admin/layouts/repeatablejcb.php
@@ -0,0 +1,95 @@
+
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this file
+defined('JPATH_BASE') or die('Restricted access');
+
+/**
+ * Make thing clear
+ *
+ * @var JForm $tmpl The Empty form for template
+ * @var array $forms Array of JForm instances for render the rows
+ * @var bool $multiple The multiple state for the form field
+ * @var int $min Count of minimum repeating in multiple mode
+ * @var int $max Count of maximum repeating in multiple mode
+ * @var string $fieldname The field name
+ * @var string $control The forms control
+ * @var string $label The field label
+ * @var string $description The field description
+ * @var array $buttons Array of the buttons that will be rendered
+ * @var bool $groupByFieldset Whether group the subform fields by it`s fieldset
+ */
+extract($displayData);
+
+// Add script
+JHtml::_('jquery.ui', array('core', 'sortable'));
+JHtml::_('script', 'system/subform-repeatable.js', array('version' => 'auto', 'relative' => true));
+
+$sublayout = 'sectionjcb';
+
+?>
+
diff --git a/admin/layouts/sectionjcb.php b/admin/layouts/sectionjcb.php
new file mode 100644
index 000000000..bbcc14347
--- /dev/null
+++ b/admin/layouts/sectionjcb.php
@@ -0,0 +1,62 @@
+
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this file
+defined('JPATH_BASE') or die('Restricted access');
+
+/**
+ * Make thing clear
+ *
+ * @var JForm $form The form instance for render the section
+ * @var string $basegroup The base group name
+ * @var string $group Current group name
+ * @var array $buttons Array of the buttons that will be rendered
+ */
+extract($displayData);
+
+?>
+
diff --git a/admin/layouts/server/linked_components_fullwidth.php b/admin/layouts/server/linked_components_fullwidth.php
index 6c2657c4a..daa8d8f7c 100644
--- a/admin/layouts/server/linked_components_fullwidth.php
+++ b/admin/layouts/server/linked_components_fullwidth.php
@@ -13,7 +13,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
-$items = $displayData->vyplinked_components;
+$items = $displayData->vymlinked_components;
$user = JFactory::getUser();
$id = $displayData->item->id;
// set the edit URL
diff --git a/admin/models/admin_custom_tabs.php b/admin/models/admin_custom_tabs.php
index 0a4eb6efb..7d409ed04 100644
--- a/admin/models/admin_custom_tabs.php
+++ b/admin/models/admin_custom_tabs.php
@@ -225,6 +225,9 @@ class ComponentbuilderModelAdmin_custom_tabs extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
+
+ // update the tabs (sub form) layout
+ $form->setFieldAttribute('tabs', 'layout', ComponentbuilderHelper::getSubformLayout('admin_custom_tabs', 'tabs'));
return $form;
}
diff --git a/admin/models/admin_fields.php b/admin/models/admin_fields.php
index 821abede9..9b8950388 100644
--- a/admin/models/admin_fields.php
+++ b/admin/models/admin_fields.php
@@ -246,6 +246,9 @@ class ComponentbuilderModelAdmin_fields extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
+
+ // update the addfields (sub form) layout
+ $form->setFieldAttribute('addfields', 'layout', ComponentbuilderHelper::getSubformLayout('admin_fields', 'addfields'));
return $form;
}
diff --git a/admin/models/admin_fields_conditions.php b/admin/models/admin_fields_conditions.php
index 082d0a4ee..4888089d9 100644
--- a/admin/models/admin_fields_conditions.php
+++ b/admin/models/admin_fields_conditions.php
@@ -246,6 +246,9 @@ class ComponentbuilderModelAdmin_fields_conditions extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
+
+ // update the addconditions (sub form) layout
+ $form->setFieldAttribute('addconditions', 'layout', ComponentbuilderHelper::getSubformLayout('admin_fields_conditions', 'addconditions'));
return $form;
}
diff --git a/admin/models/admin_fields_relations.php b/admin/models/admin_fields_relations.php
index 8da06e303..b24caee98 100644
--- a/admin/models/admin_fields_relations.php
+++ b/admin/models/admin_fields_relations.php
@@ -308,6 +308,9 @@ class ComponentbuilderModelAdmin_fields_relations extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
+
+ // update the addrelations (sub form) layout
+ $form->setFieldAttribute('addrelations', 'layout', ComponentbuilderHelper::getSubformLayout('admin_fields_relations', 'addrelations'));
return $form;
}
diff --git a/admin/models/admin_view.php b/admin/models/admin_view.php
index 0f469f420..e2b24a9b5 100644
--- a/admin/models/admin_view.php
+++ b/admin/models/admin_view.php
@@ -800,8 +800,8 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -984,7 +984,7 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1491,8 +1491,15 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "admin_view", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('admin_view', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "admin_view", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/admin_views.php b/admin/models/admin_views.php
index 35eecdbe0..2bff5e023 100644
--- a/admin/models/admin_views.php
+++ b/admin/models/admin_views.php
@@ -342,7 +342,7 @@ class ComponentbuilderModelAdmin_views extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -360,7 +360,24 @@ class ComponentbuilderModelAdmin_views extends JModelList
// From the componentbuilder_admin_view table
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/class_method.php b/admin/models/class_method.php
index 004874715..2c799658a 100644
--- a/admin/models/class_method.php
+++ b/admin/models/class_method.php
@@ -342,8 +342,8 @@ class ComponentbuilderModelClass_method extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -526,7 +526,7 @@ class ComponentbuilderModelClass_method extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -972,8 +972,15 @@ class ComponentbuilderModelClass_method extends JModelAdmin
$data['name'] = ComponentbuilderHelper::safeClassFunctionName($data['name']);
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "class_method", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('class_method', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "class_method", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/class_methods.php b/admin/models/class_methods.php
index 0d9d4c9da..dbca552ae 100644
--- a/admin/models/class_methods.php
+++ b/admin/models/class_methods.php
@@ -269,7 +269,7 @@ class ComponentbuilderModelClass_methods extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -287,7 +287,24 @@ class ComponentbuilderModelClass_methods extends JModelList
// From the componentbuilder_class_method table
$query->from($db->quoteName('#__componentbuilder_class_method', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/class_properties.php b/admin/models/class_properties.php
index 9e9befe8a..db8ae024e 100644
--- a/admin/models/class_properties.php
+++ b/admin/models/class_properties.php
@@ -269,7 +269,7 @@ class ComponentbuilderModelClass_properties extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -287,7 +287,24 @@ class ComponentbuilderModelClass_properties extends JModelList
// From the componentbuilder_class_property table
$query->from($db->quoteName('#__componentbuilder_class_property', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/class_property.php b/admin/models/class_property.php
index 6a6af7baf..a941e2352 100644
--- a/admin/models/class_property.php
+++ b/admin/models/class_property.php
@@ -333,8 +333,8 @@ class ComponentbuilderModelClass_property extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -517,7 +517,7 @@ class ComponentbuilderModelClass_property extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -963,8 +963,15 @@ class ComponentbuilderModelClass_property extends JModelAdmin
$data['name'] = ComponentbuilderHelper::safeClassFunctionName($data['name']);
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "class_property", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('class_property', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "class_property", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/component_admin_views.php b/admin/models/component_admin_views.php
index dd831be06..f143c1c35 100644
--- a/admin/models/component_admin_views.php
+++ b/admin/models/component_admin_views.php
@@ -257,6 +257,9 @@ class ComponentbuilderModelComponent_admin_views extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
+
+ // update the addadmin_views (sub form) layout
+ $form->setFieldAttribute('addadmin_views', 'layout', ComponentbuilderHelper::getSubformLayout('component_admin_views', 'addadmin_views'));
return $form;
}
diff --git a/admin/models/component_custom_admin_views.php b/admin/models/component_custom_admin_views.php
index 3a8c06f90..47f3bbda9 100644
--- a/admin/models/component_custom_admin_views.php
+++ b/admin/models/component_custom_admin_views.php
@@ -257,6 +257,9 @@ class ComponentbuilderModelComponent_custom_admin_views extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
+
+ // update the addcustom_admin_views (sub form) layout
+ $form->setFieldAttribute('addcustom_admin_views', 'layout', ComponentbuilderHelper::getSubformLayout('component_custom_admin_views', 'addcustom_admin_views'));
return $form;
}
diff --git a/admin/models/component_site_views.php b/admin/models/component_site_views.php
index 78df71326..5640efaa6 100644
--- a/admin/models/component_site_views.php
+++ b/admin/models/component_site_views.php
@@ -257,6 +257,9 @@ class ComponentbuilderModelComponent_site_views extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
+
+ // update the addsite_views (sub form) layout
+ $form->setFieldAttribute('addsite_views', 'layout', ComponentbuilderHelper::getSubformLayout('component_site_views', 'addsite_views'));
return $form;
}
diff --git a/admin/models/custom_admin_view.php b/admin/models/custom_admin_view.php
index a21f8c5c7..91af2d657 100644
--- a/admin/models/custom_admin_view.php
+++ b/admin/models/custom_admin_view.php
@@ -506,8 +506,8 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -1125,8 +1125,15 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "custom_admin_view", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('custom_admin_view', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "custom_admin_view", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/custom_admin_views.php b/admin/models/custom_admin_views.php
index ede100835..447816d19 100644
--- a/admin/models/custom_admin_views.php
+++ b/admin/models/custom_admin_views.php
@@ -283,7 +283,7 @@ class ComponentbuilderModelCustom_admin_views extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -301,7 +301,24 @@ class ComponentbuilderModelCustom_admin_views extends JModelList
// From the componentbuilder_custom_admin_view table
$query->from($db->quoteName('#__componentbuilder_custom_admin_view', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/custom_code.php b/admin/models/custom_code.php
index 52003c0e3..25522e5a4 100644
--- a/admin/models/custom_code.php
+++ b/admin/models/custom_code.php
@@ -519,7 +519,7 @@ class ComponentbuilderModelCustom_code extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
diff --git a/admin/models/custom_codes.php b/admin/models/custom_codes.php
index d9745bf2d..3c016267e 100644
--- a/admin/models/custom_codes.php
+++ b/admin/models/custom_codes.php
@@ -316,7 +316,7 @@ class ComponentbuilderModelCustom_codes extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -334,7 +334,24 @@ class ComponentbuilderModelCustom_codes extends JModelList
// From the componentbuilder_custom_code table
$query->from($db->quoteName('#__componentbuilder_custom_code', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/dynamic_get.php b/admin/models/dynamic_get.php
index d897a4af4..76cfb7d75 100644
--- a/admin/models/dynamic_get.php
+++ b/admin/models/dynamic_get.php
@@ -520,12 +520,18 @@ class ComponentbuilderModelDynamic_get extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
+
+ // update the join_view_table (sub form) layout
+ $form->setFieldAttribute('join_view_table', 'layout', ComponentbuilderHelper::getSubformLayout('dynamic_get', 'join_view_table'));
+
+ // update the join_db_table (sub form) layout
+ $form->setFieldAttribute('join_db_table', 'layout', ComponentbuilderHelper::getSubformLayout('dynamic_get', 'join_db_table'));
return $form;
}
@@ -704,7 +710,7 @@ class ComponentbuilderModelDynamic_get extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1148,8 +1154,15 @@ class ComponentbuilderModelDynamic_get extends JModelAdmin
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "dynamic_get", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('dynamic_get', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "dynamic_get", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/dynamic_gets.php b/admin/models/dynamic_gets.php
index 91356cf03..9f66a6f5b 100644
--- a/admin/models/dynamic_gets.php
+++ b/admin/models/dynamic_gets.php
@@ -266,7 +266,7 @@ class ComponentbuilderModelDynamic_gets extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -284,7 +284,24 @@ class ComponentbuilderModelDynamic_gets extends JModelList
// From the componentbuilder_dynamic_get table
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/field.php b/admin/models/field.php
index 5cc2eafb8..cef6417a5 100644
--- a/admin/models/field.php
+++ b/admin/models/field.php
@@ -419,8 +419,8 @@ class ComponentbuilderModelField extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -603,7 +603,7 @@ class ComponentbuilderModelField extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1144,8 +1144,15 @@ class ComponentbuilderModelField extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "field", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('field', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "field", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/fields.php b/admin/models/fields.php
index 8eb0104d8..b6b8225b6 100644
--- a/admin/models/fields.php
+++ b/admin/models/fields.php
@@ -382,7 +382,7 @@ class ComponentbuilderModelFields extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -400,7 +400,24 @@ class ComponentbuilderModelFields extends JModelList
// From the componentbuilder_field table
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/fields/adminlistvieworderfields.php b/admin/models/fields/adminlistvieworderfields.php
new file mode 100644
index 000000000..710ddf443
--- /dev/null
+++ b/admin/models/fields/adminlistvieworderfields.php
@@ -0,0 +1,99 @@
+
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this file
+defined('_JEXEC') or die('Restricted access');
+
+// import the list field type
+jimport('joomla.form.helper');
+JFormHelper::loadFieldClass('list');
+
+/**
+ * Adminlistvieworderfields Form Field class for the Componentbuilder component
+ */
+class JFormFieldAdminlistvieworderfields extends JFormFieldList
+{
+ /**
+ * The adminlistvieworderfields field type.
+ *
+ * @var string
+ */
+ public $type = 'adminlistvieworderfields';
+
+ /**
+ * Method to get a list of options for a list input.
+ *
+ * @return array An array of JHtml options.
+ */
+ protected function getOptions()
+ {
+ // load the db object
+ $db = JFactory::getDBO();
+ // get the input from url
+ $jinput = JFactory::getApplication()->input;
+ // get the id
+ $adminView = $jinput->getInt('id', 0);
+ // check if we have an admin view
+ if (is_numeric($adminView) && $adminView >= 1)
+ {
+ // get all the fields linked to the admin view
+ if ($addFields = ComponentbuilderHelper::getVar('admin_fields', (int) $adminView, 'admin_view', 'addfields'))
+ {
+ if (ComponentbuilderHelper::checkJson($addFields))
+ {
+ $addFields = json_decode($addFields, true);
+ if (ComponentbuilderHelper::checkArray($addFields))
+ {
+ foreach($addFields as $addField)
+ {
+ // admin list view and ordering
+ if (isset($addField['field']) && isset($addField['list']) && ($addField['list'] == 1 || $addField['list'] == 3)
+ && isset($addField['sort']) && $addField['sort'])
+ {
+ $fieldIds[] = (int) $addField['field'];
+ }
+ }
+ }
+ }
+ }
+ // filter by fields linked
+ if (ComponentbuilderHelper::checkArray($fieldIds))
+ {
+ $query = $db->getQuery(true);
+ $query->select($db->quoteName(array('a.id','a.name', 'a.xml', 'b.name'),array('id','name', 'xml', 'type')));
+ $query->from($db->quoteName('#__componentbuilder_field', 'a'));
+ $query->join('LEFT', '#__componentbuilder_fieldtype AS b ON b.id = a.fieldtype');
+ $query->where($db->quoteName('a.published') . ' >= 1');
+ // only load these fields
+ $query->where($db->quoteName('a.id') . ' IN (' . implode(',', $fieldIds) . ')');
+ $query->order('a.name ASC');
+ $db->setQuery((string)$query);
+ $items = $db->loadObjectList();
+ $options = array();
+ if ($items)
+ {
+ $options[] = JHtml::_('select.option', '', JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_SELECT_AN_OPTION'));
+ $options[] = JHtml::_('select.option', -1, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ID'). ' [ id - text ]');
+ $options[] = JHtml::_('select.option', -2, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ORDERING'). ' [ ordering - number ]');
+ $options[] = JHtml::_('select.option', -3, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_STATUS'). ' [ published - list ]');
+ foreach($items as $item)
+ {
+ // get the field name (TODO this could slow down the system so we will need to improve on this)
+ $field_name = ComponentbuilderHelper::safeFieldName(ComponentbuilderHelper::getBetween(json_decode($item->xml),'name="','"'));
+ $options[] = JHtml::_('select.option', $item->id, $item->name . ' [ ' . $field_name . ' - ' . $item->type . ' ]');
+ }
+ }
+ return $options;
+ }
+ }
+ return false;
+ }
+}
diff --git a/admin/models/fields/linkedviewsorderfields.php b/admin/models/fields/linkedviewsorderfields.php
new file mode 100644
index 000000000..d9194bb41
--- /dev/null
+++ b/admin/models/fields/linkedviewsorderfields.php
@@ -0,0 +1,99 @@
+
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this file
+defined('_JEXEC') or die('Restricted access');
+
+// import the list field type
+jimport('joomla.form.helper');
+JFormHelper::loadFieldClass('list');
+
+/**
+ * Linkedviewsorderfields Form Field class for the Componentbuilder component
+ */
+class JFormFieldLinkedviewsorderfields extends JFormFieldList
+{
+ /**
+ * The linkedviewsorderfields field type.
+ *
+ * @var string
+ */
+ public $type = 'linkedviewsorderfields';
+
+ /**
+ * Method to get a list of options for a list input.
+ *
+ * @return array An array of JHtml options.
+ */
+ protected function getOptions()
+ {
+ // load the db object
+ $db = JFactory::getDBO();
+ // get the input from url
+ $jinput = JFactory::getApplication()->input;
+ // get the id
+ $adminView = $jinput->getInt('id', 0);
+ // check if we have an admin view
+ if (is_numeric($adminView) && $adminView >= 1)
+ {
+ // get all the fields linked to the admin view
+ if ($addFields = ComponentbuilderHelper::getVar('admin_fields', (int) $adminView, 'admin_view', 'addfields'))
+ {
+ if (ComponentbuilderHelper::checkJson($addFields))
+ {
+ $addFields = json_decode($addFields, true);
+ if (ComponentbuilderHelper::checkArray($addFields))
+ {
+ foreach($addFields as $addField)
+ {
+ // linked list views and ordering
+ if (isset($addField['field']) && isset($addField['list']) && ($addField['list'] == 1 || $addField['list'] == 4)
+ && isset($addField['sort']) && $addField['sort'])
+ {
+ $fieldIds[] = (int) $addField['field'];
+ }
+ }
+ }
+ }
+ }
+ // filter by fields linked
+ if (ComponentbuilderHelper::checkArray($fieldIds))
+ {
+ $query = $db->getQuery(true);
+ $query->select($db->quoteName(array('a.id','a.name', 'a.xml', 'b.name'),array('id','name', 'xml', 'type')));
+ $query->from($db->quoteName('#__componentbuilder_field', 'a'));
+ $query->join('LEFT', '#__componentbuilder_fieldtype AS b ON b.id = a.fieldtype');
+ $query->where($db->quoteName('a.published') . ' >= 1');
+ // only load these fields
+ $query->where($db->quoteName('a.id') . ' IN (' . implode(',', $fieldIds) . ')');
+ $query->order('a.name ASC');
+ $db->setQuery((string)$query);
+ $items = $db->loadObjectList();
+ $options = array();
+ if ($items)
+ {
+ $options[] = JHtml::_('select.option', '', JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_SELECT_AN_OPTION'));
+ $options[] = JHtml::_('select.option', -1, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ID'). ' [ id - text ]');
+ $options[] = JHtml::_('select.option', -2, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ORDERING'). ' [ ordering - number ]');
+ $options[] = JHtml::_('select.option', -3, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_STATUS'). ' [ published - list ]');
+ foreach($items as $item)
+ {
+ // get the field name (TODO this could slow down the system so we will need to improve on this)
+ $field_name = ComponentbuilderHelper::safeFieldName(ComponentbuilderHelper::getBetween(json_decode($item->xml),'name="','"'));
+ $options[] = JHtml::_('select.option', $item->id, $item->name . ' [ ' . $field_name . ' - ' . $item->type . ' ]');
+ }
+ }
+ return $options;
+ }
+ }
+ return false;
+ }
+}
diff --git a/admin/models/fieldtype.php b/admin/models/fieldtype.php
index bc916c4f3..c0e9c11ec 100644
--- a/admin/models/fieldtype.php
+++ b/admin/models/fieldtype.php
@@ -249,7 +249,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
*
* @return mixed An array of data items on success, false on failure.
*/
- public function getVyffields()
+ public function getVycfields()
{
// Get the user object.
$user = JFactory::getUser();
@@ -337,13 +337,13 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
foreach ($items as $nr => &$item)
{
// convert datatype
- $item->datatype = $this->selectionTranslationVyffields($item->datatype, 'datatype');
+ $item->datatype = $this->selectionTranslationVycfields($item->datatype, 'datatype');
// convert indexes
- $item->indexes = $this->selectionTranslationVyffields($item->indexes, 'indexes');
+ $item->indexes = $this->selectionTranslationVycfields($item->indexes, 'indexes');
// convert null_switch
- $item->null_switch = $this->selectionTranslationVyffields($item->null_switch, 'null_switch');
+ $item->null_switch = $this->selectionTranslationVycfields($item->null_switch, 'null_switch');
// convert store
- $item->store = $this->selectionTranslationVyffields($item->store, 'store');
+ $item->store = $this->selectionTranslationVycfields($item->store, 'store');
}
}
@@ -357,7 +357,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
*
* @return translatable string
*/
- public function selectionTranslationVyffields($value,$name)
+ public function selectionTranslationVycfields($value,$name)
{
// Array of datatype language strings
if ($name === 'datatype')
@@ -544,8 +544,8 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
}
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -728,7 +728,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1197,8 +1197,15 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "fieldtype", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('fieldtype', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "fieldtype", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/fieldtypes.php b/admin/models/fieldtypes.php
index 399098cce..d4a5615aa 100644
--- a/admin/models/fieldtypes.php
+++ b/admin/models/fieldtypes.php
@@ -235,7 +235,7 @@ class ComponentbuilderModelFieldtypes extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -253,7 +253,24 @@ class ComponentbuilderModelFieldtypes extends JModelList
// From the componentbuilder_fieldtype table
$query->from($db->quoteName('#__componentbuilder_fieldtype', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/forms/admin_custom_tabs.xml b/admin/models/forms/admin_custom_tabs.xml
index 786c03827..8153f3f82 100644
--- a/admin/models/forms/admin_custom_tabs.xml
+++ b/admin/models/forms/admin_custom_tabs.xml
@@ -103,7 +103,7 @@
type="subform"
name="tabs"
label="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_TABS_LABEL"
- layout="joomla.form.field.subform.repeatable-table"
+ layout="joomla.form.field.subform.repeatable"
multiple="true"
buttons="add,remove,move"
description="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_TABS_DESCRIPTION"
diff --git a/admin/models/forms/admin_fields.xml b/admin/models/forms/admin_fields.xml
index b94b9b6cf..29917814f 100644
--- a/admin/models/forms/admin_fields.xml
+++ b/admin/models/forms/admin_fields.xml
@@ -103,7 +103,7 @@
type="subform"
name="addfields"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADDFIELDS_LABEL"
- layout="joomla.form.field.subform.repeatable-table"
+ layout="repeatablejcb"
multiple="true"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADDFIELDS_DESCRIPTION"
default=""
diff --git a/admin/models/forms/admin_fields_conditions.xml b/admin/models/forms/admin_fields_conditions.xml
index ec148c220..1423d0631 100644
--- a/admin/models/forms/admin_fields_conditions.xml
+++ b/admin/models/forms/admin_fields_conditions.xml
@@ -103,7 +103,7 @@
type="subform"
name="addconditions"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS_LABEL"
- layout="joomla.form.field.subform.repeatable"
+ layout="repeatablejcb"
multiple="true"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS_DESCRIPTION"
default=""
diff --git a/admin/models/forms/admin_fields_relations.xml b/admin/models/forms/admin_fields_relations.xml
index 46d660b6c..6b243214e 100644
--- a/admin/models/forms/admin_fields_relations.xml
+++ b/admin/models/forms/admin_fields_relations.xml
@@ -103,7 +103,7 @@
type="subform"
name="addrelations"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADDRELATIONS_LABEL"
- layout="joomla.form.field.subform.repeatable"
+ layout="repeatablejcb"
multiple="true"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADDRELATIONS_DESCRIPTION"
default=""
diff --git a/admin/models/forms/component_admin_views.xml b/admin/models/forms/component_admin_views.xml
index 7236ff821..a7c6fd334 100644
--- a/admin/models/forms/component_admin_views.xml
+++ b/admin/models/forms/component_admin_views.xml
@@ -103,7 +103,7 @@
type="subform"
name="addadmin_views"
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS_LABEL"
- layout="joomla.form.field.subform.repeatable-table"
+ layout="repeatablejcb"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS_DESCRIPTION"
default="[{"submenu":"1","checkin":"1","history":"1","access":"1","port":"1"}]"
diff --git a/admin/models/forms/component_custom_admin_views.xml b/admin/models/forms/component_custom_admin_views.xml
index d4bb68794..720ad7f95 100644
--- a/admin/models/forms/component_custom_admin_views.xml
+++ b/admin/models/forms/component_custom_admin_views.xml
@@ -103,7 +103,7 @@
type="subform"
name="addcustom_admin_views"
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_ADDCUSTOM_ADMIN_VIEWS_LABEL"
- layout="joomla.form.field.subform.repeatable-table"
+ layout="repeatablejcb"
multiple="true"
default=""
icon="list">
diff --git a/admin/models/forms/component_site_views.xml b/admin/models/forms/component_site_views.xml
index 69519b668..86989bcc6 100644
--- a/admin/models/forms/component_site_views.xml
+++ b/admin/models/forms/component_site_views.xml
@@ -103,7 +103,7 @@
type="subform"
name="addsite_views"
label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS_LABEL"
- layout="joomla.form.field.subform.repeatable-table"
+ layout="repeatablejcb"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS_DESCRIPTION"
default=""
diff --git a/admin/models/forms/custom_code.xml b/admin/models/forms/custom_code.xml
index 2d5d35ba3..382bae82a 100644
--- a/admin/models/forms/custom_code.xml
+++ b/admin/models/forms/custom_code.xml
@@ -90,7 +90,6 @@
type="component"
name="component"
label="COM_COMPONENTBUILDER_CUSTOM_CODE_COMPONENT_LABEL"
- description="JFIELD_TITLE_DESC"
class="list_class"
multiple="false"
default="0"
diff --git a/admin/models/forms/dynamic_get.xml b/admin/models/forms/dynamic_get.xml
index 19fc6f35b..bb3090580 100644
--- a/admin/models/forms/dynamic_get.xml
+++ b/admin/models/forms/dynamic_get.xml
@@ -227,7 +227,7 @@
type="subform"
name="join_db_table"
label="COM_COMPONENTBUILDER_DYNAMIC_GET_JOIN_DB_TABLE_LABEL"
- layout="joomla.form.field.subform.repeatable-table"
+ layout="repeatablejcb"
multiple="true"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_JOIN_DB_TABLE_DESCRIPTION"
icon="list">
@@ -810,6 +810,16 @@
message="COM_COMPONENTBUILDER_DYNAMIC_GET_TABLE_KEY_MESSAGE"
hint="COM_COMPONENTBUILDER_DYNAMIC_GET_TABLE_KEY_HINT"
/>
+
+
@@ -1202,7 +1212,7 @@
type="subform"
name="join_view_table"
label="COM_COMPONENTBUILDER_DYNAMIC_GET_JOIN_VIEW_TABLE_LABEL"
- layout="joomla.form.field.subform.repeatable-table"
+ layout="repeatablejcb"
multiple="true"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_JOIN_VIEW_TABLE_DESCRIPTION"
icon="list">
diff --git a/admin/models/forms/field.js b/admin/models/forms/field.js
index 140839784..963e061c9 100644
--- a/admin/models/forms/field.js
+++ b/admin/models/forms/field.js
@@ -13,11 +13,8 @@ jform_vvvvwczvxo_required = false;
jform_vvvvwdavxp_required = false;
jform_vvvvwdbvxq_required = false;
jform_vvvvwdcvxr_required = false;
-jform_vvvvwddvxs_required = false;
-jform_vvvvwdgvxt_required = false;
-jform_vvvvwdgvxu_required = false;
-jform_vvvvwdhvxv_required = false;
-jform_vvvvwdhvxw_required = false;
+jform_vvvvwdfvxs_required = false;
+jform_vvvvwdfvxt_required = false;
// Initial Script
jQuery(document).ready(function()
@@ -34,32 +31,24 @@ jQuery(document).ready(function()
var datatype_vvvvwdc = jQuery("#jform_datatype").val();
vvvvwdc(datatype_vvvvwdc);
+ var store_vvvvwdd = jQuery("#jform_store").val();
var datatype_vvvvwdd = jQuery("#jform_datatype").val();
- vvvvwdd(datatype_vvvvwdd);
+ vvvvwdd(store_vvvvwdd,datatype_vvvvwdd);
- var store_vvvvwde = jQuery("#jform_store").val();
- var datatype_vvvvwde = jQuery("#jform_datatype").val();
- vvvvwde(store_vvvvwde,datatype_vvvvwde);
+ var store_vvvvwdf = jQuery("#jform_store").val();
+ vvvvwdf(store_vvvvwdf);
- var store_vvvvwdg = jQuery("#jform_store").val();
- var datatype_vvvvwdg = jQuery("#jform_datatype").val();
- vvvvwdg(store_vvvvwdg,datatype_vvvvwdg);
+ var add_css_view_vvvvwdg = jQuery("#jform_add_css_view input[type='radio']:checked").val();
+ vvvvwdg(add_css_view_vvvvwdg);
- var datatype_vvvvwdh = jQuery("#jform_datatype").val();
- var store_vvvvwdh = jQuery("#jform_store").val();
- vvvvwdh(datatype_vvvvwdh,store_vvvvwdh);
+ var add_css_views_vvvvwdh = jQuery("#jform_add_css_views input[type='radio']:checked").val();
+ vvvvwdh(add_css_views_vvvvwdh);
- var add_css_view_vvvvwdi = jQuery("#jform_add_css_view input[type='radio']:checked").val();
- vvvvwdi(add_css_view_vvvvwdi);
+ var add_javascript_view_footer_vvvvwdi = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
+ vvvvwdi(add_javascript_view_footer_vvvvwdi);
- var add_css_views_vvvvwdj = jQuery("#jform_add_css_views input[type='radio']:checked").val();
- vvvvwdj(add_css_views_vvvvwdj);
-
- var add_javascript_view_footer_vvvvwdk = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
- vvvvwdk(add_javascript_view_footer_vvvvwdk);
-
- var add_javascript_views_footer_vvvvwdl = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
- vvvvwdl(add_javascript_views_footer_vvvvwdl);
+ var add_javascript_views_footer_vvvvwdj = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
+ vvvvwdj(add_javascript_views_footer_vvvvwdj);
});
// the vvvvwcz function
@@ -289,8 +278,20 @@ function datatype_vvvvwdc_SomeFunc(datatype_vvvvwdc)
}
// the vvvvwdd function
-function vvvvwdd(datatype_vvvvwdd)
+function vvvvwdd(store_vvvvwdd,datatype_vvvvwdd)
{
+ if (isSet(store_vvvvwdd) && store_vvvvwdd.constructor !== Array)
+ {
+ var temp_vvvvwdd = store_vvvvwdd;
+ var store_vvvvwdd = [];
+ store_vvvvwdd.push(temp_vvvvwdd);
+ }
+ else if (!isSet(store_vvvvwdd))
+ {
+ var store_vvvvwdd = [];
+ }
+ var store = store_vvvvwdd.some(store_vvvvwdd_SomeFunc);
+
if (isSet(datatype_vvvvwdd) && datatype_vvvvwdd.constructor !== Array)
{
var temp_vvvvwdd = datatype_vvvvwdd;
@@ -305,34 +306,27 @@ function vvvvwdd(datatype_vvvvwdd)
// set this function logic
- if (datatype)
+ if (store && datatype)
{
- jQuery('#jform_store').closest('.control-group').show();
- // add required attribute to store field
- if (jform_vvvvwddvxs_required)
- {
- updateFieldRequired('store',0);
- jQuery('#jform_store').prop('required','required');
- jQuery('#jform_store').attr('aria-required',true);
- jQuery('#jform_store').addClass('required');
- jform_vvvvwddvxs_required = false;
- }
+ jQuery('.note_whmcs_encryption').closest('.control-group').show();
}
else
{
- jQuery('#jform_store').closest('.control-group').hide();
- // remove required attribute from store field
- if (!jform_vvvvwddvxs_required)
- {
- updateFieldRequired('store',1);
- jQuery('#jform_store').removeAttr('required');
- jQuery('#jform_store').removeAttr('aria-required');
- jQuery('#jform_store').removeClass('required');
- jform_vvvvwddvxs_required = true;
- }
+ jQuery('.note_whmcs_encryption').closest('.control-group').hide();
}
}
+// the vvvvwdd Some function
+function store_vvvvwdd_SomeFunc(store_vvvvwdd)
+{
+ // set the function logic
+ if (store_vvvvwdd == 4)
+ {
+ return true;
+ }
+ return false;
+}
+
// the vvvvwdd Some function
function datatype_vvvvwdd_SomeFunc(datatype_vvvvwdd)
{
@@ -344,61 +338,82 @@ function datatype_vvvvwdd_SomeFunc(datatype_vvvvwdd)
return false;
}
-// the vvvvwde function
-function vvvvwde(store_vvvvwde,datatype_vvvvwde)
+// the vvvvwdf function
+function vvvvwdf(store_vvvvwdf)
{
- if (isSet(store_vvvvwde) && store_vvvvwde.constructor !== Array)
+ if (isSet(store_vvvvwdf) && store_vvvvwdf.constructor !== Array)
{
- var temp_vvvvwde = store_vvvvwde;
- var store_vvvvwde = [];
- store_vvvvwde.push(temp_vvvvwde);
+ var temp_vvvvwdf = store_vvvvwdf;
+ var store_vvvvwdf = [];
+ store_vvvvwdf.push(temp_vvvvwdf);
}
- else if (!isSet(store_vvvvwde))
+ else if (!isSet(store_vvvvwdf))
{
- var store_vvvvwde = [];
+ var store_vvvvwdf = [];
}
- var store = store_vvvvwde.some(store_vvvvwde_SomeFunc);
-
- if (isSet(datatype_vvvvwde) && datatype_vvvvwde.constructor !== Array)
- {
- var temp_vvvvwde = datatype_vvvvwde;
- var datatype_vvvvwde = [];
- datatype_vvvvwde.push(temp_vvvvwde);
- }
- else if (!isSet(datatype_vvvvwde))
- {
- var datatype_vvvvwde = [];
- }
- var datatype = datatype_vvvvwde.some(datatype_vvvvwde_SomeFunc);
+ var store = store_vvvvwdf.some(store_vvvvwdf_SomeFunc);
// set this function logic
- if (store && datatype)
+ if (store)
{
- jQuery('.note_whmcs_encryption').closest('.control-group').show();
+ jQuery('#jform_initiator_on_get_model').closest('.control-group').show();
+ jQuery('#jform_initiator_on_save_model').closest('.control-group').show();
+ jQuery('.note_expert_field_save_mode').closest('.control-group').show();
+ jQuery('#jform_on_get_model_field').closest('.control-group').show();
+ // add required attribute to on_get_model_field field
+ if (jform_vvvvwdfvxs_required)
+ {
+ updateFieldRequired('on_get_model_field',0);
+ jQuery('#jform_on_get_model_field').prop('required','required');
+ jQuery('#jform_on_get_model_field').attr('aria-required',true);
+ jQuery('#jform_on_get_model_field').addClass('required');
+ jform_vvvvwdfvxs_required = false;
+ }
+ jQuery('#jform_on_save_model_field').closest('.control-group').show();
+ // add required attribute to on_save_model_field field
+ if (jform_vvvvwdfvxt_required)
+ {
+ updateFieldRequired('on_save_model_field',0);
+ jQuery('#jform_on_save_model_field').prop('required','required');
+ jQuery('#jform_on_save_model_field').attr('aria-required',true);
+ jQuery('#jform_on_save_model_field').addClass('required');
+ jform_vvvvwdfvxt_required = false;
+ }
}
else
{
- jQuery('.note_whmcs_encryption').closest('.control-group').hide();
+ jQuery('#jform_initiator_on_get_model').closest('.control-group').hide();
+ jQuery('#jform_initiator_on_save_model').closest('.control-group').hide();
+ jQuery('.note_expert_field_save_mode').closest('.control-group').hide();
+ jQuery('#jform_on_get_model_field').closest('.control-group').hide();
+ // remove required attribute from on_get_model_field field
+ if (!jform_vvvvwdfvxs_required)
+ {
+ updateFieldRequired('on_get_model_field',1);
+ jQuery('#jform_on_get_model_field').removeAttr('required');
+ jQuery('#jform_on_get_model_field').removeAttr('aria-required');
+ jQuery('#jform_on_get_model_field').removeClass('required');
+ jform_vvvvwdfvxs_required = true;
+ }
+ jQuery('#jform_on_save_model_field').closest('.control-group').hide();
+ // remove required attribute from on_save_model_field field
+ if (!jform_vvvvwdfvxt_required)
+ {
+ updateFieldRequired('on_save_model_field',1);
+ jQuery('#jform_on_save_model_field').removeAttr('required');
+ jQuery('#jform_on_save_model_field').removeAttr('aria-required');
+ jQuery('#jform_on_save_model_field').removeClass('required');
+ jform_vvvvwdfvxt_required = true;
+ }
}
}
-// the vvvvwde Some function
-function store_vvvvwde_SomeFunc(store_vvvvwde)
+// the vvvvwdf Some function
+function store_vvvvwdf_SomeFunc(store_vvvvwdf)
{
// set the function logic
- if (store_vvvvwde == 4)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwde Some function
-function datatype_vvvvwde_SomeFunc(datatype_vvvvwde)
-{
- // set the function logic
- if (datatype_vvvvwde == 'CHAR' || datatype_vvvvwde == 'VARCHAR' || datatype_vvvvwde == 'TEXT' || datatype_vvvvwde == 'MEDIUMTEXT' || datatype_vvvvwde == 'LONGTEXT' || datatype_vvvvwde == 'BLOB' || datatype_vvvvwde == 'TINYBLOB' || datatype_vvvvwde == 'MEDIUMBLOB' || datatype_vvvvwde == 'LONGBLOB')
+ if (store_vvvvwdf == 6)
{
return true;
}
@@ -406,220 +421,10 @@ function datatype_vvvvwde_SomeFunc(datatype_vvvvwde)
}
// the vvvvwdg function
-function vvvvwdg(store_vvvvwdg,datatype_vvvvwdg)
-{
- if (isSet(store_vvvvwdg) && store_vvvvwdg.constructor !== Array)
- {
- var temp_vvvvwdg = store_vvvvwdg;
- var store_vvvvwdg = [];
- store_vvvvwdg.push(temp_vvvvwdg);
- }
- else if (!isSet(store_vvvvwdg))
- {
- var store_vvvvwdg = [];
- }
- var store = store_vvvvwdg.some(store_vvvvwdg_SomeFunc);
-
- if (isSet(datatype_vvvvwdg) && datatype_vvvvwdg.constructor !== Array)
- {
- var temp_vvvvwdg = datatype_vvvvwdg;
- var datatype_vvvvwdg = [];
- datatype_vvvvwdg.push(temp_vvvvwdg);
- }
- else if (!isSet(datatype_vvvvwdg))
- {
- var datatype_vvvvwdg = [];
- }
- var datatype = datatype_vvvvwdg.some(datatype_vvvvwdg_SomeFunc);
-
-
- // set this function logic
- if (store && datatype)
- {
- jQuery('#jform_initiator_on_get_model').closest('.control-group').show();
- jQuery('#jform_initiator_on_save_model').closest('.control-group').show();
- jQuery('#jform_on_save_model_field').closest('.control-group').show();
- // add required attribute to on_save_model_field field
- if (jform_vvvvwdgvxt_required)
- {
- updateFieldRequired('on_save_model_field',0);
- jQuery('#jform_on_save_model_field').prop('required','required');
- jQuery('#jform_on_save_model_field').attr('aria-required',true);
- jQuery('#jform_on_save_model_field').addClass('required');
- jform_vvvvwdgvxt_required = false;
- }
- jQuery('.note_expert_field_save_mode').closest('.control-group').show();
- jQuery('#jform_on_get_model_field').closest('.control-group').show();
- // add required attribute to on_get_model_field field
- if (jform_vvvvwdgvxu_required)
- {
- updateFieldRequired('on_get_model_field',0);
- jQuery('#jform_on_get_model_field').prop('required','required');
- jQuery('#jform_on_get_model_field').attr('aria-required',true);
- jQuery('#jform_on_get_model_field').addClass('required');
- jform_vvvvwdgvxu_required = false;
- }
- }
- else
- {
- jQuery('#jform_initiator_on_get_model').closest('.control-group').hide();
- jQuery('#jform_initiator_on_save_model').closest('.control-group').hide();
- jQuery('#jform_on_save_model_field').closest('.control-group').hide();
- // remove required attribute from on_save_model_field field
- if (!jform_vvvvwdgvxt_required)
- {
- updateFieldRequired('on_save_model_field',1);
- jQuery('#jform_on_save_model_field').removeAttr('required');
- jQuery('#jform_on_save_model_field').removeAttr('aria-required');
- jQuery('#jform_on_save_model_field').removeClass('required');
- jform_vvvvwdgvxt_required = true;
- }
- jQuery('.note_expert_field_save_mode').closest('.control-group').hide();
- jQuery('#jform_on_get_model_field').closest('.control-group').hide();
- // remove required attribute from on_get_model_field field
- if (!jform_vvvvwdgvxu_required)
- {
- updateFieldRequired('on_get_model_field',1);
- jQuery('#jform_on_get_model_field').removeAttr('required');
- jQuery('#jform_on_get_model_field').removeAttr('aria-required');
- jQuery('#jform_on_get_model_field').removeClass('required');
- jform_vvvvwdgvxu_required = true;
- }
- }
-}
-
-// the vvvvwdg Some function
-function store_vvvvwdg_SomeFunc(store_vvvvwdg)
+function vvvvwdg(add_css_view_vvvvwdg)
{
// set the function logic
- if (store_vvvvwdg == 6)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdg Some function
-function datatype_vvvvwdg_SomeFunc(datatype_vvvvwdg)
-{
- // set the function logic
- if (datatype_vvvvwdg == 'CHAR' || datatype_vvvvwdg == 'VARCHAR' || datatype_vvvvwdg == 'TEXT' || datatype_vvvvwdg == 'MEDIUMTEXT' || datatype_vvvvwdg == 'LONGTEXT' || datatype_vvvvwdg == 'BLOB' || datatype_vvvvwdg == 'TINYBLOB' || datatype_vvvvwdg == 'MEDIUMBLOB' || datatype_vvvvwdg == 'LONGBLOB')
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdh function
-function vvvvwdh(datatype_vvvvwdh,store_vvvvwdh)
-{
- if (isSet(datatype_vvvvwdh) && datatype_vvvvwdh.constructor !== Array)
- {
- var temp_vvvvwdh = datatype_vvvvwdh;
- var datatype_vvvvwdh = [];
- datatype_vvvvwdh.push(temp_vvvvwdh);
- }
- else if (!isSet(datatype_vvvvwdh))
- {
- var datatype_vvvvwdh = [];
- }
- var datatype = datatype_vvvvwdh.some(datatype_vvvvwdh_SomeFunc);
-
- if (isSet(store_vvvvwdh) && store_vvvvwdh.constructor !== Array)
- {
- var temp_vvvvwdh = store_vvvvwdh;
- var store_vvvvwdh = [];
- store_vvvvwdh.push(temp_vvvvwdh);
- }
- else if (!isSet(store_vvvvwdh))
- {
- var store_vvvvwdh = [];
- }
- var store = store_vvvvwdh.some(store_vvvvwdh_SomeFunc);
-
-
- // set this function logic
- if (datatype && store)
- {
- jQuery('#jform_initiator_on_get_model').closest('.control-group').show();
- jQuery('#jform_initiator_on_save_model').closest('.control-group').show();
- jQuery('#jform_on_save_model_field').closest('.control-group').show();
- // add required attribute to on_save_model_field field
- if (jform_vvvvwdhvxv_required)
- {
- updateFieldRequired('on_save_model_field',0);
- jQuery('#jform_on_save_model_field').prop('required','required');
- jQuery('#jform_on_save_model_field').attr('aria-required',true);
- jQuery('#jform_on_save_model_field').addClass('required');
- jform_vvvvwdhvxv_required = false;
- }
- jQuery('.note_expert_field_save_mode').closest('.control-group').show();
- jQuery('#jform_on_get_model_field').closest('.control-group').show();
- // add required attribute to on_get_model_field field
- if (jform_vvvvwdhvxw_required)
- {
- updateFieldRequired('on_get_model_field',0);
- jQuery('#jform_on_get_model_field').prop('required','required');
- jQuery('#jform_on_get_model_field').attr('aria-required',true);
- jQuery('#jform_on_get_model_field').addClass('required');
- jform_vvvvwdhvxw_required = false;
- }
- }
- else
- {
- jQuery('#jform_initiator_on_get_model').closest('.control-group').hide();
- jQuery('#jform_initiator_on_save_model').closest('.control-group').hide();
- jQuery('#jform_on_save_model_field').closest('.control-group').hide();
- // remove required attribute from on_save_model_field field
- if (!jform_vvvvwdhvxv_required)
- {
- updateFieldRequired('on_save_model_field',1);
- jQuery('#jform_on_save_model_field').removeAttr('required');
- jQuery('#jform_on_save_model_field').removeAttr('aria-required');
- jQuery('#jform_on_save_model_field').removeClass('required');
- jform_vvvvwdhvxv_required = true;
- }
- jQuery('.note_expert_field_save_mode').closest('.control-group').hide();
- jQuery('#jform_on_get_model_field').closest('.control-group').hide();
- // remove required attribute from on_get_model_field field
- if (!jform_vvvvwdhvxw_required)
- {
- updateFieldRequired('on_get_model_field',1);
- jQuery('#jform_on_get_model_field').removeAttr('required');
- jQuery('#jform_on_get_model_field').removeAttr('aria-required');
- jQuery('#jform_on_get_model_field').removeClass('required');
- jform_vvvvwdhvxw_required = true;
- }
- }
-}
-
-// the vvvvwdh Some function
-function datatype_vvvvwdh_SomeFunc(datatype_vvvvwdh)
-{
- // set the function logic
- if (datatype_vvvvwdh == 'CHAR' || datatype_vvvvwdh == 'VARCHAR' || datatype_vvvvwdh == 'TEXT' || datatype_vvvvwdh == 'MEDIUMTEXT' || datatype_vvvvwdh == 'LONGTEXT' || datatype_vvvvwdh == 'BLOB' || datatype_vvvvwdh == 'TINYBLOB' || datatype_vvvvwdh == 'MEDIUMBLOB' || datatype_vvvvwdh == 'LONGBLOB')
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdh Some function
-function store_vvvvwdh_SomeFunc(store_vvvvwdh)
-{
- // set the function logic
- if (store_vvvvwdh == 6)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdi function
-function vvvvwdi(add_css_view_vvvvwdi)
-{
- // set the function logic
- if (add_css_view_vvvvwdi == 1)
+ if (add_css_view_vvvvwdg == 1)
{
jQuery('#jform_css_view-lbl').closest('.control-group').show();
}
@@ -629,11 +434,11 @@ function vvvvwdi(add_css_view_vvvvwdi)
}
}
-// the vvvvwdj function
-function vvvvwdj(add_css_views_vvvvwdj)
+// the vvvvwdh function
+function vvvvwdh(add_css_views_vvvvwdh)
{
// set the function logic
- if (add_css_views_vvvvwdj == 1)
+ if (add_css_views_vvvvwdh == 1)
{
jQuery('#jform_css_views-lbl').closest('.control-group').show();
}
@@ -643,11 +448,11 @@ function vvvvwdj(add_css_views_vvvvwdj)
}
}
-// the vvvvwdk function
-function vvvvwdk(add_javascript_view_footer_vvvvwdk)
+// the vvvvwdi function
+function vvvvwdi(add_javascript_view_footer_vvvvwdi)
{
// set the function logic
- if (add_javascript_view_footer_vvvvwdk == 1)
+ if (add_javascript_view_footer_vvvvwdi == 1)
{
jQuery('#jform_javascript_view_footer-lbl').closest('.control-group').show();
}
@@ -657,11 +462,11 @@ function vvvvwdk(add_javascript_view_footer_vvvvwdk)
}
}
-// the vvvvwdl function
-function vvvvwdl(add_javascript_views_footer_vvvvwdl)
+// the vvvvwdj function
+function vvvvwdj(add_javascript_views_footer_vvvvwdj)
{
// set the function logic
- if (add_javascript_views_footer_vvvvwdl == 1)
+ if (add_javascript_views_footer_vvvvwdj == 1)
{
jQuery('#jform_javascript_views_footer-lbl').closest('.control-group').show();
}
diff --git a/admin/models/forms/field.xml b/admin/models/forms/field.xml
index 2f3a39fea..211698f6d 100644
--- a/admin/models/forms/field.xml
+++ b/admin/models/forms/field.xml
@@ -227,8 +227,7 @@
type="category"
name="catid"
label="COM_COMPONENTBUILDER_FIELD_CATID_LABEL"
- extension="com_componentbuilder.fields"
- default=""
+ extension="com_componentbuilder.field"
description="COM_COMPONENTBUILDER_FIELD_CATID_DESCRIPTION"
class="inputbox"
/>
diff --git a/admin/models/forms/fieldtype.js b/admin/models/forms/fieldtype.js
index 7db12fdef..e4c46f1d3 100644
--- a/admin/models/forms/fieldtype.js
+++ b/admin/models/forms/fieldtype.js
@@ -9,75 +9,154 @@
*/
// Some Global Values
-jform_vvvvwdmvxx_required = false;
-jform_vvvvwdovxy_required = false;
-jform_vvvvwdqvxz_required = false;
-jform_vvvvwdsvya_required = false;
-jform_vvvvwdtvyb_required = false;
-jform_vvvvwduvyc_required = false;
-jform_vvvvwdzvyd_required = false;
-jform_vvvvwdzvye_required = false;
+jform_vvvvwdkvxu_required = false;
+jform_vvvvwdmvxv_required = false;
+jform_vvvvwdovxw_required = false;
+jform_vvvvwdqvxx_required = false;
+jform_vvvvwdrvxy_required = false;
+jform_vvvvwdsvxz_required = false;
+jform_vvvvwdxvya_required = false;
+jform_vvvvwdxvyb_required = false;
// Initial Script
jQuery(document).ready(function()
{
- var datalenght_vvvvwdm = jQuery("#jform_datalenght").val();
- var has_defaults_vvvvwdm = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- vvvvwdm(datalenght_vvvvwdm,has_defaults_vvvvwdm);
+ var datalenght_vvvvwdk = jQuery("#jform_datalenght").val();
+ var has_defaults_vvvvwdk = jQuery("#jform_has_defaults input[type='radio']:checked").val();
+ vvvvwdk(datalenght_vvvvwdk,has_defaults_vvvvwdk);
- var datadefault_vvvvwdo = jQuery("#jform_datadefault").val();
+ var datadefault_vvvvwdm = jQuery("#jform_datadefault").val();
+ var has_defaults_vvvvwdm = jQuery("#jform_has_defaults input[type='radio']:checked").val();
+ vvvvwdm(datadefault_vvvvwdm,has_defaults_vvvvwdm);
+
+ var datatype_vvvvwdo = jQuery("#jform_datatype").val();
var has_defaults_vvvvwdo = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- vvvvwdo(datadefault_vvvvwdo,has_defaults_vvvvwdo);
+ vvvvwdo(datatype_vvvvwdo,has_defaults_vvvvwdo);
var datatype_vvvvwdq = jQuery("#jform_datatype").val();
var has_defaults_vvvvwdq = jQuery("#jform_has_defaults input[type='radio']:checked").val();
vvvvwdq(datatype_vvvvwdq,has_defaults_vvvvwdq);
+ var has_defaults_vvvvwdr = jQuery("#jform_has_defaults input[type='radio']:checked").val();
+ var datatype_vvvvwdr = jQuery("#jform_datatype").val();
+ vvvvwdr(has_defaults_vvvvwdr,datatype_vvvvwdr);
+
var datatype_vvvvwds = jQuery("#jform_datatype").val();
var has_defaults_vvvvwds = jQuery("#jform_has_defaults input[type='radio']:checked").val();
vvvvwds(datatype_vvvvwds,has_defaults_vvvvwds);
- var has_defaults_vvvvwdt = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- var datatype_vvvvwdt = jQuery("#jform_datatype").val();
- vvvvwdt(has_defaults_vvvvwdt,datatype_vvvvwdt);
-
+ var store_vvvvwdu = jQuery("#jform_store").val();
var datatype_vvvvwdu = jQuery("#jform_datatype").val();
var has_defaults_vvvvwdu = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- vvvvwdu(datatype_vvvvwdu,has_defaults_vvvvwdu);
+ vvvvwdu(store_vvvvwdu,datatype_vvvvwdu,has_defaults_vvvvwdu);
+ var datatype_vvvvwdv = jQuery("#jform_datatype").val();
+ var store_vvvvwdv = jQuery("#jform_store").val();
+ var has_defaults_vvvvwdv = jQuery("#jform_has_defaults input[type='radio']:checked").val();
+ vvvvwdv(datatype_vvvvwdv,store_vvvvwdv,has_defaults_vvvvwdv);
+
+ var has_defaults_vvvvwdw = jQuery("#jform_has_defaults input[type='radio']:checked").val();
var store_vvvvwdw = jQuery("#jform_store").val();
var datatype_vvvvwdw = jQuery("#jform_datatype").val();
- var has_defaults_vvvvwdw = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- vvvvwdw(store_vvvvwdw,datatype_vvvvwdw,has_defaults_vvvvwdw);
+ vvvvwdw(has_defaults_vvvvwdw,store_vvvvwdw,datatype_vvvvwdw);
- var datatype_vvvvwdx = jQuery("#jform_datatype").val();
- var store_vvvvwdx = jQuery("#jform_store").val();
var has_defaults_vvvvwdx = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- vvvvwdx(datatype_vvvvwdx,store_vvvvwdx,has_defaults_vvvvwdx);
-
- var has_defaults_vvvvwdy = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- var store_vvvvwdy = jQuery("#jform_store").val();
- var datatype_vvvvwdy = jQuery("#jform_datatype").val();
- vvvvwdy(has_defaults_vvvvwdy,store_vvvvwdy,datatype_vvvvwdy);
-
- var has_defaults_vvvvwdz = jQuery("#jform_has_defaults input[type='radio']:checked").val();
- vvvvwdz(has_defaults_vvvvwdz);
+ vvvvwdx(has_defaults_vvvvwdx);
});
-// the vvvvwdm function
-function vvvvwdm(datalenght_vvvvwdm,has_defaults_vvvvwdm)
+// the vvvvwdk function
+function vvvvwdk(datalenght_vvvvwdk,has_defaults_vvvvwdk)
{
- if (isSet(datalenght_vvvvwdm) && datalenght_vvvvwdm.constructor !== Array)
+ if (isSet(datalenght_vvvvwdk) && datalenght_vvvvwdk.constructor !== Array)
{
- var temp_vvvvwdm = datalenght_vvvvwdm;
- var datalenght_vvvvwdm = [];
- datalenght_vvvvwdm.push(temp_vvvvwdm);
+ var temp_vvvvwdk = datalenght_vvvvwdk;
+ var datalenght_vvvvwdk = [];
+ datalenght_vvvvwdk.push(temp_vvvvwdk);
}
- else if (!isSet(datalenght_vvvvwdm))
+ else if (!isSet(datalenght_vvvvwdk))
{
- var datalenght_vvvvwdm = [];
+ var datalenght_vvvvwdk = [];
}
- var datalenght = datalenght_vvvvwdm.some(datalenght_vvvvwdm_SomeFunc);
+ var datalenght = datalenght_vvvvwdk.some(datalenght_vvvvwdk_SomeFunc);
+
+ if (isSet(has_defaults_vvvvwdk) && has_defaults_vvvvwdk.constructor !== Array)
+ {
+ var temp_vvvvwdk = has_defaults_vvvvwdk;
+ var has_defaults_vvvvwdk = [];
+ has_defaults_vvvvwdk.push(temp_vvvvwdk);
+ }
+ else if (!isSet(has_defaults_vvvvwdk))
+ {
+ var has_defaults_vvvvwdk = [];
+ }
+ var has_defaults = has_defaults_vvvvwdk.some(has_defaults_vvvvwdk_SomeFunc);
+
+
+ // set this function logic
+ if (datalenght && has_defaults)
+ {
+ jQuery('#jform_datalenght_other').closest('.control-group').show();
+ // add required attribute to datalenght_other field
+ if (jform_vvvvwdkvxu_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_vvvvwdkvxu_required = false;
+ }
+ }
+ else
+ {
+ jQuery('#jform_datalenght_other').closest('.control-group').hide();
+ // remove required attribute from datalenght_other field
+ if (!jform_vvvvwdkvxu_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_vvvvwdkvxu_required = true;
+ }
+ }
+}
+
+// the vvvvwdk Some function
+function datalenght_vvvvwdk_SomeFunc(datalenght_vvvvwdk)
+{
+ // set the function logic
+ if (datalenght_vvvvwdk == 'Other')
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwdk Some function
+function has_defaults_vvvvwdk_SomeFunc(has_defaults_vvvvwdk)
+{
+ // set the function logic
+ if (has_defaults_vvvvwdk == 1)
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwdm function
+function vvvvwdm(datadefault_vvvvwdm,has_defaults_vvvvwdm)
+{
+ if (isSet(datadefault_vvvvwdm) && datadefault_vvvvwdm.constructor !== Array)
+ {
+ var temp_vvvvwdm = datadefault_vvvvwdm;
+ var datadefault_vvvvwdm = [];
+ datadefault_vvvvwdm.push(temp_vvvvwdm);
+ }
+ else if (!isSet(datadefault_vvvvwdm))
+ {
+ var datadefault_vvvvwdm = [];
+ }
+ var datadefault = datadefault_vvvvwdm.some(datadefault_vvvvwdm_SomeFunc);
if (isSet(has_defaults_vvvvwdm) && has_defaults_vvvvwdm.constructor !== Array)
{
@@ -93,39 +172,39 @@ function vvvvwdm(datalenght_vvvvwdm,has_defaults_vvvvwdm)
// set this function logic
- if (datalenght && has_defaults)
+ if (datadefault && has_defaults)
{
- jQuery('#jform_datalenght_other').closest('.control-group').show();
- // add required attribute to datalenght_other field
- if (jform_vvvvwdmvxx_required)
+ jQuery('#jform_datadefault_other').closest('.control-group').show();
+ // add required attribute to datadefault_other field
+ if (jform_vvvvwdmvxv_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_vvvvwdmvxx_required = false;
+ 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_vvvvwdmvxv_required = false;
}
}
else
{
- jQuery('#jform_datalenght_other').closest('.control-group').hide();
- // remove required attribute from datalenght_other field
- if (!jform_vvvvwdmvxx_required)
+ jQuery('#jform_datadefault_other').closest('.control-group').hide();
+ // remove required attribute from datadefault_other field
+ if (!jform_vvvvwdmvxv_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_vvvvwdmvxx_required = true;
+ updateFieldRequired('datadefault_other',1);
+ jQuery('#jform_datadefault_other').removeAttr('required');
+ jQuery('#jform_datadefault_other').removeAttr('aria-required');
+ jQuery('#jform_datadefault_other').removeClass('required');
+ jform_vvvvwdmvxv_required = true;
}
}
}
// the vvvvwdm Some function
-function datalenght_vvvvwdm_SomeFunc(datalenght_vvvvwdm)
+function datadefault_vvvvwdm_SomeFunc(datadefault_vvvvwdm)
{
// set the function logic
- if (datalenght_vvvvwdm == 'Other')
+ if (datadefault_vvvvwdm == 'Other')
{
return true;
}
@@ -144,19 +223,19 @@ function has_defaults_vvvvwdm_SomeFunc(has_defaults_vvvvwdm)
}
// the vvvvwdo function
-function vvvvwdo(datadefault_vvvvwdo,has_defaults_vvvvwdo)
+function vvvvwdo(datatype_vvvvwdo,has_defaults_vvvvwdo)
{
- if (isSet(datadefault_vvvvwdo) && datadefault_vvvvwdo.constructor !== Array)
+ if (isSet(datatype_vvvvwdo) && datatype_vvvvwdo.constructor !== Array)
{
- var temp_vvvvwdo = datadefault_vvvvwdo;
- var datadefault_vvvvwdo = [];
- datadefault_vvvvwdo.push(temp_vvvvwdo);
+ var temp_vvvvwdo = datatype_vvvvwdo;
+ var datatype_vvvvwdo = [];
+ datatype_vvvvwdo.push(temp_vvvvwdo);
}
- else if (!isSet(datadefault_vvvvwdo))
+ else if (!isSet(datatype_vvvvwdo))
{
- var datadefault_vvvvwdo = [];
+ var datatype_vvvvwdo = [];
}
- var datadefault = datadefault_vvvvwdo.some(datadefault_vvvvwdo_SomeFunc);
+ var datatype = datatype_vvvvwdo.some(datatype_vvvvwdo_SomeFunc);
if (isSet(has_defaults_vvvvwdo) && has_defaults_vvvvwdo.constructor !== Array)
{
@@ -172,39 +251,39 @@ function vvvvwdo(datadefault_vvvvwdo,has_defaults_vvvvwdo)
// set this function logic
- if (datadefault && has_defaults)
+ if (datatype && has_defaults)
{
- jQuery('#jform_datadefault_other').closest('.control-group').show();
- // add required attribute to datadefault_other field
- if (jform_vvvvwdovxy_required)
+ jQuery('#jform_datalenght').closest('.control-group').show();
+ // add required attribute to datalenght field
+ if (jform_vvvvwdovxw_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_vvvvwdovxy_required = false;
+ updateFieldRequired('datalenght',0);
+ jQuery('#jform_datalenght').prop('required','required');
+ jQuery('#jform_datalenght').attr('aria-required',true);
+ jQuery('#jform_datalenght').addClass('required');
+ jform_vvvvwdovxw_required = false;
}
}
else
{
- jQuery('#jform_datadefault_other').closest('.control-group').hide();
- // remove required attribute from datadefault_other field
- if (!jform_vvvvwdovxy_required)
+ jQuery('#jform_datalenght').closest('.control-group').hide();
+ // remove required attribute from datalenght field
+ if (!jform_vvvvwdovxw_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_vvvvwdovxy_required = true;
+ updateFieldRequired('datalenght',1);
+ jQuery('#jform_datalenght').removeAttr('required');
+ jQuery('#jform_datalenght').removeAttr('aria-required');
+ jQuery('#jform_datalenght').removeClass('required');
+ jform_vvvvwdovxw_required = true;
}
}
}
// the vvvvwdo Some function
-function datadefault_vvvvwdo_SomeFunc(datadefault_vvvvwdo)
+function datatype_vvvvwdo_SomeFunc(datatype_vvvvwdo)
{
// set the function logic
- if (datadefault_vvvvwdo == 'Other')
+ if (datatype_vvvvwdo == 'CHAR' || datatype_vvvvwdo == 'VARCHAR' || datatype_vvvvwdo == 'INT' || datatype_vvvvwdo == 'TINYINT' || datatype_vvvvwdo == 'BIGINT' || datatype_vvvvwdo == 'FLOAT' || datatype_vvvvwdo == 'DECIMAL' || datatype_vvvvwdo == 'DOUBLE')
{
return true;
}
@@ -253,28 +332,30 @@ function vvvvwdq(datatype_vvvvwdq,has_defaults_vvvvwdq)
// set this function logic
if (datatype && has_defaults)
{
- jQuery('#jform_datalenght').closest('.control-group').show();
- // add required attribute to datalenght field
- if (jform_vvvvwdqvxz_required)
+ jQuery('#jform_datadefault').closest('.control-group').show();
+ jQuery('#jform_indexes').closest('.control-group').show();
+ // add required attribute to indexes field
+ if (jform_vvvvwdqvxx_required)
{
- updateFieldRequired('datalenght',0);
- jQuery('#jform_datalenght').prop('required','required');
- jQuery('#jform_datalenght').attr('aria-required',true);
- jQuery('#jform_datalenght').addClass('required');
- jform_vvvvwdqvxz_required = false;
+ updateFieldRequired('indexes',0);
+ jQuery('#jform_indexes').prop('required','required');
+ jQuery('#jform_indexes').attr('aria-required',true);
+ jQuery('#jform_indexes').addClass('required');
+ jform_vvvvwdqvxx_required = false;
}
}
else
{
- jQuery('#jform_datalenght').closest('.control-group').hide();
- // remove required attribute from datalenght field
- if (!jform_vvvvwdqvxz_required)
+ jQuery('#jform_datadefault').closest('.control-group').hide();
+ jQuery('#jform_indexes').closest('.control-group').hide();
+ // remove required attribute from indexes field
+ if (!jform_vvvvwdqvxx_required)
{
- updateFieldRequired('datalenght',1);
- jQuery('#jform_datalenght').removeAttr('required');
- jQuery('#jform_datalenght').removeAttr('aria-required');
- jQuery('#jform_datalenght').removeClass('required');
- jform_vvvvwdqvxz_required = true;
+ updateFieldRequired('indexes',1);
+ jQuery('#jform_indexes').removeAttr('required');
+ jQuery('#jform_indexes').removeAttr('aria-required');
+ jQuery('#jform_indexes').removeClass('required');
+ jform_vvvvwdqvxx_required = true;
}
}
}
@@ -283,7 +364,7 @@ function vvvvwdq(datatype_vvvvwdq,has_defaults_vvvvwdq)
function datatype_vvvvwdq_SomeFunc(datatype_vvvvwdq)
{
// set the function logic
- if (datatype_vvvvwdq == 'CHAR' || datatype_vvvvwdq == 'VARCHAR' || datatype_vvvvwdq == 'INT' || datatype_vvvvwdq == 'TINYINT' || datatype_vvvvwdq == 'BIGINT' || datatype_vvvvwdq == 'FLOAT' || datatype_vvvvwdq == 'DECIMAL' || datatype_vvvvwdq == 'DOUBLE')
+ if (datatype_vvvvwdq == 'CHAR' || datatype_vvvvwdq == 'VARCHAR' || datatype_vvvvwdq == 'DATETIME' || datatype_vvvvwdq == 'DATE' || datatype_vvvvwdq == 'TIME' || datatype_vvvvwdq == 'INT' || datatype_vvvvwdq == 'TINYINT' || datatype_vvvvwdq == 'BIGINT' || datatype_vvvvwdq == 'FLOAT' || datatype_vvvvwdq == 'DECIMAL' || datatype_vvvvwdq == 'DOUBLE')
{
return true;
}
@@ -301,6 +382,87 @@ function has_defaults_vvvvwdq_SomeFunc(has_defaults_vvvvwdq)
return false;
}
+// the vvvvwdr function
+function vvvvwdr(has_defaults_vvvvwdr,datatype_vvvvwdr)
+{
+ if (isSet(has_defaults_vvvvwdr) && has_defaults_vvvvwdr.constructor !== Array)
+ {
+ var temp_vvvvwdr = has_defaults_vvvvwdr;
+ var has_defaults_vvvvwdr = [];
+ has_defaults_vvvvwdr.push(temp_vvvvwdr);
+ }
+ else if (!isSet(has_defaults_vvvvwdr))
+ {
+ var has_defaults_vvvvwdr = [];
+ }
+ var has_defaults = has_defaults_vvvvwdr.some(has_defaults_vvvvwdr_SomeFunc);
+
+ if (isSet(datatype_vvvvwdr) && datatype_vvvvwdr.constructor !== Array)
+ {
+ var temp_vvvvwdr = datatype_vvvvwdr;
+ var datatype_vvvvwdr = [];
+ datatype_vvvvwdr.push(temp_vvvvwdr);
+ }
+ else if (!isSet(datatype_vvvvwdr))
+ {
+ var datatype_vvvvwdr = [];
+ }
+ var datatype = datatype_vvvvwdr.some(datatype_vvvvwdr_SomeFunc);
+
+
+ // set this function logic
+ if (has_defaults && datatype)
+ {
+ jQuery('#jform_datadefault').closest('.control-group').show();
+ jQuery('#jform_indexes').closest('.control-group').show();
+ // add required attribute to indexes field
+ if (jform_vvvvwdrvxy_required)
+ {
+ updateFieldRequired('indexes',0);
+ jQuery('#jform_indexes').prop('required','required');
+ jQuery('#jform_indexes').attr('aria-required',true);
+ jQuery('#jform_indexes').addClass('required');
+ jform_vvvvwdrvxy_required = false;
+ }
+ }
+ else
+ {
+ jQuery('#jform_datadefault').closest('.control-group').hide();
+ jQuery('#jform_indexes').closest('.control-group').hide();
+ // remove required attribute from indexes field
+ if (!jform_vvvvwdrvxy_required)
+ {
+ updateFieldRequired('indexes',1);
+ jQuery('#jform_indexes').removeAttr('required');
+ jQuery('#jform_indexes').removeAttr('aria-required');
+ jQuery('#jform_indexes').removeClass('required');
+ jform_vvvvwdrvxy_required = true;
+ }
+ }
+}
+
+// the vvvvwdr Some function
+function has_defaults_vvvvwdr_SomeFunc(has_defaults_vvvvwdr)
+{
+ // set the function logic
+ if (has_defaults_vvvvwdr == 1)
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwdr Some function
+function datatype_vvvvwdr_SomeFunc(datatype_vvvvwdr)
+{
+ // set the function logic
+ if (datatype_vvvvwdr == 'CHAR' || datatype_vvvvwdr == 'VARCHAR' || datatype_vvvvwdr == 'DATETIME' || datatype_vvvvwdr == 'DATE' || datatype_vvvvwdr == 'TIME' || datatype_vvvvwdr == 'INT' || datatype_vvvvwdr == 'TINYINT' || datatype_vvvvwdr == 'BIGINT' || datatype_vvvvwdr == 'FLOAT' || datatype_vvvvwdr == 'DECIMAL' || datatype_vvvvwdr == 'DOUBLE')
+ {
+ return true;
+ }
+ return false;
+}
+
// the vvvvwds function
function vvvvwds(datatype_vvvvwds,has_defaults_vvvvwds)
{
@@ -332,30 +494,28 @@ function vvvvwds(datatype_vvvvwds,has_defaults_vvvvwds)
// set this function logic
if (datatype && has_defaults)
{
- jQuery('#jform_datadefault').closest('.control-group').show();
- jQuery('#jform_indexes').closest('.control-group').show();
- // add required attribute to indexes field
- if (jform_vvvvwdsvya_required)
+ jQuery('#jform_store').closest('.control-group').show();
+ // add required attribute to store field
+ if (jform_vvvvwdsvxz_required)
{
- updateFieldRequired('indexes',0);
- jQuery('#jform_indexes').prop('required','required');
- jQuery('#jform_indexes').attr('aria-required',true);
- jQuery('#jform_indexes').addClass('required');
- jform_vvvvwdsvya_required = false;
+ updateFieldRequired('store',0);
+ jQuery('#jform_store').prop('required','required');
+ jQuery('#jform_store').attr('aria-required',true);
+ jQuery('#jform_store').addClass('required');
+ jform_vvvvwdsvxz_required = false;
}
}
else
{
- jQuery('#jform_datadefault').closest('.control-group').hide();
- jQuery('#jform_indexes').closest('.control-group').hide();
- // remove required attribute from indexes field
- if (!jform_vvvvwdsvya_required)
+ jQuery('#jform_store').closest('.control-group').hide();
+ // remove required attribute from store field
+ if (!jform_vvvvwdsvxz_required)
{
- updateFieldRequired('indexes',1);
- jQuery('#jform_indexes').removeAttr('required');
- jQuery('#jform_indexes').removeAttr('aria-required');
- jQuery('#jform_indexes').removeClass('required');
- jform_vvvvwdsvya_required = true;
+ updateFieldRequired('store',1);
+ jQuery('#jform_store').removeAttr('required');
+ jQuery('#jform_store').removeAttr('aria-required');
+ jQuery('#jform_store').removeClass('required');
+ jform_vvvvwdsvxz_required = true;
}
}
}
@@ -364,7 +524,7 @@ function vvvvwds(datatype_vvvvwds,has_defaults_vvvvwds)
function datatype_vvvvwds_SomeFunc(datatype_vvvvwds)
{
// set the function logic
- if (datatype_vvvvwds == 'CHAR' || datatype_vvvvwds == 'VARCHAR' || datatype_vvvvwds == 'DATETIME' || datatype_vvvvwds == 'DATE' || datatype_vvvvwds == 'TIME' || datatype_vvvvwds == 'INT' || datatype_vvvvwds == 'TINYINT' || datatype_vvvvwds == 'BIGINT' || datatype_vvvvwds == 'FLOAT' || datatype_vvvvwds == 'DECIMAL' || datatype_vvvvwds == 'DOUBLE')
+ if (datatype_vvvvwds == 'CHAR' || datatype_vvvvwds == 'VARCHAR' || datatype_vvvvwds == 'TEXT' || datatype_vvvvwds == 'MEDIUMTEXT' || datatype_vvvvwds == 'LONGTEXT' || datatype_vvvvwds == 'BLOB' || datatype_vvvvwds == 'TINYBLOB' || datatype_vvvvwds == 'MEDIUMBLOB' || datatype_vvvvwds == 'LONGBLOB')
{
return true;
}
@@ -382,90 +542,21 @@ function has_defaults_vvvvwds_SomeFunc(has_defaults_vvvvwds)
return false;
}
-// the vvvvwdt function
-function vvvvwdt(has_defaults_vvvvwdt,datatype_vvvvwdt)
-{
- if (isSet(has_defaults_vvvvwdt) && has_defaults_vvvvwdt.constructor !== Array)
- {
- var temp_vvvvwdt = has_defaults_vvvvwdt;
- var has_defaults_vvvvwdt = [];
- has_defaults_vvvvwdt.push(temp_vvvvwdt);
- }
- else if (!isSet(has_defaults_vvvvwdt))
- {
- var has_defaults_vvvvwdt = [];
- }
- var has_defaults = has_defaults_vvvvwdt.some(has_defaults_vvvvwdt_SomeFunc);
-
- if (isSet(datatype_vvvvwdt) && datatype_vvvvwdt.constructor !== Array)
- {
- var temp_vvvvwdt = datatype_vvvvwdt;
- var datatype_vvvvwdt = [];
- datatype_vvvvwdt.push(temp_vvvvwdt);
- }
- else if (!isSet(datatype_vvvvwdt))
- {
- var datatype_vvvvwdt = [];
- }
- var datatype = datatype_vvvvwdt.some(datatype_vvvvwdt_SomeFunc);
-
-
- // set this function logic
- if (has_defaults && datatype)
- {
- jQuery('#jform_datadefault').closest('.control-group').show();
- jQuery('#jform_indexes').closest('.control-group').show();
- // add required attribute to indexes field
- if (jform_vvvvwdtvyb_required)
- {
- updateFieldRequired('indexes',0);
- jQuery('#jform_indexes').prop('required','required');
- jQuery('#jform_indexes').attr('aria-required',true);
- jQuery('#jform_indexes').addClass('required');
- jform_vvvvwdtvyb_required = false;
- }
- }
- else
- {
- jQuery('#jform_datadefault').closest('.control-group').hide();
- jQuery('#jform_indexes').closest('.control-group').hide();
- // remove required attribute from indexes field
- if (!jform_vvvvwdtvyb_required)
- {
- updateFieldRequired('indexes',1);
- jQuery('#jform_indexes').removeAttr('required');
- jQuery('#jform_indexes').removeAttr('aria-required');
- jQuery('#jform_indexes').removeClass('required');
- jform_vvvvwdtvyb_required = true;
- }
- }
-}
-
-// the vvvvwdt Some function
-function has_defaults_vvvvwdt_SomeFunc(has_defaults_vvvvwdt)
-{
- // set the function logic
- if (has_defaults_vvvvwdt == 1)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdt Some function
-function datatype_vvvvwdt_SomeFunc(datatype_vvvvwdt)
-{
- // set the function logic
- if (datatype_vvvvwdt == 'CHAR' || datatype_vvvvwdt == 'VARCHAR' || datatype_vvvvwdt == 'DATETIME' || datatype_vvvvwdt == 'DATE' || datatype_vvvvwdt == 'TIME' || datatype_vvvvwdt == 'INT' || datatype_vvvvwdt == 'TINYINT' || datatype_vvvvwdt == 'BIGINT' || datatype_vvvvwdt == 'FLOAT' || datatype_vvvvwdt == 'DECIMAL' || datatype_vvvvwdt == 'DOUBLE')
- {
- return true;
- }
- return false;
-}
-
// the vvvvwdu function
-function vvvvwdu(datatype_vvvvwdu,has_defaults_vvvvwdu)
+function vvvvwdu(store_vvvvwdu,datatype_vvvvwdu,has_defaults_vvvvwdu)
{
+ if (isSet(store_vvvvwdu) && store_vvvvwdu.constructor !== Array)
+ {
+ var temp_vvvvwdu = store_vvvvwdu;
+ var store_vvvvwdu = [];
+ store_vvvvwdu.push(temp_vvvvwdu);
+ }
+ else if (!isSet(store_vvvvwdu))
+ {
+ var store_vvvvwdu = [];
+ }
+ var store = store_vvvvwdu.some(store_vvvvwdu_SomeFunc);
+
if (isSet(datatype_vvvvwdu) && datatype_vvvvwdu.constructor !== Array)
{
var temp_vvvvwdu = datatype_vvvvwdu;
@@ -492,34 +583,27 @@ function vvvvwdu(datatype_vvvvwdu,has_defaults_vvvvwdu)
// set this function logic
- if (datatype && has_defaults)
+ if (store && datatype && has_defaults)
{
- jQuery('#jform_store').closest('.control-group').show();
- // add required attribute to store field
- if (jform_vvvvwduvyc_required)
- {
- updateFieldRequired('store',0);
- jQuery('#jform_store').prop('required','required');
- jQuery('#jform_store').attr('aria-required',true);
- jQuery('#jform_store').addClass('required');
- jform_vvvvwduvyc_required = false;
- }
+ jQuery('.note_whmcs_encryption').closest('.control-group').show();
}
else
{
- jQuery('#jform_store').closest('.control-group').hide();
- // remove required attribute from store field
- if (!jform_vvvvwduvyc_required)
- {
- updateFieldRequired('store',1);
- jQuery('#jform_store').removeAttr('required');
- jQuery('#jform_store').removeAttr('aria-required');
- jQuery('#jform_store').removeClass('required');
- jform_vvvvwduvyc_required = true;
- }
+ jQuery('.note_whmcs_encryption').closest('.control-group').hide();
}
}
+// the vvvvwdu Some function
+function store_vvvvwdu_SomeFunc(store_vvvvwdu)
+{
+ // set the function logic
+ if (store_vvvvwdu == 4)
+ {
+ return true;
+ }
+ return false;
+}
+
// the vvvvwdu Some function
function datatype_vvvvwdu_SomeFunc(datatype_vvvvwdu)
{
@@ -542,9 +626,105 @@ function has_defaults_vvvvwdu_SomeFunc(has_defaults_vvvvwdu)
return false;
}
-// the vvvvwdw function
-function vvvvwdw(store_vvvvwdw,datatype_vvvvwdw,has_defaults_vvvvwdw)
+// the vvvvwdv function
+function vvvvwdv(datatype_vvvvwdv,store_vvvvwdv,has_defaults_vvvvwdv)
{
+ if (isSet(datatype_vvvvwdv) && datatype_vvvvwdv.constructor !== Array)
+ {
+ var temp_vvvvwdv = datatype_vvvvwdv;
+ var datatype_vvvvwdv = [];
+ datatype_vvvvwdv.push(temp_vvvvwdv);
+ }
+ else if (!isSet(datatype_vvvvwdv))
+ {
+ var datatype_vvvvwdv = [];
+ }
+ var datatype = datatype_vvvvwdv.some(datatype_vvvvwdv_SomeFunc);
+
+ if (isSet(store_vvvvwdv) && store_vvvvwdv.constructor !== Array)
+ {
+ var temp_vvvvwdv = store_vvvvwdv;
+ var store_vvvvwdv = [];
+ store_vvvvwdv.push(temp_vvvvwdv);
+ }
+ else if (!isSet(store_vvvvwdv))
+ {
+ var store_vvvvwdv = [];
+ }
+ var store = store_vvvvwdv.some(store_vvvvwdv_SomeFunc);
+
+ if (isSet(has_defaults_vvvvwdv) && has_defaults_vvvvwdv.constructor !== Array)
+ {
+ var temp_vvvvwdv = has_defaults_vvvvwdv;
+ var has_defaults_vvvvwdv = [];
+ has_defaults_vvvvwdv.push(temp_vvvvwdv);
+ }
+ else if (!isSet(has_defaults_vvvvwdv))
+ {
+ var has_defaults_vvvvwdv = [];
+ }
+ var has_defaults = has_defaults_vvvvwdv.some(has_defaults_vvvvwdv_SomeFunc);
+
+
+ // set this function logic
+ if (datatype && store && has_defaults)
+ {
+ jQuery('.note_whmcs_encryption').closest('.control-group').show();
+ }
+ else
+ {
+ jQuery('.note_whmcs_encryption').closest('.control-group').hide();
+ }
+}
+
+// the vvvvwdv Some function
+function datatype_vvvvwdv_SomeFunc(datatype_vvvvwdv)
+{
+ // set the function logic
+ if (datatype_vvvvwdv == 'CHAR' || datatype_vvvvwdv == 'VARCHAR' || datatype_vvvvwdv == 'TEXT' || datatype_vvvvwdv == 'MEDIUMTEXT' || datatype_vvvvwdv == 'LONGTEXT' || datatype_vvvvwdv == 'BLOB' || datatype_vvvvwdv == 'TINYBLOB' || datatype_vvvvwdv == 'MEDIUMBLOB' || datatype_vvvvwdv == 'LONGBLOB')
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwdv Some function
+function store_vvvvwdv_SomeFunc(store_vvvvwdv)
+{
+ // set the function logic
+ if (store_vvvvwdv == 4)
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwdv Some function
+function has_defaults_vvvvwdv_SomeFunc(has_defaults_vvvvwdv)
+{
+ // set the function logic
+ if (has_defaults_vvvvwdv == 1)
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwdw function
+function vvvvwdw(has_defaults_vvvvwdw,store_vvvvwdw,datatype_vvvvwdw)
+{
+ if (isSet(has_defaults_vvvvwdw) && has_defaults_vvvvwdw.constructor !== Array)
+ {
+ var temp_vvvvwdw = has_defaults_vvvvwdw;
+ var has_defaults_vvvvwdw = [];
+ has_defaults_vvvvwdw.push(temp_vvvvwdw);
+ }
+ else if (!isSet(has_defaults_vvvvwdw))
+ {
+ var has_defaults_vvvvwdw = [];
+ }
+ var has_defaults = has_defaults_vvvvwdw.some(has_defaults_vvvvwdw_SomeFunc);
+
if (isSet(store_vvvvwdw) && store_vvvvwdw.constructor !== Array)
{
var temp_vvvvwdw = store_vvvvwdw;
@@ -569,21 +749,9 @@ function vvvvwdw(store_vvvvwdw,datatype_vvvvwdw,has_defaults_vvvvwdw)
}
var datatype = datatype_vvvvwdw.some(datatype_vvvvwdw_SomeFunc);
- if (isSet(has_defaults_vvvvwdw) && has_defaults_vvvvwdw.constructor !== Array)
- {
- var temp_vvvvwdw = has_defaults_vvvvwdw;
- var has_defaults_vvvvwdw = [];
- has_defaults_vvvvwdw.push(temp_vvvvwdw);
- }
- else if (!isSet(has_defaults_vvvvwdw))
- {
- var has_defaults_vvvvwdw = [];
- }
- var has_defaults = has_defaults_vvvvwdw.some(has_defaults_vvvvwdw_SomeFunc);
-
// set this function logic
- if (store && datatype && has_defaults)
+ if (has_defaults && store && datatype)
{
jQuery('.note_whmcs_encryption').closest('.control-group').show();
}
@@ -593,6 +761,17 @@ function vvvvwdw(store_vvvvwdw,datatype_vvvvwdw,has_defaults_vvvvwdw)
}
}
+// the vvvvwdw Some function
+function has_defaults_vvvvwdw_SomeFunc(has_defaults_vvvvwdw)
+{
+ // set the function logic
+ if (has_defaults_vvvvwdw == 1)
+ {
+ return true;
+ }
+ return false;
+}
+
// the vvvvwdw Some function
function store_vvvvwdw_SomeFunc(store_vvvvwdw)
{
@@ -615,233 +794,54 @@ function datatype_vvvvwdw_SomeFunc(datatype_vvvvwdw)
return false;
}
-// the vvvvwdw Some function
-function has_defaults_vvvvwdw_SomeFunc(has_defaults_vvvvwdw)
-{
- // set the function logic
- if (has_defaults_vvvvwdw == 1)
- {
- return true;
- }
- return false;
-}
-
// the vvvvwdx function
-function vvvvwdx(datatype_vvvvwdx,store_vvvvwdx,has_defaults_vvvvwdx)
-{
- if (isSet(datatype_vvvvwdx) && datatype_vvvvwdx.constructor !== Array)
- {
- var temp_vvvvwdx = datatype_vvvvwdx;
- var datatype_vvvvwdx = [];
- datatype_vvvvwdx.push(temp_vvvvwdx);
- }
- else if (!isSet(datatype_vvvvwdx))
- {
- var datatype_vvvvwdx = [];
- }
- var datatype = datatype_vvvvwdx.some(datatype_vvvvwdx_SomeFunc);
-
- if (isSet(store_vvvvwdx) && store_vvvvwdx.constructor !== Array)
- {
- var temp_vvvvwdx = store_vvvvwdx;
- var store_vvvvwdx = [];
- store_vvvvwdx.push(temp_vvvvwdx);
- }
- else if (!isSet(store_vvvvwdx))
- {
- var store_vvvvwdx = [];
- }
- var store = store_vvvvwdx.some(store_vvvvwdx_SomeFunc);
-
- if (isSet(has_defaults_vvvvwdx) && has_defaults_vvvvwdx.constructor !== Array)
- {
- var temp_vvvvwdx = has_defaults_vvvvwdx;
- var has_defaults_vvvvwdx = [];
- has_defaults_vvvvwdx.push(temp_vvvvwdx);
- }
- else if (!isSet(has_defaults_vvvvwdx))
- {
- var has_defaults_vvvvwdx = [];
- }
- var has_defaults = has_defaults_vvvvwdx.some(has_defaults_vvvvwdx_SomeFunc);
-
-
- // set this function logic
- if (datatype && store && has_defaults)
- {
- jQuery('.note_whmcs_encryption').closest('.control-group').show();
- }
- else
- {
- jQuery('.note_whmcs_encryption').closest('.control-group').hide();
- }
-}
-
-// the vvvvwdx Some function
-function datatype_vvvvwdx_SomeFunc(datatype_vvvvwdx)
-{
- // set the function logic
- if (datatype_vvvvwdx == 'CHAR' || datatype_vvvvwdx == 'VARCHAR' || datatype_vvvvwdx == 'TEXT' || datatype_vvvvwdx == 'MEDIUMTEXT' || datatype_vvvvwdx == 'LONGTEXT' || datatype_vvvvwdx == 'BLOB' || datatype_vvvvwdx == 'TINYBLOB' || datatype_vvvvwdx == 'MEDIUMBLOB' || datatype_vvvvwdx == 'LONGBLOB')
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdx Some function
-function store_vvvvwdx_SomeFunc(store_vvvvwdx)
-{
- // set the function logic
- if (store_vvvvwdx == 4)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdx Some function
-function has_defaults_vvvvwdx_SomeFunc(has_defaults_vvvvwdx)
+function vvvvwdx(has_defaults_vvvvwdx)
{
// set the function logic
if (has_defaults_vvvvwdx == 1)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdy function
-function vvvvwdy(has_defaults_vvvvwdy,store_vvvvwdy,datatype_vvvvwdy)
-{
- if (isSet(has_defaults_vvvvwdy) && has_defaults_vvvvwdy.constructor !== Array)
- {
- var temp_vvvvwdy = has_defaults_vvvvwdy;
- var has_defaults_vvvvwdy = [];
- has_defaults_vvvvwdy.push(temp_vvvvwdy);
- }
- else if (!isSet(has_defaults_vvvvwdy))
- {
- var has_defaults_vvvvwdy = [];
- }
- var has_defaults = has_defaults_vvvvwdy.some(has_defaults_vvvvwdy_SomeFunc);
-
- if (isSet(store_vvvvwdy) && store_vvvvwdy.constructor !== Array)
- {
- var temp_vvvvwdy = store_vvvvwdy;
- var store_vvvvwdy = [];
- store_vvvvwdy.push(temp_vvvvwdy);
- }
- else if (!isSet(store_vvvvwdy))
- {
- var store_vvvvwdy = [];
- }
- var store = store_vvvvwdy.some(store_vvvvwdy_SomeFunc);
-
- if (isSet(datatype_vvvvwdy) && datatype_vvvvwdy.constructor !== Array)
- {
- var temp_vvvvwdy = datatype_vvvvwdy;
- var datatype_vvvvwdy = [];
- datatype_vvvvwdy.push(temp_vvvvwdy);
- }
- else if (!isSet(datatype_vvvvwdy))
- {
- var datatype_vvvvwdy = [];
- }
- var datatype = datatype_vvvvwdy.some(datatype_vvvvwdy_SomeFunc);
-
-
- // set this function logic
- if (has_defaults && store && datatype)
- {
- jQuery('.note_whmcs_encryption').closest('.control-group').show();
- }
- else
- {
- jQuery('.note_whmcs_encryption').closest('.control-group').hide();
- }
-}
-
-// the vvvvwdy Some function
-function has_defaults_vvvvwdy_SomeFunc(has_defaults_vvvvwdy)
-{
- // set the function logic
- if (has_defaults_vvvvwdy == 1)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdy Some function
-function store_vvvvwdy_SomeFunc(store_vvvvwdy)
-{
- // set the function logic
- if (store_vvvvwdy == 4)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdy Some function
-function datatype_vvvvwdy_SomeFunc(datatype_vvvvwdy)
-{
- // set the function logic
- if (datatype_vvvvwdy == 'CHAR' || datatype_vvvvwdy == 'VARCHAR' || datatype_vvvvwdy == 'TEXT' || datatype_vvvvwdy == 'MEDIUMTEXT' || datatype_vvvvwdy == 'LONGTEXT' || datatype_vvvvwdy == 'BLOB' || datatype_vvvvwdy == 'TINYBLOB' || datatype_vvvvwdy == 'MEDIUMBLOB' || datatype_vvvvwdy == 'LONGBLOB')
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwdz function
-function vvvvwdz(has_defaults_vvvvwdz)
-{
- // set the function logic
- if (has_defaults_vvvvwdz == 1)
{
jQuery('#jform_datatype').closest('.control-group').show();
// add required attribute to datatype field
- if (jform_vvvvwdzvyd_required)
+ if (jform_vvvvwdxvya_required)
{
updateFieldRequired('datatype',0);
jQuery('#jform_datatype').prop('required','required');
jQuery('#jform_datatype').attr('aria-required',true);
jQuery('#jform_datatype').addClass('required');
- jform_vvvvwdzvyd_required = false;
+ jform_vvvvwdxvya_required = false;
}
jQuery('#jform_null_switch').closest('.control-group').show();
// add required attribute to null_switch field
- if (jform_vvvvwdzvye_required)
+ if (jform_vvvvwdxvyb_required)
{
updateFieldRequired('null_switch',0);
jQuery('#jform_null_switch').prop('required','required');
jQuery('#jform_null_switch').attr('aria-required',true);
jQuery('#jform_null_switch').addClass('required');
- jform_vvvvwdzvye_required = false;
+ jform_vvvvwdxvyb_required = false;
}
}
else
{
jQuery('#jform_datatype').closest('.control-group').hide();
// remove required attribute from datatype field
- if (!jform_vvvvwdzvyd_required)
+ if (!jform_vvvvwdxvya_required)
{
updateFieldRequired('datatype',1);
jQuery('#jform_datatype').removeAttr('required');
jQuery('#jform_datatype').removeAttr('aria-required');
jQuery('#jform_datatype').removeClass('required');
- jform_vvvvwdzvyd_required = true;
+ jform_vvvvwdxvya_required = true;
}
jQuery('#jform_null_switch').closest('.control-group').hide();
// remove required attribute from null_switch field
- if (!jform_vvvvwdzvye_required)
+ if (!jform_vvvvwdxvyb_required)
{
updateFieldRequired('null_switch',1);
jQuery('#jform_null_switch').removeAttr('required');
jQuery('#jform_null_switch').removeAttr('aria-required');
jQuery('#jform_null_switch').removeClass('required');
- jform_vvvvwdzvye_required = true;
+ jform_vvvvwdxvyb_required = true;
}
}
}
diff --git a/admin/models/forms/fieldtype.xml b/admin/models/forms/fieldtype.xml
index ac00e85e6..e456efeb4 100644
--- a/admin/models/forms/fieldtype.xml
+++ b/admin/models/forms/fieldtype.xml
@@ -449,7 +449,7 @@
type="category"
name="catid"
label="COM_COMPONENTBUILDER_FIELDTYPE_CATID_LABEL"
- extension="com_componentbuilder.fieldtypes"
+ extension="com_componentbuilder.fieldtype"
default=""
description="COM_COMPONENTBUILDER_FIELDTYPE_CATID_DESCRIPTION"
class="inputbox"
diff --git a/admin/models/forms/help_document.js b/admin/models/forms/help_document.js
index 172e0ac98..0b1d12134 100644
--- a/admin/models/forms/help_document.js
+++ b/admin/models/forms/help_document.js
@@ -9,98 +9,210 @@
*/
// Some Global Values
-jform_vvvvwekvyq_required = false;
-jform_vvvvwelvyr_required = false;
-jform_vvvvwemvys_required = false;
-jform_vvvvwenvyt_required = false;
-jform_vvvvwepvyu_required = false;
+jform_vvvvweivyn_required = false;
+jform_vvvvwejvyo_required = false;
+jform_vvvvwekvyp_required = false;
+jform_vvvvwelvyq_required = false;
+jform_vvvvwenvyr_required = false;
// Initial Script
jQuery(document).ready(function()
{
- var location_vvvvwek = jQuery("#jform_location input[type='radio']:checked").val();
- vvvvwek(location_vvvvwek);
+ var location_vvvvwei = jQuery("#jform_location input[type='radio']:checked").val();
+ vvvvwei(location_vvvvwei);
- var location_vvvvwel = jQuery("#jform_location input[type='radio']:checked").val();
- vvvvwel(location_vvvvwel);
+ var location_vvvvwej = jQuery("#jform_location input[type='radio']:checked").val();
+ vvvvwej(location_vvvvwej);
+
+ var type_vvvvwek = jQuery("#jform_type").val();
+ vvvvwek(type_vvvvwek);
+
+ var type_vvvvwel = jQuery("#jform_type").val();
+ vvvvwel(type_vvvvwel);
var type_vvvvwem = jQuery("#jform_type").val();
vvvvwem(type_vvvvwem);
- var type_vvvvwen = jQuery("#jform_type").val();
- vvvvwen(type_vvvvwen);
-
- var type_vvvvweo = jQuery("#jform_type").val();
- vvvvweo(type_vvvvweo);
-
- var target_vvvvwep = jQuery("#jform_target input[type='radio']:checked").val();
- vvvvwep(target_vvvvwep);
+ var target_vvvvwen = jQuery("#jform_target input[type='radio']:checked").val();
+ vvvvwen(target_vvvvwen);
});
-// the vvvvwek function
-function vvvvwek(location_vvvvwek)
+// the vvvvwei function
+function vvvvwei(location_vvvvwei)
{
// set the function logic
- if (location_vvvvwek == 1)
+ if (location_vvvvwei == 1)
{
jQuery('#jform_admin_view').closest('.control-group').show();
// add required attribute to admin_view field
- if (jform_vvvvwekvyq_required)
+ if (jform_vvvvweivyn_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_vvvvwekvyq_required = false;
+ jform_vvvvweivyn_required = false;
}
}
else
{
jQuery('#jform_admin_view').closest('.control-group').hide();
// remove required attribute from admin_view field
- if (!jform_vvvvwekvyq_required)
+ if (!jform_vvvvweivyn_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_vvvvwekvyq_required = true;
+ jform_vvvvweivyn_required = true;
}
}
}
-// the vvvvwel function
-function vvvvwel(location_vvvvwel)
+// the vvvvwej function
+function vvvvwej(location_vvvvwej)
{
// set the function logic
- if (location_vvvvwel == 2)
+ if (location_vvvvwej == 2)
{
jQuery('#jform_site_view').closest('.control-group').show();
// add required attribute to site_view field
- if (jform_vvvvwelvyr_required)
+ if (jform_vvvvwejvyo_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_vvvvwelvyr_required = false;
+ jform_vvvvwejvyo_required = false;
}
}
else
{
jQuery('#jform_site_view').closest('.control-group').hide();
// remove required attribute from site_view field
- if (!jform_vvvvwelvyr_required)
+ if (!jform_vvvvwejvyo_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_vvvvwelvyr_required = true;
+ jform_vvvvwejvyo_required = true;
}
}
}
+// the vvvvwek function
+function vvvvwek(type_vvvvwek)
+{
+ if (isSet(type_vvvvwek) && type_vvvvwek.constructor !== Array)
+ {
+ var temp_vvvvwek = type_vvvvwek;
+ var type_vvvvwek = [];
+ type_vvvvwek.push(temp_vvvvwek);
+ }
+ else if (!isSet(type_vvvvwek))
+ {
+ var type_vvvvwek = [];
+ }
+ var type = type_vvvvwek.some(type_vvvvwek_SomeFunc);
+
+
+ // set this function logic
+ if (type)
+ {
+ jQuery('#jform_url').closest('.control-group').show();
+ // add required attribute to url field
+ if (jform_vvvvwekvyp_required)
+ {
+ updateFieldRequired('url',0);
+ jQuery('#jform_url').prop('required','required');
+ jQuery('#jform_url').attr('aria-required',true);
+ jQuery('#jform_url').addClass('required');
+ jform_vvvvwekvyp_required = false;
+ }
+ }
+ else
+ {
+ jQuery('#jform_url').closest('.control-group').hide();
+ // remove required attribute from url field
+ if (!jform_vvvvwekvyp_required)
+ {
+ updateFieldRequired('url',1);
+ jQuery('#jform_url').removeAttr('required');
+ jQuery('#jform_url').removeAttr('aria-required');
+ jQuery('#jform_url').removeClass('required');
+ jform_vvvvwekvyp_required = true;
+ }
+ }
+}
+
+// the vvvvwek Some function
+function type_vvvvwek_SomeFunc(type_vvvvwek)
+{
+ // set the function logic
+ if (type_vvvvwek == 3)
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwel function
+function vvvvwel(type_vvvvwel)
+{
+ if (isSet(type_vvvvwel) && type_vvvvwel.constructor !== Array)
+ {
+ var temp_vvvvwel = type_vvvvwel;
+ var type_vvvvwel = [];
+ type_vvvvwel.push(temp_vvvvwel);
+ }
+ else if (!isSet(type_vvvvwel))
+ {
+ var type_vvvvwel = [];
+ }
+ var type = type_vvvvwel.some(type_vvvvwel_SomeFunc);
+
+
+ // set this function logic
+ if (type)
+ {
+ jQuery('#jform_article').closest('.control-group').show();
+ // add required attribute to article field
+ if (jform_vvvvwelvyq_required)
+ {
+ updateFieldRequired('article',0);
+ jQuery('#jform_article').prop('required','required');
+ jQuery('#jform_article').attr('aria-required',true);
+ jQuery('#jform_article').addClass('required');
+ jform_vvvvwelvyq_required = false;
+ }
+ }
+ else
+ {
+ jQuery('#jform_article').closest('.control-group').hide();
+ // remove required attribute from article field
+ if (!jform_vvvvwelvyq_required)
+ {
+ updateFieldRequired('article',1);
+ jQuery('#jform_article').removeAttr('required');
+ jQuery('#jform_article').removeAttr('aria-required');
+ jQuery('#jform_article').removeClass('required');
+ jform_vvvvwelvyq_required = true;
+ }
+ }
+}
+
+// the vvvvwel Some function
+function type_vvvvwel_SomeFunc(type_vvvvwel)
+{
+ // set the function logic
+ if (type_vvvvwel == 1)
+ {
+ return true;
+ }
+ return false;
+}
+
// the vvvvwem function
function vvvvwem(type_vvvvwem)
{
@@ -117,118 +229,6 @@ function vvvvwem(type_vvvvwem)
var type = type_vvvvwem.some(type_vvvvwem_SomeFunc);
- // set this function logic
- if (type)
- {
- jQuery('#jform_url').closest('.control-group').show();
- // add required attribute to url field
- if (jform_vvvvwemvys_required)
- {
- updateFieldRequired('url',0);
- jQuery('#jform_url').prop('required','required');
- jQuery('#jform_url').attr('aria-required',true);
- jQuery('#jform_url').addClass('required');
- jform_vvvvwemvys_required = false;
- }
- }
- else
- {
- jQuery('#jform_url').closest('.control-group').hide();
- // remove required attribute from url field
- if (!jform_vvvvwemvys_required)
- {
- updateFieldRequired('url',1);
- jQuery('#jform_url').removeAttr('required');
- jQuery('#jform_url').removeAttr('aria-required');
- jQuery('#jform_url').removeClass('required');
- jform_vvvvwemvys_required = true;
- }
- }
-}
-
-// the vvvvwem Some function
-function type_vvvvwem_SomeFunc(type_vvvvwem)
-{
- // set the function logic
- if (type_vvvvwem == 3)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwen function
-function vvvvwen(type_vvvvwen)
-{
- if (isSet(type_vvvvwen) && type_vvvvwen.constructor !== Array)
- {
- var temp_vvvvwen = type_vvvvwen;
- var type_vvvvwen = [];
- type_vvvvwen.push(temp_vvvvwen);
- }
- else if (!isSet(type_vvvvwen))
- {
- var type_vvvvwen = [];
- }
- var type = type_vvvvwen.some(type_vvvvwen_SomeFunc);
-
-
- // set this function logic
- if (type)
- {
- jQuery('#jform_article').closest('.control-group').show();
- // add required attribute to article field
- if (jform_vvvvwenvyt_required)
- {
- updateFieldRequired('article',0);
- jQuery('#jform_article').prop('required','required');
- jQuery('#jform_article').attr('aria-required',true);
- jQuery('#jform_article').addClass('required');
- jform_vvvvwenvyt_required = false;
- }
- }
- else
- {
- jQuery('#jform_article').closest('.control-group').hide();
- // remove required attribute from article field
- if (!jform_vvvvwenvyt_required)
- {
- updateFieldRequired('article',1);
- jQuery('#jform_article').removeAttr('required');
- jQuery('#jform_article').removeAttr('aria-required');
- jQuery('#jform_article').removeClass('required');
- jform_vvvvwenvyt_required = true;
- }
- }
-}
-
-// the vvvvwen Some function
-function type_vvvvwen_SomeFunc(type_vvvvwen)
-{
- // set the function logic
- if (type_vvvvwen == 1)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvweo function
-function vvvvweo(type_vvvvweo)
-{
- if (isSet(type_vvvvweo) && type_vvvvweo.constructor !== Array)
- {
- var temp_vvvvweo = type_vvvvweo;
- var type_vvvvweo = [];
- type_vvvvweo.push(temp_vvvvweo);
- }
- else if (!isSet(type_vvvvweo))
- {
- var type_vvvvweo = [];
- }
- var type = type_vvvvweo.some(type_vvvvweo_SomeFunc);
-
-
// set this function logic
if (type)
{
@@ -240,45 +240,45 @@ function vvvvweo(type_vvvvweo)
}
}
-// the vvvvweo Some function
-function type_vvvvweo_SomeFunc(type_vvvvweo)
+// the vvvvwem Some function
+function type_vvvvwem_SomeFunc(type_vvvvwem)
{
// set the function logic
- if (type_vvvvweo == 2)
+ if (type_vvvvwem == 2)
{
return true;
}
return false;
}
-// the vvvvwep function
-function vvvvwep(target_vvvvwep)
+// the vvvvwen function
+function vvvvwen(target_vvvvwen)
{
// set the function logic
- if (target_vvvvwep == 1)
+ if (target_vvvvwen == 1)
{
jQuery('#jform_groups').closest('.control-group').show();
// add required attribute to groups field
- if (jform_vvvvwepvyu_required)
+ if (jform_vvvvwenvyr_required)
{
updateFieldRequired('groups',0);
jQuery('#jform_groups').prop('required','required');
jQuery('#jform_groups').attr('aria-required',true);
jQuery('#jform_groups').addClass('required');
- jform_vvvvwepvyu_required = false;
+ jform_vvvvwenvyr_required = false;
}
}
else
{
jQuery('#jform_groups').closest('.control-group').hide();
// remove required attribute from groups field
- if (!jform_vvvvwepvyu_required)
+ if (!jform_vvvvwenvyr_required)
{
updateFieldRequired('groups',1);
jQuery('#jform_groups').removeAttr('required');
jQuery('#jform_groups').removeAttr('aria-required');
jQuery('#jform_groups').removeClass('required');
- jform_vvvvwepvyu_required = true;
+ jform_vvvvwenvyr_required = true;
}
}
}
diff --git a/admin/models/forms/joomla_component.xml b/admin/models/forms/joomla_component.xml
index 638aff063..e70e433a3 100644
--- a/admin/models/forms/joomla_component.xml
+++ b/admin/models/forms/joomla_component.xml
@@ -367,7 +367,7 @@
default="Copyright (C) 2015. All Rights Reserved"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_DESCRIPTION"
class="text_area span12"
- filter="HTML"
+ filter="SAFEHTML"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT"
required="true"
/>
diff --git a/admin/models/forms/joomla_module_files_folders_urls.xml b/admin/models/forms/joomla_module_files_folders_urls.xml
index afe426e47..2d0424ce0 100644
--- a/admin/models/forms/joomla_module_files_folders_urls.xml
+++ b/admin/models/forms/joomla_module_files_folders_urls.xml
@@ -90,7 +90,6 @@
type="joomlamodules"
name="joomla_module"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_JOOMLA_MODULE_LABEL"
- description="JFIELD_TITLE_DESC"
class="list_class span12"
multiple="false"
default="0"
diff --git a/admin/models/forms/joomla_module_updates.xml b/admin/models/forms/joomla_module_updates.xml
index 27329bd60..052c03674 100644
--- a/admin/models/forms/joomla_module_updates.xml
+++ b/admin/models/forms/joomla_module_updates.xml
@@ -90,7 +90,6 @@
type="joomlamodules"
name="joomla_module"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_JOOMLA_MODULE_LABEL"
- description="JFIELD_TITLE_DESC"
class="list_class span12"
multiple="false"
default="0"
diff --git a/admin/models/forms/joomla_plugin_files_folders_urls.xml b/admin/models/forms/joomla_plugin_files_folders_urls.xml
index 3361dce7a..14aebad76 100644
--- a/admin/models/forms/joomla_plugin_files_folders_urls.xml
+++ b/admin/models/forms/joomla_plugin_files_folders_urls.xml
@@ -90,7 +90,6 @@
type="joomlaplugins"
name="joomla_plugin"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_JOOMLA_PLUGIN_LABEL"
- description="JFIELD_TITLE_DESC"
class="list_class span12"
multiple="false"
default="0"
diff --git a/admin/models/forms/joomla_plugin_updates.xml b/admin/models/forms/joomla_plugin_updates.xml
index 0d8e6f710..e628d878e 100644
--- a/admin/models/forms/joomla_plugin_updates.xml
+++ b/admin/models/forms/joomla_plugin_updates.xml
@@ -90,7 +90,6 @@
type="joomlaplugins"
name="joomla_plugin"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATES_JOOMLA_PLUGIN_LABEL"
- description="JFIELD_TITLE_DESC"
class="list_class span12"
multiple="false"
default="0"
diff --git a/admin/models/forms/language_translation.xml b/admin/models/forms/language_translation.xml
index 1c565041c..c81ebf5c5 100644
--- a/admin/models/forms/language_translation.xml
+++ b/admin/models/forms/language_translation.xml
@@ -92,7 +92,6 @@
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_SOURCE_LABEL"
rows="4"
cols="5"
- description="JFIELD_TITLE_DESC"
message="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_SOURCE_MESSAGE"
class="text_area span12"
filter="safehtml"
@@ -150,7 +149,7 @@
cols="20"
message="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_TRANSLATION_MESSAGE"
class="text_area translation_text_area"
- filter="SAFEHTML"
+ filter="RAW"
hint="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_TRANSLATION_HINT"
/>
diff --git a/admin/models/forms/server.js b/admin/models/forms/server.js
index 0e8d5c6a4..603cace0d 100644
--- a/admin/models/forms/server.js
+++ b/admin/models/forms/server.js
@@ -9,24 +9,28 @@
*/
// Some Global Values
-jform_vvvvweavyg_required = false;
-jform_vvvvweavyh_required = false;
-jform_vvvvweavyi_required = false;
+jform_vvvvwdyvyd_required = false;
+jform_vvvvwdyvye_required = false;
+jform_vvvvwdyvyf_required = false;
+jform_vvvvwdyvyg_required = false;
+jform_vvvvwdyvyh_required = false;
+jform_vvvvwdzvyi_required = false;
jform_vvvvweavyj_required = false;
-jform_vvvvweavyk_required = false;
-jform_vvvvwebvyl_required = false;
-jform_vvvvwecvym_required = false;
-jform_vvvvweevyn_required = false;
-jform_vvvvwegvyo_required = false;
+jform_vvvvwecvyk_required = false;
+jform_vvvvweevyl_required = false;
// Initial Script
jQuery(document).ready(function()
{
- var protocol_vvvvwea = jQuery("#jform_protocol").val();
- vvvvwea(protocol_vvvvwea);
+ var protocol_vvvvwdy = jQuery("#jform_protocol").val();
+ vvvvwdy(protocol_vvvvwdy);
- var protocol_vvvvweb = jQuery("#jform_protocol").val();
- vvvvweb(protocol_vvvvweb);
+ var protocol_vvvvwdz = jQuery("#jform_protocol").val();
+ vvvvwdz(protocol_vvvvwdz);
+
+ var protocol_vvvvwea = jQuery("#jform_protocol").val();
+ var authentication_vvvvwea = jQuery("#jform_authentication").val();
+ vvvvwea(protocol_vvvvwea,authentication_vvvvwea);
var protocol_vvvvwec = jQuery("#jform_protocol").val();
var authentication_vvvvwec = jQuery("#jform_authentication").val();
@@ -39,14 +43,206 @@ jQuery(document).ready(function()
var protocol_vvvvweg = jQuery("#jform_protocol").val();
var authentication_vvvvweg = jQuery("#jform_authentication").val();
vvvvweg(protocol_vvvvweg,authentication_vvvvweg);
-
- var protocol_vvvvwei = jQuery("#jform_protocol").val();
- var authentication_vvvvwei = jQuery("#jform_authentication").val();
- vvvvwei(protocol_vvvvwei,authentication_vvvvwei);
});
+// the vvvvwdy function
+function vvvvwdy(protocol_vvvvwdy)
+{
+ if (isSet(protocol_vvvvwdy) && protocol_vvvvwdy.constructor !== Array)
+ {
+ var temp_vvvvwdy = protocol_vvvvwdy;
+ var protocol_vvvvwdy = [];
+ protocol_vvvvwdy.push(temp_vvvvwdy);
+ }
+ else if (!isSet(protocol_vvvvwdy))
+ {
+ var protocol_vvvvwdy = [];
+ }
+ var protocol = protocol_vvvvwdy.some(protocol_vvvvwdy_SomeFunc);
+
+
+ // set this function logic
+ if (protocol)
+ {
+ jQuery('#jform_authentication').closest('.control-group').show();
+ // add required attribute to authentication field
+ if (jform_vvvvwdyvyd_required)
+ {
+ updateFieldRequired('authentication',0);
+ jQuery('#jform_authentication').prop('required','required');
+ jQuery('#jform_authentication').attr('aria-required',true);
+ jQuery('#jform_authentication').addClass('required');
+ jform_vvvvwdyvyd_required = false;
+ }
+ jQuery('#jform_host').closest('.control-group').show();
+ // add required attribute to host field
+ if (jform_vvvvwdyvye_required)
+ {
+ updateFieldRequired('host',0);
+ jQuery('#jform_host').prop('required','required');
+ jQuery('#jform_host').attr('aria-required',true);
+ jQuery('#jform_host').addClass('required');
+ jform_vvvvwdyvye_required = false;
+ }
+ jQuery('#jform_port').closest('.control-group').show();
+ // add required attribute to port field
+ if (jform_vvvvwdyvyf_required)
+ {
+ updateFieldRequired('port',0);
+ jQuery('#jform_port').prop('required','required');
+ jQuery('#jform_port').attr('aria-required',true);
+ jQuery('#jform_port').addClass('required');
+ jform_vvvvwdyvyf_required = false;
+ }
+ jQuery('#jform_path').closest('.control-group').show();
+ // add required attribute to path field
+ if (jform_vvvvwdyvyg_required)
+ {
+ updateFieldRequired('path',0);
+ jQuery('#jform_path').prop('required','required');
+ jQuery('#jform_path').attr('aria-required',true);
+ jQuery('#jform_path').addClass('required');
+ jform_vvvvwdyvyg_required = false;
+ }
+ jQuery('.note_ssh_security').closest('.control-group').show();
+ jQuery('#jform_username').closest('.control-group').show();
+ // add required attribute to username field
+ if (jform_vvvvwdyvyh_required)
+ {
+ updateFieldRequired('username',0);
+ jQuery('#jform_username').prop('required','required');
+ jQuery('#jform_username').attr('aria-required',true);
+ jQuery('#jform_username').addClass('required');
+ jform_vvvvwdyvyh_required = false;
+ }
+ }
+ else
+ {
+ jQuery('#jform_authentication').closest('.control-group').hide();
+ // remove required attribute from authentication field
+ if (!jform_vvvvwdyvyd_required)
+ {
+ updateFieldRequired('authentication',1);
+ jQuery('#jform_authentication').removeAttr('required');
+ jQuery('#jform_authentication').removeAttr('aria-required');
+ jQuery('#jform_authentication').removeClass('required');
+ jform_vvvvwdyvyd_required = true;
+ }
+ jQuery('#jform_host').closest('.control-group').hide();
+ // remove required attribute from host field
+ if (!jform_vvvvwdyvye_required)
+ {
+ updateFieldRequired('host',1);
+ jQuery('#jform_host').removeAttr('required');
+ jQuery('#jform_host').removeAttr('aria-required');
+ jQuery('#jform_host').removeClass('required');
+ jform_vvvvwdyvye_required = true;
+ }
+ jQuery('#jform_port').closest('.control-group').hide();
+ // remove required attribute from port field
+ if (!jform_vvvvwdyvyf_required)
+ {
+ updateFieldRequired('port',1);
+ jQuery('#jform_port').removeAttr('required');
+ jQuery('#jform_port').removeAttr('aria-required');
+ jQuery('#jform_port').removeClass('required');
+ jform_vvvvwdyvyf_required = true;
+ }
+ jQuery('#jform_path').closest('.control-group').hide();
+ // remove required attribute from path field
+ if (!jform_vvvvwdyvyg_required)
+ {
+ updateFieldRequired('path',1);
+ jQuery('#jform_path').removeAttr('required');
+ jQuery('#jform_path').removeAttr('aria-required');
+ jQuery('#jform_path').removeClass('required');
+ jform_vvvvwdyvyg_required = true;
+ }
+ jQuery('.note_ssh_security').closest('.control-group').hide();
+ jQuery('#jform_username').closest('.control-group').hide();
+ // remove required attribute from username field
+ if (!jform_vvvvwdyvyh_required)
+ {
+ updateFieldRequired('username',1);
+ jQuery('#jform_username').removeAttr('required');
+ jQuery('#jform_username').removeAttr('aria-required');
+ jQuery('#jform_username').removeClass('required');
+ jform_vvvvwdyvyh_required = true;
+ }
+ }
+}
+
+// the vvvvwdy Some function
+function protocol_vvvvwdy_SomeFunc(protocol_vvvvwdy)
+{
+ // set the function logic
+ if (protocol_vvvvwdy == 2)
+ {
+ return true;
+ }
+ return false;
+}
+
+// the vvvvwdz function
+function vvvvwdz(protocol_vvvvwdz)
+{
+ if (isSet(protocol_vvvvwdz) && protocol_vvvvwdz.constructor !== Array)
+ {
+ var temp_vvvvwdz = protocol_vvvvwdz;
+ var protocol_vvvvwdz = [];
+ protocol_vvvvwdz.push(temp_vvvvwdz);
+ }
+ else if (!isSet(protocol_vvvvwdz))
+ {
+ var protocol_vvvvwdz = [];
+ }
+ var protocol = protocol_vvvvwdz.some(protocol_vvvvwdz_SomeFunc);
+
+
+ // set this function logic
+ if (protocol)
+ {
+ jQuery('.note_ftp_signature').closest('.control-group').show();
+ jQuery('#jform_signature').closest('.control-group').show();
+ // add required attribute to signature field
+ if (jform_vvvvwdzvyi_required)
+ {
+ updateFieldRequired('signature',0);
+ jQuery('#jform_signature').prop('required','required');
+ jQuery('#jform_signature').attr('aria-required',true);
+ jQuery('#jform_signature').addClass('required');
+ jform_vvvvwdzvyi_required = false;
+ }
+ }
+ else
+ {
+ jQuery('.note_ftp_signature').closest('.control-group').hide();
+ jQuery('#jform_signature').closest('.control-group').hide();
+ // remove required attribute from signature field
+ if (!jform_vvvvwdzvyi_required)
+ {
+ updateFieldRequired('signature',1);
+ jQuery('#jform_signature').removeAttr('required');
+ jQuery('#jform_signature').removeAttr('aria-required');
+ jQuery('#jform_signature').removeClass('required');
+ jform_vvvvwdzvyi_required = true;
+ }
+ }
+}
+
+// the vvvvwdz Some function
+function protocol_vvvvwdz_SomeFunc(protocol_vvvvwdz)
+{
+ // set the function logic
+ if (protocol_vvvvwdz == 1)
+ {
+ return true;
+ }
+ return false;
+}
+
// the vvvvwea function
-function vvvvwea(protocol_vvvvwea)
+function vvvvwea(protocol_vvvvwea,authentication_vvvvwea)
{
if (isSet(protocol_vvvvwea) && protocol_vvvvwea.constructor !== Array)
{
@@ -60,115 +256,45 @@ function vvvvwea(protocol_vvvvwea)
}
var protocol = protocol_vvvvwea.some(protocol_vvvvwea_SomeFunc);
+ if (isSet(authentication_vvvvwea) && authentication_vvvvwea.constructor !== Array)
+ {
+ var temp_vvvvwea = authentication_vvvvwea;
+ var authentication_vvvvwea = [];
+ authentication_vvvvwea.push(temp_vvvvwea);
+ }
+ else if (!isSet(authentication_vvvvwea))
+ {
+ var authentication_vvvvwea = [];
+ }
+ var authentication = authentication_vvvvwea.some(authentication_vvvvwea_SomeFunc);
+
// set this function logic
- if (protocol)
+ if (protocol && authentication)
{
- jQuery('#jform_authentication').closest('.control-group').show();
- // add required attribute to authentication field
- if (jform_vvvvweavyg_required)
- {
- updateFieldRequired('authentication',0);
- jQuery('#jform_authentication').prop('required','required');
- jQuery('#jform_authentication').attr('aria-required',true);
- jQuery('#jform_authentication').addClass('required');
- jform_vvvvweavyg_required = false;
- }
- jQuery('#jform_host').closest('.control-group').show();
- // add required attribute to host field
- if (jform_vvvvweavyh_required)
- {
- updateFieldRequired('host',0);
- jQuery('#jform_host').prop('required','required');
- jQuery('#jform_host').attr('aria-required',true);
- jQuery('#jform_host').addClass('required');
- jform_vvvvweavyh_required = false;
- }
- jQuery('#jform_port').closest('.control-group').show();
- // add required attribute to port field
- if (jform_vvvvweavyi_required)
- {
- updateFieldRequired('port',0);
- jQuery('#jform_port').prop('required','required');
- jQuery('#jform_port').attr('aria-required',true);
- jQuery('#jform_port').addClass('required');
- jform_vvvvweavyi_required = false;
- }
- jQuery('#jform_path').closest('.control-group').show();
- // add required attribute to path field
+ jQuery('#jform_password').closest('.control-group').show();
+ // add required attribute to password field
if (jform_vvvvweavyj_required)
{
- updateFieldRequired('path',0);
- jQuery('#jform_path').prop('required','required');
- jQuery('#jform_path').attr('aria-required',true);
- jQuery('#jform_path').addClass('required');
+ updateFieldRequired('password',0);
+ jQuery('#jform_password').prop('required','required');
+ jQuery('#jform_password').attr('aria-required',true);
+ jQuery('#jform_password').addClass('required');
jform_vvvvweavyj_required = false;
}
- jQuery('.note_ssh_security').closest('.control-group').show();
- jQuery('#jform_username').closest('.control-group').show();
- // add required attribute to username field
- if (jform_vvvvweavyk_required)
- {
- updateFieldRequired('username',0);
- jQuery('#jform_username').prop('required','required');
- jQuery('#jform_username').attr('aria-required',true);
- jQuery('#jform_username').addClass('required');
- jform_vvvvweavyk_required = false;
- }
}
else
{
- jQuery('#jform_authentication').closest('.control-group').hide();
- // remove required attribute from authentication field
- if (!jform_vvvvweavyg_required)
- {
- updateFieldRequired('authentication',1);
- jQuery('#jform_authentication').removeAttr('required');
- jQuery('#jform_authentication').removeAttr('aria-required');
- jQuery('#jform_authentication').removeClass('required');
- jform_vvvvweavyg_required = true;
- }
- jQuery('#jform_host').closest('.control-group').hide();
- // remove required attribute from host field
- if (!jform_vvvvweavyh_required)
- {
- updateFieldRequired('host',1);
- jQuery('#jform_host').removeAttr('required');
- jQuery('#jform_host').removeAttr('aria-required');
- jQuery('#jform_host').removeClass('required');
- jform_vvvvweavyh_required = true;
- }
- jQuery('#jform_port').closest('.control-group').hide();
- // remove required attribute from port field
- if (!jform_vvvvweavyi_required)
- {
- updateFieldRequired('port',1);
- jQuery('#jform_port').removeAttr('required');
- jQuery('#jform_port').removeAttr('aria-required');
- jQuery('#jform_port').removeClass('required');
- jform_vvvvweavyi_required = true;
- }
- jQuery('#jform_path').closest('.control-group').hide();
- // remove required attribute from path field
+ jQuery('#jform_password').closest('.control-group').hide();
+ // remove required attribute from password field
if (!jform_vvvvweavyj_required)
{
- updateFieldRequired('path',1);
- jQuery('#jform_path').removeAttr('required');
- jQuery('#jform_path').removeAttr('aria-required');
- jQuery('#jform_path').removeClass('required');
+ updateFieldRequired('password',1);
+ jQuery('#jform_password').removeAttr('required');
+ jQuery('#jform_password').removeAttr('aria-required');
+ jQuery('#jform_password').removeClass('required');
jform_vvvvweavyj_required = true;
}
- jQuery('.note_ssh_security').closest('.control-group').hide();
- jQuery('#jform_username').closest('.control-group').hide();
- // remove required attribute from username field
- if (!jform_vvvvweavyk_required)
- {
- updateFieldRequired('username',1);
- jQuery('#jform_username').removeAttr('required');
- jQuery('#jform_username').removeAttr('aria-required');
- jQuery('#jform_username').removeClass('required');
- jform_vvvvweavyk_required = true;
- }
}
}
@@ -183,58 +309,11 @@ function protocol_vvvvwea_SomeFunc(protocol_vvvvwea)
return false;
}
-// the vvvvweb function
-function vvvvweb(protocol_vvvvweb)
-{
- if (isSet(protocol_vvvvweb) && protocol_vvvvweb.constructor !== Array)
- {
- var temp_vvvvweb = protocol_vvvvweb;
- var protocol_vvvvweb = [];
- protocol_vvvvweb.push(temp_vvvvweb);
- }
- else if (!isSet(protocol_vvvvweb))
- {
- var protocol_vvvvweb = [];
- }
- var protocol = protocol_vvvvweb.some(protocol_vvvvweb_SomeFunc);
-
-
- // set this function logic
- if (protocol)
- {
- jQuery('.note_ftp_signature').closest('.control-group').show();
- jQuery('#jform_signature').closest('.control-group').show();
- // add required attribute to signature field
- if (jform_vvvvwebvyl_required)
- {
- updateFieldRequired('signature',0);
- jQuery('#jform_signature').prop('required','required');
- jQuery('#jform_signature').attr('aria-required',true);
- jQuery('#jform_signature').addClass('required');
- jform_vvvvwebvyl_required = false;
- }
- }
- else
- {
- jQuery('.note_ftp_signature').closest('.control-group').hide();
- jQuery('#jform_signature').closest('.control-group').hide();
- // remove required attribute from signature field
- if (!jform_vvvvwebvyl_required)
- {
- updateFieldRequired('signature',1);
- jQuery('#jform_signature').removeAttr('required');
- jQuery('#jform_signature').removeAttr('aria-required');
- jQuery('#jform_signature').removeClass('required');
- jform_vvvvwebvyl_required = true;
- }
- }
-}
-
-// the vvvvweb Some function
-function protocol_vvvvweb_SomeFunc(protocol_vvvvweb)
+// the vvvvwea Some function
+function authentication_vvvvwea_SomeFunc(authentication_vvvvwea)
{
// set the function logic
- if (protocol_vvvvweb == 1)
+ if (authentication_vvvvwea == 1 || authentication_vvvvwea == 3 || authentication_vvvvwea == 5)
{
return true;
}
@@ -272,28 +351,28 @@ function vvvvwec(protocol_vvvvwec,authentication_vvvvwec)
// set this function logic
if (protocol && authentication)
{
- jQuery('#jform_password').closest('.control-group').show();
- // add required attribute to password field
- if (jform_vvvvwecvym_required)
+ jQuery('#jform_private').closest('.control-group').show();
+ // add required attribute to private field
+ if (jform_vvvvwecvyk_required)
{
- updateFieldRequired('password',0);
- jQuery('#jform_password').prop('required','required');
- jQuery('#jform_password').attr('aria-required',true);
- jQuery('#jform_password').addClass('required');
- jform_vvvvwecvym_required = false;
+ updateFieldRequired('private',0);
+ jQuery('#jform_private').prop('required','required');
+ jQuery('#jform_private').attr('aria-required',true);
+ jQuery('#jform_private').addClass('required');
+ jform_vvvvwecvyk_required = false;
}
}
else
{
- jQuery('#jform_password').closest('.control-group').hide();
- // remove required attribute from password field
- if (!jform_vvvvwecvym_required)
+ jQuery('#jform_private').closest('.control-group').hide();
+ // remove required attribute from private field
+ if (!jform_vvvvwecvyk_required)
{
- updateFieldRequired('password',1);
- jQuery('#jform_password').removeAttr('required');
- jQuery('#jform_password').removeAttr('aria-required');
- jQuery('#jform_password').removeClass('required');
- jform_vvvvwecvym_required = true;
+ updateFieldRequired('private',1);
+ jQuery('#jform_private').removeAttr('required');
+ jQuery('#jform_private').removeAttr('aria-required');
+ jQuery('#jform_private').removeClass('required');
+ jform_vvvvwecvyk_required = true;
}
}
}
@@ -313,7 +392,7 @@ function protocol_vvvvwec_SomeFunc(protocol_vvvvwec)
function authentication_vvvvwec_SomeFunc(authentication_vvvvwec)
{
// set the function logic
- if (authentication_vvvvwec == 1 || authentication_vvvvwec == 3 || authentication_vvvvwec == 5)
+ if (authentication_vvvvwec == 2 || authentication_vvvvwec == 3)
{
return true;
}
@@ -351,28 +430,28 @@ function vvvvwee(protocol_vvvvwee,authentication_vvvvwee)
// set this function logic
if (protocol && authentication)
{
- jQuery('#jform_private').closest('.control-group').show();
- // add required attribute to private field
- if (jform_vvvvweevyn_required)
+ jQuery('#jform_private_key').closest('.control-group').show();
+ // add required attribute to private_key field
+ if (jform_vvvvweevyl_required)
{
- updateFieldRequired('private',0);
- jQuery('#jform_private').prop('required','required');
- jQuery('#jform_private').attr('aria-required',true);
- jQuery('#jform_private').addClass('required');
- jform_vvvvweevyn_required = false;
+ updateFieldRequired('private_key',0);
+ jQuery('#jform_private_key').prop('required','required');
+ jQuery('#jform_private_key').attr('aria-required',true);
+ jQuery('#jform_private_key').addClass('required');
+ jform_vvvvweevyl_required = false;
}
}
else
{
- jQuery('#jform_private').closest('.control-group').hide();
- // remove required attribute from private field
- if (!jform_vvvvweevyn_required)
+ jQuery('#jform_private_key').closest('.control-group').hide();
+ // remove required attribute from private_key field
+ if (!jform_vvvvweevyl_required)
{
- updateFieldRequired('private',1);
- jQuery('#jform_private').removeAttr('required');
- jQuery('#jform_private').removeAttr('aria-required');
- jQuery('#jform_private').removeClass('required');
- jform_vvvvweevyn_required = true;
+ updateFieldRequired('private_key',1);
+ jQuery('#jform_private_key').removeAttr('required');
+ jQuery('#jform_private_key').removeAttr('aria-required');
+ jQuery('#jform_private_key').removeClass('required');
+ jform_vvvvweevyl_required = true;
}
}
}
@@ -392,7 +471,7 @@ function protocol_vvvvwee_SomeFunc(protocol_vvvvwee)
function authentication_vvvvwee_SomeFunc(authentication_vvvvwee)
{
// set the function logic
- if (authentication_vvvvwee == 2 || authentication_vvvvwee == 3)
+ if (authentication_vvvvwee == 4 || authentication_vvvvwee == 5)
{
return true;
}
@@ -430,29 +509,11 @@ function vvvvweg(protocol_vvvvweg,authentication_vvvvweg)
// set this function logic
if (protocol && authentication)
{
- jQuery('#jform_private_key').closest('.control-group').show();
- // add required attribute to private_key field
- if (jform_vvvvwegvyo_required)
- {
- updateFieldRequired('private_key',0);
- jQuery('#jform_private_key').prop('required','required');
- jQuery('#jform_private_key').attr('aria-required',true);
- jQuery('#jform_private_key').addClass('required');
- jform_vvvvwegvyo_required = false;
- }
+ jQuery('#jform_secret').closest('.control-group').show();
}
else
{
- jQuery('#jform_private_key').closest('.control-group').hide();
- // remove required attribute from private_key field
- if (!jform_vvvvwegvyo_required)
- {
- updateFieldRequired('private_key',1);
- jQuery('#jform_private_key').removeAttr('required');
- jQuery('#jform_private_key').removeAttr('aria-required');
- jQuery('#jform_private_key').removeClass('required');
- jform_vvvvwegvyo_required = true;
- }
+ jQuery('#jform_secret').closest('.control-group').hide();
}
}
@@ -471,68 +532,7 @@ function protocol_vvvvweg_SomeFunc(protocol_vvvvweg)
function authentication_vvvvweg_SomeFunc(authentication_vvvvweg)
{
// set the function logic
- if (authentication_vvvvweg == 4 || authentication_vvvvweg == 5)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwei function
-function vvvvwei(protocol_vvvvwei,authentication_vvvvwei)
-{
- if (isSet(protocol_vvvvwei) && protocol_vvvvwei.constructor !== Array)
- {
- var temp_vvvvwei = protocol_vvvvwei;
- var protocol_vvvvwei = [];
- protocol_vvvvwei.push(temp_vvvvwei);
- }
- else if (!isSet(protocol_vvvvwei))
- {
- var protocol_vvvvwei = [];
- }
- var protocol = protocol_vvvvwei.some(protocol_vvvvwei_SomeFunc);
-
- if (isSet(authentication_vvvvwei) && authentication_vvvvwei.constructor !== Array)
- {
- var temp_vvvvwei = authentication_vvvvwei;
- var authentication_vvvvwei = [];
- authentication_vvvvwei.push(temp_vvvvwei);
- }
- else if (!isSet(authentication_vvvvwei))
- {
- var authentication_vvvvwei = [];
- }
- var authentication = authentication_vvvvwei.some(authentication_vvvvwei_SomeFunc);
-
-
- // set this function logic
- if (protocol && authentication)
- {
- jQuery('#jform_secret').closest('.control-group').show();
- }
- else
- {
- jQuery('#jform_secret').closest('.control-group').hide();
- }
-}
-
-// the vvvvwei Some function
-function protocol_vvvvwei_SomeFunc(protocol_vvvvwei)
-{
- // set the function logic
- if (protocol_vvvvwei == 2)
- {
- return true;
- }
- return false;
-}
-
-// the vvvvwei Some function
-function authentication_vvvvwei_SomeFunc(authentication_vvvvwei)
-{
- // set the function logic
- if (authentication_vvvvwei == 2 || authentication_vvvvwei == 3 || authentication_vvvvwei == 4 || authentication_vvvvwei == 5)
+ if (authentication_vvvvweg == 2 || authentication_vvvvweg == 3 || authentication_vvvvweg == 4 || authentication_vvvvweg == 5)
{
return true;
}
diff --git a/admin/models/help_document.php b/admin/models/help_document.php
index 5edbacd75..ece45fb0a 100644
--- a/admin/models/help_document.php
+++ b/admin/models/help_document.php
@@ -415,7 +415,7 @@ class ComponentbuilderModelHelp_document extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
diff --git a/admin/models/help_documents.php b/admin/models/help_documents.php
index 4587f36f0..a78e375d8 100644
--- a/admin/models/help_documents.php
+++ b/admin/models/help_documents.php
@@ -278,7 +278,7 @@ class ComponentbuilderModelHelp_documents extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -296,7 +296,24 @@ class ComponentbuilderModelHelp_documents extends JModelList
// From the componentbuilder_help_document table
$query->from($db->quoteName('#__componentbuilder_help_document', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Order the results by ordering
$query->order('a.ordering ASC');
diff --git a/admin/models/import.php b/admin/models/import.php
index 71b78bc15..fb6e19c80 100644
--- a/admin/models/import.php
+++ b/admin/models/import.php
@@ -426,7 +426,15 @@ class ComponentbuilderModelImport extends JModelLegacy
$jinput = JFactory::getApplication()->input;
foreach($target_headers as $header)
{
- $data['target_headers'][$header] = $jinput->getString($header, null);
+ if (($column = $jinput->getString($header, false)) !== false ||
+ ($column = $jinput->getString(strtolower($header), false)) !== false)
+ {
+ $data['target_headers'][$header] = $column;
+ }
+ else
+ {
+ $data['target_headers'][$header] = null;
+ }
}
// set the data
if(isset($package['dir']))
diff --git a/admin/models/import_language_translations.php b/admin/models/import_language_translations.php
index 9d2745852..90dfb4e63 100644
--- a/admin/models/import_language_translations.php
+++ b/admin/models/import_language_translations.php
@@ -419,24 +419,32 @@ class ComponentbuilderModelImport_language_translations extends JModelLegacy
{
if (ComponentbuilderHelper::checkArray($target_headers))
{
- // make sure the file is loaded
- JLoader::import('PHPExcel', JPATH_COMPONENT_ADMINISTRATOR . '/helpers');
+ // make sure the file is loaded
+ ComponentbuilderHelper::composerAutoload('phpspreadsheet');
$jinput = JFactory::getApplication()->input;
foreach($target_headers as $header)
{
- $data['target_headers'][$header] = $jinput->getString($header, null);
+ if (($column = $jinput->getString($header, false)) !== false ||
+ ($column = $jinput->getString(strtolower($header), false)) !== false)
+ {
+ $data['target_headers'][$header] = $column;
+ }
+ else
+ {
+ $data['target_headers'][$header] = null;
+ }
}
// set the data
if(isset($package['dir']))
{
- $inputFileType = PHPExcel_IOFactory::identify($package['dir']);
- $excelReader = PHPExcel_IOFactory::createReader($inputFileType);
+ $inputFileType = IOFactory::identify($package['dir']);
+ $excelReader = IOFactory::createReader($inputFileType);
$excelReader->setReadDataOnly(true);
$excelObj = $excelReader->load($package['dir']);
$data['array'] = $excelObj->getActiveSheet()->toArray(null, true,true,true);
$excelObj->disconnectWorksheets();
unset($excelObj);
- return $this->save($data,$table);
+ return $this->save($data, $table);
}
}
return false;
@@ -463,10 +471,14 @@ class ComponentbuilderModelImport_language_translations extends JModelLegacy
{
$source_key = $data['target_headers']['Source'];
}
- else
+ elseif (isset($data['target_headers']['English']))
{
$source_key = $data['target_headers']['English'];
}
+ else
+ {
+ $source_key = null;
+ }
// get the first array set
$firstSet = reset($data['array']);
// check if first array is a header array and remove if true
diff --git a/admin/models/joomla_component.php b/admin/models/joomla_component.php
index d4063eb70..ed27334ef 100644
--- a/admin/models/joomla_component.php
+++ b/admin/models/joomla_component.php
@@ -694,8 +694,8 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -878,7 +878,7 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1385,8 +1385,15 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "joomla_component", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('joomla_component', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "joomla_component", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/joomla_components.php b/admin/models/joomla_components.php
index 6f2a6d7ce..514d2d72d 100644
--- a/admin/models/joomla_components.php
+++ b/admin/models/joomla_components.php
@@ -1672,6 +1672,11 @@ class ComponentbuilderModelJoomla_components extends JModelList
*/
protected function setLanguageTranslation(&$id, $target = 'components')
{
+ // check if the export of language strings is allowed
+ if ($this->params->get('export_language_strings', 1) != 1)
+ {
+ return;
+ }
// Create a new query object.
$query = $this->_db->getQuery(true);
$query->select(array('a.*'));
@@ -2252,7 +2257,7 @@ class ComponentbuilderModelJoomla_components extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -2270,7 +2275,24 @@ class ComponentbuilderModelJoomla_components extends JModelList
// From the componentbuilder_joomla_component table
$query->from($db->quoteName('#__componentbuilder_joomla_component', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/joomla_module.php b/admin/models/joomla_module.php
index 313d937bd..f1e1bc0b2 100644
--- a/admin/models/joomla_module.php
+++ b/admin/models/joomla_module.php
@@ -514,8 +514,8 @@ class ComponentbuilderModelJoomla_module extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -698,7 +698,7 @@ class ComponentbuilderModelJoomla_module extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1199,8 +1199,15 @@ class ComponentbuilderModelJoomla_module extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "joomla_module", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('joomla_module', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "joomla_module", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/joomla_plugin.php b/admin/models/joomla_plugin.php
index 4fac186d9..7819e6ca2 100644
--- a/admin/models/joomla_plugin.php
+++ b/admin/models/joomla_plugin.php
@@ -479,8 +479,8 @@ class ComponentbuilderModelJoomla_plugin extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -663,7 +663,7 @@ class ComponentbuilderModelJoomla_plugin extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1162,8 +1162,15 @@ class ComponentbuilderModelJoomla_plugin extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "joomla_plugin", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('joomla_plugin', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "joomla_plugin", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/language_translations.php b/admin/models/language_translations.php
index 2a839d248..d66135701 100644
--- a/admin/models/language_translations.php
+++ b/admin/models/language_translations.php
@@ -249,7 +249,7 @@ class ComponentbuilderModelLanguage_translations extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -267,7 +267,24 @@ class ComponentbuilderModelLanguage_translations extends JModelList
// From the componentbuilder_language_translation table
$query->from($db->quoteName('#__componentbuilder_language_translation', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/languages.php b/admin/models/languages.php
index 302ad4554..a232fecb2 100644
--- a/admin/models/languages.php
+++ b/admin/models/languages.php
@@ -322,7 +322,7 @@ class ComponentbuilderModelLanguages extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -340,7 +340,24 @@ class ComponentbuilderModelLanguages extends JModelList
// From the componentbuilder_language table
$query->from($db->quoteName('#__componentbuilder_language', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/layouts.php b/admin/models/layouts.php
index 0c5bd8fe8..bbede2926 100644
--- a/admin/models/layouts.php
+++ b/admin/models/layouts.php
@@ -255,7 +255,7 @@ class ComponentbuilderModelLayouts extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -273,7 +273,24 @@ class ComponentbuilderModelLayouts extends JModelList
// From the componentbuilder_layout table
$query->from($db->quoteName('#__componentbuilder_layout', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/library.php b/admin/models/library.php
index 7d3ce5578..5df64cb1c 100644
--- a/admin/models/library.php
+++ b/admin/models/library.php
@@ -358,8 +358,8 @@ class ComponentbuilderModelLibrary extends JModelAdmin
}
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -542,7 +542,7 @@ class ComponentbuilderModelLibrary extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@@ -1048,8 +1048,15 @@ class ComponentbuilderModelLibrary extends JModelAdmin
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "library", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('library', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "library", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/placeholders.php b/admin/models/placeholders.php
index 6d191f790..153139148 100644
--- a/admin/models/placeholders.php
+++ b/admin/models/placeholders.php
@@ -201,7 +201,7 @@ class ComponentbuilderModelPlaceholders extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -219,7 +219,24 @@ class ComponentbuilderModelPlaceholders extends JModelList
// From the componentbuilder_placeholder table
$query->from($db->quoteName('#__componentbuilder_placeholder', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/server.php b/admin/models/server.php
index e81331f46..0008b8c83 100644
--- a/admin/models/server.php
+++ b/admin/models/server.php
@@ -191,7 +191,7 @@ class ComponentbuilderModelServer extends JModelAdmin
*
* @return mixed An array of data items on success, false on failure.
*/
- public function getVyplinked_components()
+ public function getVymlinked_components()
{
// Get the user object.
$user = JFactory::getUser();
@@ -557,7 +557,7 @@ class ComponentbuilderModelServer extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
- if (ComponentbuilderHelper::checkString($data['not_required']))
+ if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
diff --git a/admin/models/servers.php b/admin/models/servers.php
index 2f820e780..f12905b60 100644
--- a/admin/models/servers.php
+++ b/admin/models/servers.php
@@ -244,7 +244,7 @@ class ComponentbuilderModelServers extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -262,7 +262,24 @@ class ComponentbuilderModelServers extends JModelList
// From the componentbuilder_server table
$query->from($db->quoteName('#__componentbuilder_server', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/site_view.php b/admin/models/site_view.php
index a826d76dd..823a0a3dc 100644
--- a/admin/models/site_view.php
+++ b/admin/models/site_view.php
@@ -527,8 +527,8 @@ class ComponentbuilderModelSite_view extends JModelAdmin
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -1146,8 +1146,15 @@ class ComponentbuilderModelSite_view extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "site_view", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('site_view', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "site_view", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/site_views.php b/admin/models/site_views.php
index 69207716f..2ad2c53bb 100644
--- a/admin/models/site_views.php
+++ b/admin/models/site_views.php
@@ -287,7 +287,7 @@ class ComponentbuilderModelSite_views extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -305,7 +305,24 @@ class ComponentbuilderModelSite_views extends JModelList
// From the componentbuilder_site_view table
$query->from($db->quoteName('#__componentbuilder_site_view', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/snippet.php b/admin/models/snippet.php
index 4439466cb..56602624b 100644
--- a/admin/models/snippet.php
+++ b/admin/models/snippet.php
@@ -243,8 +243,8 @@ class ComponentbuilderModelSnippet extends JModelAdmin
}
}
- // Only load the GUID if new item
- if (0 == $id)
+ // Only load the GUID if new item (or empty)
+ if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@@ -852,8 +852,15 @@ class ComponentbuilderModelSnippet extends JModelAdmin
}
// Set the GUID if empty or not valid
- if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "snippet", $data['id']))
+ if (empty($data['guid']) && $data['id'] > 0)
{
+ // get the existing one
+ $data['guid'] = (string) ComponentbuilderHelper::getVar('snippet', $data['id'], 'id', 'guid');
+ }
+ // Set the GUID if empty or not valid
+ while (!ComponentbuilderHelper::validGUID($data['guid'], "snippet", $data['id']))
+ {
+ // must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}
diff --git a/admin/models/snippets.php b/admin/models/snippets.php
index 5fa27a5aa..c2613b5ff 100644
--- a/admin/models/snippets.php
+++ b/admin/models/snippets.php
@@ -343,7 +343,7 @@ class ComponentbuilderModelSnippets extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -361,7 +361,24 @@ class ComponentbuilderModelSnippets extends JModelList
// From the componentbuilder_snippet table
$query->from($db->quoteName('#__componentbuilder_snippet', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/templates.php b/admin/models/templates.php
index ac562b4f4..be7fc91a1 100644
--- a/admin/models/templates.php
+++ b/admin/models/templates.php
@@ -255,7 +255,7 @@ class ComponentbuilderModelTemplates extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -273,7 +273,24 @@ class ComponentbuilderModelTemplates extends JModelList
// From the componentbuilder_template table
$query->from($db->quoteName('#__componentbuilder_template', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/models/validation_rules.php b/admin/models/validation_rules.php
index b1dbca638..a2636f860 100644
--- a/admin/models/validation_rules.php
+++ b/admin/models/validation_rules.php
@@ -199,7 +199,7 @@ class ComponentbuilderModelValidation_rules extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
- if (ComponentbuilderHelper::checkArray($pks))
+ if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@@ -217,7 +217,24 @@ class ComponentbuilderModelValidation_rules extends JModelList
// From the componentbuilder_validation_rule table
$query->from($db->quoteName('#__componentbuilder_validation_rule', 'a'));
- $query->where('a.id IN (' . implode(',',$pks) . ')');
+ // The bulk export path
+ if ('bulk' === $pks)
+ {
+ $query->where('a.id > 0');
+ }
+ // A large array of ID's will not work out well
+ elseif ($pks_size > 500)
+ {
+ // Use lowest ID
+ $query->where('a.id >= ' . (int) min($pks));
+ // Use highest ID
+ $query->where('a.id <= ' . (int) max($pks));
+ }
+ // The normal default path
+ else
+ {
+ $query->where('a.id IN (' . implode(',',$pks) . ')');
+ }
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql
index 2feb16036..76e3e7ea5 100644
--- a/admin/sql/install.mysql.utf8.sql
+++ b/admin/sql/install.mysql.utf8.sql
@@ -1904,7 +1904,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_plugin_files_folders_urls
--
INSERT INTO `#__componentbuilder_joomla_component` (`id`, `add_license`, `license_type`, `mvc_versiondate`, `add_css_admin`, `add_css_site`, `add_email_helper`, `add_javascript`, `add_php_helper_admin`, `add_php_helper_both`, `add_php_helper_site`, `add_php_postflight_install`, `add_php_method_uninstall`, `add_php_postflight_update`, `add_php_preflight_install`, `add_php_preflight_update`, `add_placeholders`, `add_sql`, `add_sql_uninstall`, `addfootable`, `adduikit`, `add_admin_event`, `add_site_event`, `add_update_server`, `add_sales_server`, `sales_server`, `update_server`, `update_server_target`, `update_server_url`, `php_admin_event`, `php_site_event`, `addreadme`, `readme`, `author`, `bom`, `buildcomp`, `buildcompsql`, `companyname`, `component_version`, `copyright`, `creatuserhelper`, `css_admin`, `css_site`, `dashboard`, `dashboard_type`, `debug_linenr`, `description`, `email`, `emptycontributors`, `export_buy_link`, `joomla_source_link`, `export_key`, `image`, `javascript`, `license`, `name`, `system_name`, `toignore`, `name_code`, `number`, `php_helper_admin`, `php_helper_both`, `php_helper_site`, `php_postflight_install`, `php_method_uninstall`, `php_postflight_update`, `php_preflight_install`, `php_preflight_update`, `short_description`, `sql`, `sql_uninstall`, `website`, `published`, `created`, `modified`, `hits`, `ordering`, `whmcs_key`, `whmcs_url`, `guid`) VALUES
-(25, '', 1, '', '', '', '', '', '', '', 1, 1, '', '', '', '', '', '', '', '', 1, '', '', 1, '', '', '', 2, 'https://raw.githubusercontent.com/namibia/demo-joomla-3-component/master/demo_updateserver.xml', '', '', 1, 'IyAjIyNDb21wb25lbnRfbmFtZSMjIyAoIyMjVkVSU0lPTiMjIykNCg0KIVsjIyNDb21wb25lbnRfbmFtZSMjIyBpbWFnZV0oaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL25hbWliaWEvZGVtby1qb29tbGEtMy1jb21wb25lbnQvbWFzdGVyL2FkbWluL2Fzc2V0cy9pbWFnZXMvdmRtLWNvbXBvbmVudC5qcGcgIlRoZSAjIyNDb21wb25lbnRfbmFtZSMjIyIpDQoNCiMjI0RFU0NSSVBUSU9OIyMjDQoNCiMgQnVpbGQgRGV0YWlscw0KDQorICpDb21wYW55KjogWyMjI0NPTVBBTllOQU1FIyMjXSgjIyNBVVRIT1JXRUJTSVRFIyMjKQ0KKyAqQXV0aG9yKjogWyMjI0FVVEhPUiMjI10obWFpbHRvOiMjI0FVVEhPUkVNQUlMIyMjKQ0KKyAqTmFtZSo6IFsjIyNDb21wb25lbnRfbmFtZSMjI10oIyMjQVVUSE9SV0VCU0lURSMjIykNCisgKkZpcnN0IEJ1aWxkKjogIyMjQ1JFQVRJT05EQVRFIyMjDQorICpMYXN0IEJ1aWxkKjogIyMjQlVJTEREQVRFIyMjDQorICpWZXJzaW9uKjogIyMjVkVSU0lPTiMjIw0KKyAqQ29weXJpZ2h0KjogIyMjQ09QWVJJR0hUIyMjDQorICpMaWNlbnNlKjogIyMjTElDRU5TRSMjIw0KDQojIyBCdWlsZCBUaW1lDQoNCioqIyMjdG90YWxIb3VycyMjIyBIb3VycyoqIG9yICoqIyMjdG90YWxEYXlzIyMjIEVpZ2h0IEhvdXIgRGF5cyoqIChhY3R1YWwgdGltZSB0aGUgYXV0aG9yIHNhdmVkIC0NCmR1ZSB0byBbQXV0b21hdGVkIENvbXBvbmVudCBCdWlsZGVyXShodHRwczovL3d3dy52ZG0uaW8vam9vbWxhLWNvbXBvbmVudC1idWlsZGVyKSkNCg0KPiAoaWYgY3JlYXRpbmcgYSBmb2xkZXIgYW5kIGZpbGUgdG9vayAqKjUgc2Vjb25kcyoqIGFuZCB3cml0aW5nIG9uZSBsaW5lIG9mIGNvZGUgdG9vayAqKjEwIHNlY29uZHMqKiwNCj4gbmV2ZXIgbWFraW5nIG9uZSBtaXN0YWtlIG9yIHRha2luZyBhbnkgY29mZmVlIGJyZWFrLikNCg0KKyAqTGluZSBjb3VudCo6ICoqIyMjTElORV9DT1VOVCMjIyoqDQorICpGaWxlIGNvdW50KjogKiojIyNGSUxFX0NPVU5UIyMjKioNCisgKkZvbGRlciBjb3VudCo6ICoqIyMjRk9MREVSX0NPVU5UIyMjKioNCg0KKiojIyNhY3R1YWxIb3Vyc1NwZW50IyMjIEhvdXJzKiogb3IgKiojIyNhY3R1YWxEYXlzU3BlbnQjIyMgRWlnaHQgSG91ciBEYXlzKiogKHRoZSBhY3R1YWwgdGltZSB0aGUgYXV0aG9yIHNwZW50KQ0KDQo+ICh3aXRoIHRoZSBmb2xsb3dpbmcgYnJlYWsgZG93bjoNCj4gKipkZWJ1Z2dpbmcgQCMjI2RlYnVnZ2luZ0hvdXJzIyMjaG91cnMqKiA9IGNvZGluZ3RpbWUgLyA0Ow0KPiAqKnBsYW5uaW5nIEAjIyNwbGFubmluZ0hvdXJzIyMjaG91cnMqKiA9IGNvZGluZ3RpbWUgLyA3Ow0KPiAqKm1hcHBpbmcgQCMjI21hcHBpbmdIb3VycyMjI2hvdXJzKiogPSBjb2Rpbmd0aW1lIC8gMTA7DQo+ICoqb2ZmaWNlIEAjIyNvZmZpY2VIb3VycyMjI2hvdXJzKiogPSBjb2Rpbmd0aW1lIC8gNjspDQoNCioqIyMjYWN0dWFsVG90YWxIb3VycyMjIyBIb3VycyoqIG9yICoqIyMjYWN0dWFsVG90YWxEYXlzIyMjIEVpZ2h0IEhvdXIgRGF5cyoqDQooYSB0b3RhbCBvZiB0aGUgcmVhbGlzdGljIHRpbWUgZnJhbWUgZm9yIHRoaXMgcHJvamVjdCkNCg0KPiAoaWYgY3JlYXRpbmcgYSBmb2xkZXIgYW5kIGZpbGUgdG9vayAqKjUgc2Vjb25kcyoqIGFuZCB3cml0aW5nIG9uZSBsaW5lIG9mIGNvZGUgdG9vayAqKjEwIHNlY29uZHMqKiwNCj4gd2l0aCB0aGUgbm9ybWFsIGV2ZXJ5ZGF5IHJlYWxpdGllcyBhdCB0aGUgb2ZmaWNlLCB0aGF0IGluY2x1ZGVzIHRoZSBjb21wb25lbnQgcGxhbm5pbmcsIG1hcHBpbmcgJiBkZWJ1Z2dpbmcuKQ0KDQpQcm9qZWN0IGR1cmF0aW9uOiAqKiMjI3Byb2plY3RXZWVrVGltZSMjIyB3ZWVrcyoqIG9yICoqIyMjcHJvamVjdE1vbnRoVGltZSMjIyBtb250aHMqKg0KDQo+IFRoaXMgKipjb21wb25lbnQqKiB3YXMgYnVpbGQgd2l0aCBhIEpvb21sYSBbQXV0b21hdGVkIENvbXBvbmVudCBCdWlsZGVyXShodHRwczovL3d3dy52ZG0uaW8vam9vbWxhLWNvbXBvbmVudC1idWlsZGVyKS4NCj4gRGV2ZWxvcGVkIGJ5IFtMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZV0obWFpbHRvOmpvb21sYUB2ZG0uaW8pDQoNCiMjIERvbmF0aW9ucw0KDQpJZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoaXMgcHJvamVjdCwgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nOg0KKiBQYXlQYWw6IFtwYXlwYWwubWUvcGF5dmRtXShodHRwczovL3d3dy5wYXlwYWwubWUvcGF5dmRtKQ0KKiBCaXRjb2luOiAxRkx4aVQ2d3l4Z1ozYm9ldmlMa1lKMURScHA0MXV6cHhhDQoqIEV0aGVyZXVtOiAweDI0MzM5MmRhYTNjOWM4YmM4NDFmY2FjZjdjN2Y3MjU0MWNiMTY4MjMg', 'Llewellyn van der Merwe', 'default.txt', '', '', 'Vast Development Method', '2.0.1', 'Copyright (C) 2015. All Rights Reserved', '', '', '', '', 1, '', 'Just a basic demo of the most basic implementations of the [Joomla](http://www.joomla.org) Component Builder\'s ability.', 'joomla@vdm.io', '', '', 'https://github.com/namibia/demo-joomla-3-component', 'ssoiRTgyHnjpbecX2FNhW3d1xwZw3anFWZAhImJtELo=', 'images/vdm/demo500.jpg', '', 'GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html', 'Demo', 'Demo', '.git', 'demo', 4, '', '', 'CS8qKg0KCSAqCUNoYW5nZSB0byBuaWNlIGZhbmN5IGRhdGUNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhbmN5RGF0ZSgkZGF0ZSkNCgl7DQoJCWlmICghc2VsZjo6aXNWYWxpZFRpbWVTdGFtcCgkZGF0ZSkpDQoJCXsNCgkJCSRkYXRlID0gc3RydG90aW1lKCRkYXRlKTsNCgkJfQ0KCQlyZXR1cm4gZGF0ZSgnalMgXG9cZiBGIFknLCRkYXRlKTsNCgl9DQoNCgkvKioNCgkgKglDaGFuZ2UgdG8gbmljZSBmYW5jeSB0aW1lIGFuZCBkYXRlDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYW5jeURhdGVUaW1lKCR0aW1lKQ0KCXsNCgkJaWYgKCFzZWxmOjppc1ZhbGlkVGltZVN0YW1wKCR0aW1lKSkNCgkJew0KCQkJJHRpbWUgPSBzdHJ0b3RpbWUoJHRpbWUpOw0KCQl9DQoJCXJldHVybiBkYXRlKCcoRzppKSBqUyBcb1xmIEYgWScsJHRpbWUpOw0KCX0NCg0KCS8qKg0KCSAqCUNoYW5nZSB0byBuaWNlIGhvdXI6bWludXRlcyB0aW1lDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYW5jeVRpbWUoJHRpbWUpDQoJew0KCQlpZiAoIXNlbGY6OmlzVmFsaWRUaW1lU3RhbXAoJHRpbWUpKQ0KCQl7DQoJCQkkdGltZSA9IHN0cnRvdGltZSgkdGltZSk7DQoJCX0NCgkJcmV0dXJuIGRhdGUoJ0c6aScsJHRpbWUpOw0KCX0NCg0KCS8qKg0KCSAqCUNoZWNrIGlmIHN0cmluZyBpcyBhIHZhbGlkIHRpbWUgc3RhbXANCgkgKi8NCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzVmFsaWRUaW1lU3RhbXAoJHRpbWVzdGFtcCkNCgl7DQoJCXJldHVybiAoKGludCkgJHRpbWVzdGFtcCA9PT0gJHRpbWVzdGFtcCkNCgkJJiYgKCR0aW1lc3RhbXAgPD0gUEhQX0lOVF9NQVgpDQoJCSYmICgkdGltZXN0YW1wID49IH5QSFBfSU5UX01BWCk7DQoJfQ0K', 'CQkvLyBHZXQgQXBwbGljYXRpb24gb2JqZWN0DQoJCSRhcHAgPSBKRmFjdG9yeTo6Z2V0QXBwbGljYXRpb24oKTsNCgkJJGFwcC0+ZW5xdWV1ZU1lc3NhZ2UoJ1RoaXMgaXMgYSBkZW1vIGNvbXBvbmVudCBkZXZlbG9wZWQgaW4gPGEgaHJlZj0iaHR0cDovL3ZkbS5iei9jb21wb25lbnQtYnVpbGRlciIgdGFnZXQ9Il9iYWxuayIgdGl0bGU9Ikpvb21sYSBDb21wb25lbnQgQnVpbGRlciI+SkNCPC9hPiEgWW91IGNhbiBidWlsZCBtb3JlIGNvbXBvbmVudHMgbGlrZSB0aGlzIHdpdGggSkNCLCBjaGVja291dCBvdXIgcGFnZSBvbiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdmRtLWlvL0pvb21sYS1Db21wb25lbnQtQnVpbGRlciIgdGFnZXQ9Il9iYWxuayIgdGl0bGU9Ikpvb21sYSBDb21wb25lbnQgQnVpbGRlciI+Z2l0aHViPC9hPiBmb3IgbW9yZSBpbmZvLiBUaGUgZnV0dXJlIG9mIDxhIGhyZWY9Imh0dHA6Ly92ZG0uYnovY29tcG9uZW50LWJ1aWxkZXIiIHRhZ2V0PSJfYmFsbmsiIHRpdGxlPSJKb29tbGEgQ29tcG9uZW50IEJ1aWxkZXIiPkpvb21sYSBDb21wb25lbnQgRGV2ZWxvcG1lbnQ8L2E+IGlzIEhlcmUhJywgJ0luZm8nKTs=', '', '', '', '', 'Demo Component', '', '', 'https://www.vdm.io/', 1, '2016-10-18 11:44:09', '2020-05-21 13:12:17', '', 3, '9K0W+p28QsHgdHuzrpCNpctEhN3vABrEKYTyV3qaQmg=', '', 'efde995e-60aa-4b39-b644-44349dfb660d');
+(25, '', 1, '', '', '', '', '', '', '', 1, 1, '', '', '', '', '', '', '', '', 1, '', '', 1, '', '', '', 2, 'https://raw.githubusercontent.com/namibia/demo-joomla-3-component/master/demo_updateserver.xml', '', '', 1, 'IyAjIyNDb21wb25lbnRfbmFtZSMjIyAoIyMjVkVSU0lPTiMjIykNCg0KIVsjIyNDb21wb25lbnRfbmFtZSMjIyBpbWFnZV0oaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL25hbWliaWEvZGVtby1qb29tbGEtMy1jb21wb25lbnQvbWFzdGVyL2FkbWluL2Fzc2V0cy9pbWFnZXMvdmRtLWNvbXBvbmVudC5qcGcgIlRoZSAjIyNDb21wb25lbnRfbmFtZSMjIyIpDQoNCiMjI0RFU0NSSVBUSU9OIyMjDQoNCiMgQnVpbGQgRGV0YWlscw0KDQorICpDb21wYW55KjogWyMjI0NPTVBBTllOQU1FIyMjXSgjIyNBVVRIT1JXRUJTSVRFIyMjKQ0KKyAqQXV0aG9yKjogWyMjI0FVVEhPUiMjI10obWFpbHRvOiMjI0FVVEhPUkVNQUlMIyMjKQ0KKyAqTmFtZSo6IFsjIyNDb21wb25lbnRfbmFtZSMjI10oIyMjQVVUSE9SV0VCU0lURSMjIykNCisgKkZpcnN0IEJ1aWxkKjogIyMjQ1JFQVRJT05EQVRFIyMjDQorICpMYXN0IEJ1aWxkKjogIyMjQlVJTEREQVRFIyMjDQorICpWZXJzaW9uKjogIyMjVkVSU0lPTiMjIw0KKyAqQ29weXJpZ2h0KjogIyMjQ09QWVJJR0hUIyMjDQorICpMaWNlbnNlKjogIyMjTElDRU5TRSMjIw0KDQojIyBCdWlsZCBUaW1lDQoNCioqIyMjdG90YWxIb3VycyMjIyBIb3VycyoqIG9yICoqIyMjdG90YWxEYXlzIyMjIEVpZ2h0IEhvdXIgRGF5cyoqIChhY3R1YWwgdGltZSB0aGUgYXV0aG9yIHNhdmVkIC0NCmR1ZSB0byBbQXV0b21hdGVkIENvbXBvbmVudCBCdWlsZGVyXShodHRwczovL3d3dy52ZG0uaW8vam9vbWxhLWNvbXBvbmVudC1idWlsZGVyKSkNCg0KPiAoaWYgY3JlYXRpbmcgYSBmb2xkZXIgYW5kIGZpbGUgdG9vayAqKjUgc2Vjb25kcyoqIGFuZCB3cml0aW5nIG9uZSBsaW5lIG9mIGNvZGUgdG9vayAqKjEwIHNlY29uZHMqKiwNCj4gbmV2ZXIgbWFraW5nIG9uZSBtaXN0YWtlIG9yIHRha2luZyBhbnkgY29mZmVlIGJyZWFrLikNCg0KKyAqTGluZSBjb3VudCo6ICoqIyMjTElORV9DT1VOVCMjIyoqDQorICpGaWxlIGNvdW50KjogKiojIyNGSUxFX0NPVU5UIyMjKioNCisgKkZvbGRlciBjb3VudCo6ICoqIyMjRk9MREVSX0NPVU5UIyMjKioNCg0KKiojIyNhY3R1YWxIb3Vyc1NwZW50IyMjIEhvdXJzKiogb3IgKiojIyNhY3R1YWxEYXlzU3BlbnQjIyMgRWlnaHQgSG91ciBEYXlzKiogKHRoZSBhY3R1YWwgdGltZSB0aGUgYXV0aG9yIHNwZW50KQ0KDQo+ICh3aXRoIHRoZSBmb2xsb3dpbmcgYnJlYWsgZG93bjoNCj4gKipkZWJ1Z2dpbmcgQCMjI2RlYnVnZ2luZ0hvdXJzIyMjaG91cnMqKiA9IGNvZGluZ3RpbWUgLyA0Ow0KPiAqKnBsYW5uaW5nIEAjIyNwbGFubmluZ0hvdXJzIyMjaG91cnMqKiA9IGNvZGluZ3RpbWUgLyA3Ow0KPiAqKm1hcHBpbmcgQCMjI21hcHBpbmdIb3VycyMjI2hvdXJzKiogPSBjb2Rpbmd0aW1lIC8gMTA7DQo+ICoqb2ZmaWNlIEAjIyNvZmZpY2VIb3VycyMjI2hvdXJzKiogPSBjb2Rpbmd0aW1lIC8gNjspDQoNCioqIyMjYWN0dWFsVG90YWxIb3VycyMjIyBIb3VycyoqIG9yICoqIyMjYWN0dWFsVG90YWxEYXlzIyMjIEVpZ2h0IEhvdXIgRGF5cyoqDQooYSB0b3RhbCBvZiB0aGUgcmVhbGlzdGljIHRpbWUgZnJhbWUgZm9yIHRoaXMgcHJvamVjdCkNCg0KPiAoaWYgY3JlYXRpbmcgYSBmb2xkZXIgYW5kIGZpbGUgdG9vayAqKjUgc2Vjb25kcyoqIGFuZCB3cml0aW5nIG9uZSBsaW5lIG9mIGNvZGUgdG9vayAqKjEwIHNlY29uZHMqKiwNCj4gd2l0aCB0aGUgbm9ybWFsIGV2ZXJ5ZGF5IHJlYWxpdGllcyBhdCB0aGUgb2ZmaWNlLCB0aGF0IGluY2x1ZGVzIHRoZSBjb21wb25lbnQgcGxhbm5pbmcsIG1hcHBpbmcgJiBkZWJ1Z2dpbmcuKQ0KDQpQcm9qZWN0IGR1cmF0aW9uOiAqKiMjI3Byb2plY3RXZWVrVGltZSMjIyB3ZWVrcyoqIG9yICoqIyMjcHJvamVjdE1vbnRoVGltZSMjIyBtb250aHMqKg0KDQo+IFRoaXMgKipjb21wb25lbnQqKiB3YXMgYnVpbGQgd2l0aCBhIEpvb21sYSBbQXV0b21hdGVkIENvbXBvbmVudCBCdWlsZGVyXShodHRwczovL3d3dy52ZG0uaW8vam9vbWxhLWNvbXBvbmVudC1idWlsZGVyKS4NCj4gRGV2ZWxvcGVkIGJ5IFtMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZV0obWFpbHRvOmpvb21sYUB2ZG0uaW8pDQoNCiMjIERvbmF0aW9ucw0KDQpJZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoaXMgcHJvamVjdCwgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nOg0KICogUGF5UGFsOiBbcGF5cGFsLm1lL1tbW3BheXBhbG1lXV1dXShodHRwczovL3d3dy5wYXlwYWwubWUvW1tbcGF5cGFsbWVdXV0pDQogKiBCaXRjb2luOiBbW1tiaXRjb2luYWRkcmVzc11dXQ0KICogRXRoZXJldW06IFtbW2V0aGVyZXVtYWRkcmVzc11dXQ==', 'Llewellyn van der Merwe', 'default.txt', '', '', 'Vast Development Method', '2.0.3', 'Copyright (C) 2015. All Rights Reserved', '', '', '', '', 1, '', 'Just a basic demo of the most basic implementations of the [Joomla](http://www.joomla.org) Component Builder\'s ability.', 'joomla@vdm.io', '', '', 'https://github.com/namibia/demo-joomla-3-component', '01Ic5HmAsqKiFShcsOfnYAKPSgmtOI/eMgdvWC0kfbk=', 'images/vdm/demo500.jpg', '', 'GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html', 'Demo', 'Demo (public)', '.git', 'demo', 4, '', '', 'CS8qKg0KCSAqCUNoYW5nZSB0byBuaWNlIGZhbmN5IGRhdGUNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhbmN5RGF0ZSgkZGF0ZSkNCgl7DQoJCWlmICghc2VsZjo6aXNWYWxpZFRpbWVTdGFtcCgkZGF0ZSkpDQoJCXsNCgkJCSRkYXRlID0gc3RydG90aW1lKCRkYXRlKTsNCgkJfQ0KCQlyZXR1cm4gZGF0ZSgnalMgXG9cZiBGIFknLCRkYXRlKTsNCgl9DQoNCgkvKioNCgkgKglDaGFuZ2UgdG8gbmljZSBmYW5jeSB0aW1lIGFuZCBkYXRlDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYW5jeURhdGVUaW1lKCR0aW1lKQ0KCXsNCgkJaWYgKCFzZWxmOjppc1ZhbGlkVGltZVN0YW1wKCR0aW1lKSkNCgkJew0KCQkJJHRpbWUgPSBzdHJ0b3RpbWUoJHRpbWUpOw0KCQl9DQoJCXJldHVybiBkYXRlKCcoRzppKSBqUyBcb1xmIEYgWScsJHRpbWUpOw0KCX0NCg0KCS8qKg0KCSAqCUNoYW5nZSB0byBuaWNlIGhvdXI6bWludXRlcyB0aW1lDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYW5jeVRpbWUoJHRpbWUpDQoJew0KCQlpZiAoIXNlbGY6OmlzVmFsaWRUaW1lU3RhbXAoJHRpbWUpKQ0KCQl7DQoJCQkkdGltZSA9IHN0cnRvdGltZSgkdGltZSk7DQoJCX0NCgkJcmV0dXJuIGRhdGUoJ0c6aScsJHRpbWUpOw0KCX0NCg0KCS8qKg0KCSAqCUNoZWNrIGlmIHN0cmluZyBpcyBhIHZhbGlkIHRpbWUgc3RhbXANCgkgKi8NCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzVmFsaWRUaW1lU3RhbXAoJHRpbWVzdGFtcCkNCgl7DQoJCXJldHVybiAoKGludCkgJHRpbWVzdGFtcCA9PT0gJHRpbWVzdGFtcCkNCgkJJiYgKCR0aW1lc3RhbXAgPD0gUEhQX0lOVF9NQVgpDQoJCSYmICgkdGltZXN0YW1wID49IH5QSFBfSU5UX01BWCk7DQoJfQ0K', 'CQkvLyBHZXQgQXBwbGljYXRpb24gb2JqZWN0DQoJCSRhcHAgPSBKRmFjdG9yeTo6Z2V0QXBwbGljYXRpb24oKTsNCgkJJGFwcC0+ZW5xdWV1ZU1lc3NhZ2UoJ1RoaXMgaXMgYSBkZW1vIGNvbXBvbmVudCBkZXZlbG9wZWQgaW4gPGEgaHJlZj0iaHR0cDovL3ZkbS5iei9jb21wb25lbnQtYnVpbGRlciIgdGFnZXQ9Il9iYWxuayIgdGl0bGU9Ikpvb21sYSBDb21wb25lbnQgQnVpbGRlciI+SkNCPC9hPiEgWW91IGNhbiBidWlsZCBtb3JlIGNvbXBvbmVudHMgbGlrZSB0aGlzIHdpdGggSkNCLCBjaGVja291dCBvdXIgcGFnZSBvbiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdmRtLWlvL0pvb21sYS1Db21wb25lbnQtQnVpbGRlciIgdGFnZXQ9Il9iYWxuayIgdGl0bGU9Ikpvb21sYSBDb21wb25lbnQgQnVpbGRlciI+Z2l0aHViPC9hPiBmb3IgbW9yZSBpbmZvLiBUaGUgZnV0dXJlIG9mIDxhIGhyZWY9Imh0dHA6Ly92ZG0uYnovY29tcG9uZW50LWJ1aWxkZXIiIHRhZ2V0PSJfYmFsbmsiIHRpdGxlPSJKb29tbGEgQ29tcG9uZW50IEJ1aWxkZXIiPkpvb21sYSBDb21wb25lbnQgRGV2ZWxvcG1lbnQ8L2E+IGlzIEhlcmUhJywgJ0luZm8nKTs=', '', '', '', '', 'Demo Component', '', '', 'https://www.vdm.io/', 1, '2016-10-18 11:44:09', '2020-07-28 02:08:36', '', 3, 'pCJuq1QDgFPzSyKTFTAdwr8vw/PPZ1Sj6pAJrjv7hdQ=', '', 'efde995e-60aa-4b39-b644-44349dfb660d');
--
-- Dumping data for table `#__componentbuilder_admin_view`
@@ -2116,9 +2116,9 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(23, '', '', '', '', '', '', '', '', '', 64, '', 'CHAR', '', '', '', 'Alias', 'NOT NULL', '', 24, '\" \"', 1, '2015-04-09 13:46:04', '2016-05-05 22:30:18', 2, '', 216, '335866ce-b81b-4329-901d-c20254135c9c'),
(84, '', '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Description (full width)', 'NOT NULL', '', 25, '\" \"', 1, '2015-03-19 18:20:49', '2016-10-20 17:01:21', 4, '', 265, '749a9917-90c3-49c4-9e72-aa33b0683a87'),
(100, '', '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Email (required)', 'NOT NULL', '', 24, '\" \"', 1, '2015-05-05 23:44:32', '2016-02-07 22:43:18', 4, '', 285, '10c1eccb-b3c3-4325-a056-45a72d116fd8'),
-(158, '', '', '', '', '', '', '', '', '', 64, '', 'CHAR', '', '', '', 'Image', 'NOT NULL', '', 12, '\" \"', 1, '2015-04-29 14:00:56', '2015-08-25 21:15:22', 1, '', 45, '0d6970af-b361-4f65-84f6-0eb0c5f09bad'),
+(158, '', '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Image', 'NOT NULL', '', 12, '\" \"', 1, '2015-04-29 14:00:56', '2020-06-07 02:17:46', 2, '', 45, '0d6970af-b361-4f65-84f6-0eb0c5f09bad'),
(196, '', '', '', '', '', '', '', '', '', 64, '', 'VARCHAR', '', '', '', 'Mobile Phone', 'NOT NULL', '', 23, '\" \"', 1, '2015-04-07 22:12:58', '2016-03-28 14:00:02', 2, '', 7, '65933a19-243a-48b2-aae9-34e2da710051'),
-(199, '', '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', 2, '', '', 'Name', 'NOT NULL', '', 24, '\" \"', 1, '2015-03-19 17:30:59', '2017-10-25 20:26:02', 8, '', 4, '5d3d34dd-4876-4c6a-86ab-b4e162f22c08'),
+(199, '', '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', 2, '', '', 'Name (required)', 'NOT NULL', '', 24, '\" \"', 1, '2015-03-19 17:30:59', '2020-06-01 23:44:08', 9, '', 4, '5d3d34dd-4876-4c6a-86ab-b4e162f22c08'),
(203, '', '', '', '', '', '', '', '', '', 1, '', 'INT', '', '', '', 'Not Required', 'NOT NULL', '', 9, '\" \"', 1, '2015-05-08 16:19:16', '2020-02-27 20:17:33', 13, '', 19, 'da5e6901-6958-40e5-a4f5-6822d6fe57ac'),
(280, '', '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Website', 'NOT NULL', '', 27, '\" \"', 1, '2015-04-08 00:36:16', '2018-07-08 00:11:05', 2, '', 105, '6c3a6983-d1bf-4e5e-9e99-deea00b0cefd'),
(682, '', '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add More', 'NOT NULL', '', 17, '\" \"', 1, '2015-08-05 01:18:20', '2018-03-30 09:30:45', 4, '', 196, 'a66389aa-2323-4f44-8c23-ff44969639be'),
@@ -2129,7 +2129,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
--
INSERT INTO `#__componentbuilder_fieldtype` (`id`, `catid`, `description`, `name`, `properties`, `short_description`, `params`, `published`, `version`, `hits`, `ordering`, `guid`) VALUES
-(1, '', 'The calendar form field type provides a text box for entry of a date. An icon next to the text box provides a link to a pop-up calendar, which can also be used to enter the date value. If the field has a saved value this is shown in the text box. Otherwis', 'Calendar', '{\"properties0\":{\"name\":\"type\",\"example\":\"calendar\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be calendar.\"},\"properties1\":{\"name\":\"name\",\"example\":\"date\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select a date\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"NOW\",\"adjustable\":\"1\",\"description\":\"(optional) is the default date. This must be given in the same format as specified by the format argument. You can put \\\"NOW\\\" to have current time.\"},\"properties4\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the text box.\"},\"properties5\":{\"name\":\"readonly\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is whether the text box is read-only (true or false). If the text box is read-only, the date cannot be changed, but can be selected and copied. No calendar icon will be shown.\"},\"properties6\":{\"name\":\"disabled\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is whether the text box is disabled (true or false). If the text box is disabled, the date cannot be changed, selected or copied.\"},\"properties7\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field.\"},\"properties8\":{\"name\":\"format\",\"example\":\"%d-%m-%Y\",\"adjustable\":\"1\",\"description\":\"(optional) is the date format to be used. This is in the format used by PHP to specify date string formats (see below). If no format argument is given, \'%Y-%m-%d\' is assumed (giving dates like \'2008-04-16\').\"},\"properties9\":{\"name\":\"filter\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is time zone to be used. There are two values; server_utc and user_utc. The first one is server time zone and the later is user time zone as configured in global configuration and user information respectively.\"},\"properties10\":{\"name\":\"size\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional)\"},\"properties11\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties12\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties13\":{\"name\":\"translateformat\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): If set to true, the calendar will use a language string to determine the format. The `format` attribute is ignored. If false, the `format` attribute is used (same behaviour as today). (starting with 3.7.0)\"},\"properties14\":{\"name\":\"showtime\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): If set to true and translateformat is true, the language key DATE_FORMAT_CALENDAR_DATETIME is used, otherwise DATE_FORMAT_CALENDAR_DATE. (starting with 3.7.0)\"},\"properties15\":{\"name\":\"timeformat\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): can be set to 12 (and specify AM or PM) or 24 (starting with 3.7.0)\"},\"properties16\":{\"name\":\"singleheader\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to false, the year and the month selection will be set on two separates lines, with independant selection (starting with 3.7.0)\"},\"properties17\":{\"name\":\"todaybutton\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to true, a button is added at the bottom of the datePicker to select the date of the current day (starting with 3.7.0)\"},\"properties18\":{\"name\":\"weeknumbers\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to true, a column is added at the left of the datePicker to display the number of the week in the current year (starting with 3.7.0)\"},\"properties19\":{\"name\":\"filltable\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to true, dates of the previous and next month is added at the top and the bottom of the current month to fill the grid (starting with 3.7.0)\"},\"properties20\":{\"name\":\"minyear\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): set a signed integer for a number of years (-10, -2, 0, 7, 12, ...) to define the relative lower limit for the year selection. The user could not select a year before your limit (starting with 3.7.0)\"},\"properties21\":{\"name\":\"maxyear\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): set a signed integer for a number of years (-10, -2, 0, 7, 12, ...) to define the relative upper limit for the year selection. The user could not select a year after your limit (starting with 3.7.0)\"}}', 'provides a text box for entry of a date. An icon next to the text box provides a link to a pop-up calendar, which can also be used to enter the date value.', '', 1, 7, '', '', '6cf5a33f-cb25-4a58-bfec-7e1511896402'),
+(1, '', 'The calendar form field type provides a text box for entry of a date. An icon next to the text box provides a link to a pop-up calendar, which can also be used to enter the date value. If the field has a saved value this is shown in the text box. Otherwis', 'Calendar', '{\"properties0\":{\"name\":\"type\",\"example\":\"calendar\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be calendar.\"},\"properties1\":{\"name\":\"name\",\"example\":\"date\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select a date\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"NOW\",\"adjustable\":\"1\",\"description\":\"(optional) is the default date. This must be given in the same format as specified by the format argument. You can put \\\"NOW\\\" to have current time.\"},\"properties4\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the text box.\"},\"properties5\":{\"name\":\"readonly\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is whether the text box is read-only (true or false). If the text box is read-only, the date cannot be changed, but can be selected and copied. No calendar icon will be shown.\"},\"properties6\":{\"name\":\"disabled\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is whether the text box is disabled (true or false). If the text box is disabled, the date cannot be changed, selected or copied.\"},\"properties7\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field.\"},\"properties8\":{\"name\":\"format\",\"example\":\"%d-%m-%Y\",\"adjustable\":\"1\",\"description\":\"(optional) is the date format to be used. This is in the format used by PHP to specify date string formats (see below). If no format argument is given, \'%Y-%m-%d\' is assumed (giving dates like \'2008-04-16\').\"},\"properties9\":{\"name\":\"filter\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is time zone to be used. There are two values; server_utc and user_utc. The first one is server time zone and the later is user time zone as configured in global configuration and user information respectively.\"},\"properties10\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties23\":{\"name\":\"message\",\"example\":\"Error! Please add some text here.\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) The error message that will be displayed instead of the default message.\"},\"properties11\":{\"name\":\"size\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional)\"},\"properties12\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties13\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties14\":{\"name\":\"translateformat\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): If set to true, the calendar will use a language string to determine the format. The `format` attribute is ignored. If false, the `format` attribute is used (same behaviour as today). (starting with 3.7.0)\"},\"properties15\":{\"name\":\"showtime\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): If set to true and translateformat is true, the language key DATE_FORMAT_CALENDAR_DATETIME is used, otherwise DATE_FORMAT_CALENDAR_DATE. (starting with 3.7.0)\"},\"properties16\":{\"name\":\"timeformat\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): can be set to 12 (and specify AM or PM) or 24 (starting with 3.7.0)\"},\"properties17\":{\"name\":\"singleheader\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to false, the year and the month selection will be set on two separates lines, with independant selection (starting with 3.7.0)\"},\"properties18\":{\"name\":\"todaybutton\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to true, a button is added at the bottom of the datePicker to select the date of the current day (starting with 3.7.0)\"},\"properties19\":{\"name\":\"weeknumbers\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to true, a column is added at the left of the datePicker to display the number of the week in the current year (starting with 3.7.0)\"},\"properties20\":{\"name\":\"filltable\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): if set to true, dates of the previous and next month is added at the top and the bottom of the current month to fill the grid (starting with 3.7.0)\"},\"properties21\":{\"name\":\"minyear\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): set a signed integer for a number of years (-10, -2, 0, 7, 12, ...) to define the relative lower limit for the year selection. The user could not select a year before your limit (starting with 3.7.0)\"},\"properties22\":{\"name\":\"maxyear\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional): set a signed integer for a number of years (-10, -2, 0, 7, 12, ...) to define the relative upper limit for the year selection. The user could not select a year after your limit (starting with 3.7.0)\"}}', 'provides a text box for entry of a date. An icon next to the text box provides a link to a pop-up calendar, which can also be used to enter the date value.', '', 1, 9, '', '', '6cf5a33f-cb25-4a58-bfec-7e1511896402'),
(2, '', 'The category form field type provides a drop down list of all published categories for a certain extension. If the parameter has a saved value this is selected when the page is first loaded. If not, the default value (if any) is selected. If the show_root', 'Category', '{\"properties0\":{\"name\":\"type\",\"example\":\"category\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be category.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mycategory\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select a category\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"extension\",\"example\":\"com_content\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the name of the extension for which the categories will be retrieved. For example, to list content categories, use the value \'com_content\'. You can add also target one view, use the value \'com_component.view\'.\"},\"properties4\":{\"name\":\"scope\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is an alias for extension.\"},\"properties5\":{\"name\":\"required\",\"example\":\"true\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties6\":{\"name\":\"show_root\",\"example\":\"true\",\"adjustable\":\"1\",\"description\":\"(optional) is whether a choice representing the root category will be shown. Remove completely if it is not to be shown.\"},\"properties7\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is the default category ID number.\"},\"properties8\":{\"name\":\"description\",\"example\":\"select one of the following categories\",\"adjustable\":\"1\",\"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.\"},\"properties9\":{\"name\":\"class\",\"example\":\"inputbox\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'inputbox\'.\"},\"properties10\":{\"name\":\"published\",\"example\":\"1\",\"adjustable\":\"1\",\"description\":\"(optional) (1\\/0\\/2\\/-2) is whether the drop down will show only published (1), unpublished (0), archived (2) or trashed (-2) categories. It is possible to combine different publishing status by entering the list of the corresponding numbers separated by comma (e.g. \\\"0,2,-2\\\" will display only unpublished, archived and trashed categories in the drop-down).\"},\"properties11\":{\"name\":\"multiple\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) is whether multiple items can be selected at the same time (true or false).\"},\"properties12\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'provides a drop down list of categories for an extension.', '', 1, 11, '', '', 'f70346b3-2096-4f44-8b26-01ab87da7d1e'),
(3, '', 'The checkbox form field type provides a single checkbox. If the parameter has a saved value this is selected when the page is first loaded. If not, the default value (if any) is selected.', 'Checkbox', '{\"properties0\":{\"name\":\"type\",\"example\":\"checkbox\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be checkbox\"},\"properties1\":{\"name\":\"name\",\"example\":\"show_title\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Show title\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"value\",\"example\":\"1\",\"adjustable\":\"1\",\"description\":\"(optional) is the value of the parameter if this checkbox is set (usually 1).\"},\"properties4\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is the default value (usually 0 or 1).\"},\"properties5\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties6\":{\"name\":\"description\",\"example\":\"Show the title of the item\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the label.\"},\"properties7\":{\"name\":\"class\",\"example\":\"inputbox\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'inputbox\'.\"},\"properties8\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties9\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (JavaScript use)\"}}', 'provides a single checkbox to be checked or unchecked', '', 1, 7, '', '', '10066262-b6e3-4f82-941e-cbe4f61ddd6c'),
(4, '', 'The checkboxes form field type provides a set of checkboxes. Note: unlike most standard form field types, such as textfield or checkbox, this field is not an \"out of the box\" solution. It will create checkboxes for you, and submit their values in form of ', 'Checkboxes', '{\"properties0\":{\"name\":\"type\",\"example\":\"checkboxes\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be checkboxs\"},\"properties1\":{\"name\":\"name\",\"example\":\"toppings\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select Toppings\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"option\",\"example\":\"anch|Anchovies,chor|Chorizo,on|Onions,mush|Mushrooms\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) set the options of this radio. Separate options with commas and use the pipe symbol to separate value from text.\"},\"properties4\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is the default value.\"},\"properties5\":{\"name\":\"description\",\"example\":\"Select the topping of your choice\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the label.\"},\"properties6\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties7\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'inputbox\'.\"},\"properties8\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'provides unlimited checkboxes that can be used for multi-select.', '', 1, 4, '', '', 'ac10859b-58da-4584-9682-36a6c2c8d04d'),
@@ -2139,12 +2139,12 @@ INSERT INTO `#__componentbuilder_fieldtype` (`id`, `catid`, `description`, `name
(8, '', 'The Editor field type provides a WYSIWYG editor.', 'Editor', '{\"properties0\":{\"name\":\"type\",\"example\":\"editor\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be editor.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mytextblock\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Test Field\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"Some text\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"properties4\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the label.\"},\"properties5\":{\"name\":\"message\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties6\":{\"name\":\"width\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) defines the width (in pixels) of the wysiwyg editor and defaults to 100%.\"},\"properties7\":{\"name\":\"height\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) defines the height (in pixels) of the wysiwyg editor and defaults to 250px.\"},\"properties8\":{\"name\":\"cols\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) defines the width of the editor (in columns).\"},\"properties9\":{\"name\":\"rows\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) defines the height of the editor (in rows).\"},\"properties10\":{\"name\":\"buttons\",\"example\":\"no\",\"adjustable\":\"1\",\"description\":\"(optional) can be an array of plugin buttons to be excluded or set to false. The default editors-xtd are: article, image, pagebreak and readmore.\"},\"properties11\":{\"name\":\"syntax\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) can be used to set the code syntax matching for this field.\"},\"properties12\":{\"name\":\"hide\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) array of plugin buttons to be hidden. eg... set buttons=\\\"true\\\" hide=\\\"readmore,pagebreak\\\"\"},\"properties13\":{\"name\":\"editor\",\"example\":\"codemirror|none\",\"adjustable\":\"1\",\"description\":\"specifies the editor to be used and can include two options (editor=\\\"desired|alternative\\\")\"},\"properties14\":{\"name\":\"filter\",\"example\":\"safehtml\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties15\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties16\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties17\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'provides an editor area field.', '', 1, 11, '', '', '51f288d2-6eaa-42bc-a182-a6f69b3032b8'),
(9, '', 'The hidden form field type provides a hidden field for saving a field whose value cannot be altered directly by a user in the Administrator (it can be altered in code or by editing the params.ini file). If the parameter has a saved value this is entered i', 'Hidden', '{\"properties0\":{\"name\":\"type\",\"example\":\"hidden\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be hidden.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mysecretvariable\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"default\",\"example\":\"1\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the data which needs to be collected.\"},\"properties5\":{\"name\":\"filter\",\"example\":\"STRING\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties4\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"}}', 'provides a hidden field for saving a form field whose value cannot be altered directly by a user.', '', 1, 2, '', '', '82f1b5ca-bb9b-44d7-9a7a-9a03fb2a31dd'),
(10, '', 'The integer form field type provides a select box with a range of integer values. If the field has a value saved, this value is displayed when the page is first loaded. If not, the default value (if any) is selected.', 'Integer', '{\"properties0\":{\"name\":\"type\",\"example\":\"integer\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be integer.\"},\"properties1\":{\"name\":\"name\",\"example\":\"size\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Size\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is the default value.\"},\"properties4\":{\"name\":\"message\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties5\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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.\"},\"properties6\":{\"name\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties7\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties8\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties9\":{\"name\":\"first\",\"example\":\"1\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) this value is the lowest on the list.\"},\"properties10\":{\"name\":\"last\",\"example\":\"20\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) this value is the highest on the list.\"},\"properties11\":{\"name\":\"step\",\"example\":\"5\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) each option will be the previous option incremented by this integer, starting with the first value until the last value is reached.\"},\"properties12\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties13\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a drop down list of integers between a minimum and maximum.', '', 1, 6, '', '', 'fdbb50ea-35d2-45b2-a0bc-076fdf1544b8'),
-(11, '', 'The list form field type provides a drop down list or a list box of custom-defined entries. If the field has a saved value this is selected when the page is first loaded. If not, the default value (if any) is selected.', 'List', '{\"properties0\":{\"name\":\"type\",\"example\":\"list\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be list.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mylist\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select an option\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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\":\"message\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties5\":{\"name\":\"class\",\"example\":\"list_class\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'inputbox\'.\"},\"properties6\":{\"name\":\"multiple\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) is whether multiple items can be selected at the same time (true or false).\"},\"properties7\":{\"name\":\"filter\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) filter options\"},\"properties8\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties9\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties10\":{\"name\":\"option\",\"example\":\"0|Option 1,1|Option 2,2|Option 1\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) set the options of this radio. Separate options with commas and use the pipe symbol to separate value from text.\"},\"properties11\":{\"name\":\"useglobal\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) if set to true, it will show the value that is set in the global configuration if found in the database.\"},\"properties12\":{\"name\":\"default\",\"example\":\"0\",\"adjustable\":\"1\",\"description\":\"(optional) is the default list item value.\"},\"properties13\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+ https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties14\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a drop down list of custom-defined entries.', '', 1, 9, '', '', 'a51dfc06-1b9b-4d0a-86ba-f705bcd40d4d'),
+(11, '', 'The list form field type provides a drop down list or a list box of custom-defined entries. If the field has a saved value this is selected when the page is first loaded. If not, the default value (if any) is selected.', 'List', '{\"properties0\":{\"name\":\"type\",\"example\":\"list\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be list.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mylist\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select an option\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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\":\"message\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties5\":{\"name\":\"class\",\"example\":\"list_class\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'inputbox\'.\"},\"properties6\":{\"name\":\"multiple\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) is whether multiple items can be selected at the same time (true or false).\"},\"properties7\":{\"name\":\"filter\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) filter options\"},\"properties8\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties9\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties10\":{\"name\":\"option\",\"example\":\"0|Option 1,1|Option 2,2|Option 1\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) set the options of this radio. Separate options with commas and use the pipe symbol to separate value from text.\"},\"properties11\":{\"name\":\"useglobal\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) if set to true, it will show the value that is set in the global configuration if found in the database.\"},\"properties12\":{\"name\":\"default\",\"example\":\"0\",\"adjustable\":\"1\",\"description\":\"(optional) is the default list item value.\"},\"properties13\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+ https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties14\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a drop down list of custom-defined entries.', '', 1, 10, '', '', 'a51dfc06-1b9b-4d0a-86ba-f705bcd40d4d'),
(12, '', 'The media form field type provides modal access to the media manager for the choice of an image. Users with appropriate permissions will be able to upload files.', 'Media', '{\"properties0\":{\"name\":\"type\",\"example\":\"media\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be media.\"},\"properties1\":{\"name\":\"name\",\"example\":\"media\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Media\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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\":\"directory\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the directory from which the user will be able to choose a file. This attribute should be relative to the top level \\/images\\/ folder.\"},\"properties5\":{\"name\":\"preview\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) shows or hides the preview of the currently chosen image. (\\\"true\\\": Show always, \\\"tooltip\\\": Show as tooltip, \\\"false\\\": Show never) (since Joomla! 2.5.5)\"},\"properties6\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'provides modal access to the media manager for insertion of images with upload for users with appropriate permissions.', '', 1, 4, '', '', '69957007-e3d4-4976-a32b-611d02dbad71'),
(13, '', 'Provides a meter to show value in a range, updated with jQuery if needed or simply a fixed value.', 'Meter', '{\"properties0\":{\"name\":\"type\",\"example\":\"meter\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be meter.\"},\"properties1\":{\"name\":\"name\",\"example\":\"meter\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Meter\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"width\",\"example\":\"330px\",\"adjustable\":\"1\",\"description\":\"(optional) is the width of meter box\"},\"properties4\":{\"name\":\"color\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The background color\"},\"properties5\":{\"name\":\"default\",\"example\":\"9\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"properties6\":{\"name\":\"animated\",\"example\":\"1\",\"adjustable\":\"1\",\"description\":\"(optional) lets the bar have strips\"},\"properties7\":{\"name\":\"active\",\"example\":\"1\",\"adjustable\":\"1\",\"description\":\"(optional) lets the strips on the bar move\"},\"properties8\":{\"name\":\"description\",\"example\":\"Enter some description\",\"adjustable\":\"1\",\"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.\"},\"properties9\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties10\":{\"name\":\"min\",\"example\":\"1\",\"adjustable\":\"1\",\"description\":\"(mandatory) this value is the min on the meter.\"},\"properties11\":{\"name\":\"max\",\"example\":\"20\",\"adjustable\":\"1\",\"description\":\"(mandatory) this value is the max on meter.\"},\"properties12\":{\"name\":\"step\",\"example\":\"1\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) each option will be the previous option incremented by this integer, starting with the first value until the last value is reached.\"},\"properties13\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'Provides a meter to show value in a range.', '', 1, 3, '', '', '81668284-e572-4e17-927b-ba697fc64bd0'),
(14, '', 'This form field makes it possible to create titles, texts, descriptions and even alert boxes. It also allows you to bring order in the settings for extensions, by separating them with useful titles. Or adding descriptions for certain settings (without having to rely on the tooltips). Or adding any other text you want.', 'Note', '{\"properties0\":{\"name\":\"type\",\"example\":\"note\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be note\"},\"properties1\":{\"name\":\"name\",\"example\":\"note_one\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"The notice\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory or optional if using description) (translatable) is the descriptive title of the note \"},\"properties3\":{\"name\":\"description\",\"example\":\"The notice description\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional if using label)(translatable) the description\\/text of the note \"},\"properties4\":{\"name\":\"heading\",\"example\":\"h4\",\"adjustable\":\"1\",\"description\":\"(optional) the type of heading element to use for the label (default: h4)\"},\"properties5\":{\"name\":\"class\",\"example\":\"alert\",\"adjustable\":\"1\",\"description\":\"(optional) a class name (or class names), like these examples ( alert, alert alert-info, alert alert-success, alert alert-error )\"},\"properties6\":{\"name\":\"close\",\"example\":\"true\",\"adjustable\":\"1\",\"description\":\"(optional) a value of \'true\' (for alerts) or the value for the data-dismiss of the bootstrap close icon\"},\"properties7\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+ https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'supports a one line text field.', '', 1, 5, '', '', 'f9ecacd0-8481-4157-8c71-d7aaefc2b7c3'),
(15, '', 'Provides a one line text box with up-down handles to set a number in the field.', 'Number', '{\"properties0\":{\"name\":\"type\",\"example\":\"number\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be number.\"},\"properties1\":{\"name\":\"name\",\"example\":\"number\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Number\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is the default value.\"},\"properties4\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties6\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties7\":{\"name\":\"min\",\"example\":\"1\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) this value is the lowest on the list.\"},\"properties8\":{\"name\":\"max\",\"example\":\"40\",\"mandatory\":\"1\",\"description\":\"(mandatory) this value is the highest on the list.\"},\"properties9\":{\"name\":\"step\",\"example\":\"5\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) each option will be the previous option incremented by this integer, starting with the first value until the last value is reached.\"},\"properties10\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Javascript that should run on changing of the value.\"},\"properties11\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'Provides a one line text box with up-down handles to set a number in the field.', '', 1, 4, '', '', '5abd2b73-643b-4273-841a-787991aad968'),
-(16, '', 'The password form field type provides a text box for entry of a password. The password characters will be obscured as they are entered. If the field has a saved value this is entered (in obscured form) into the text box. If not, the default value (if any)', 'Password', '{\"properties0\":{\"name\":\"type\",\"example\":\"password\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be password.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mypassword\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Enter A Password\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"size\",\"example\":\"10\",\"adjustable\":\"1\",\"description\":\"(optional) is the width of the text box in characters. If omitted the width is determined by the browser. The value of size does not limit the number of characters that may be entered.\"},\"properties4\":{\"name\":\"default\",\"example\":\"secret\",\"adjustable\":\"1\",\"description\":\"(optional) is the default password.\"},\"properties5\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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.\"},\"properties6\":{\"name\":\"message\",\"example\":\"Error! Please add password here.\",\"adjustable\":\"1\",\"description\":\"(optional) The error message that will be displayed instead of the default message.\"},\"properties7\":{\"name\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties8\":{\"name\":\"readonly\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties9\":{\"name\":\"disabled\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties10\":{\"name\":\"required\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties11\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties12\":{\"name\":\"field\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) used in validation of \\\"equals\\\" to link the field to match.\"},\"properties13\":{\"name\":\"filter\",\"example\":\"raw\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties14\":{\"name\":\"hint\",\"example\":\"Password Here\",\"adjustable\":\"1\",\"description\":\"(optional) The placeholder to display inside the text box.\"},\"properties15\":{\"name\":\"autocomplete\",\"example\":\"off\",\"adjustable\":\"1\",\"description\":\"(optional) The autocomplete state for the form field. If \'off\' element will not be automatically completed by browser.\"},\"properties16\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties17\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a text box for entry of a password. The password characters will be obscured as they are entered.', '', 1, 9, '', '', '0022598d-0ee1-44f2-aa94-c2eb47595f73'),
+(16, '', 'The password form field type provides a text box for entry of a password. The password characters will be obscured as they are entered. If the field has a saved value this is entered (in obscured form) into the text box. If not, the default value (if any)', 'Password', '{\"properties0\":{\"name\":\"type\",\"example\":\"password\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be password.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mypassword\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Enter A Password\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"size\",\"example\":\"10\",\"adjustable\":\"1\",\"description\":\"(optional) is the width of the text box in characters. If omitted the width is determined by the browser. The value of size does not limit the number of characters that may be entered.\"},\"properties4\":{\"name\":\"default\",\"example\":\"secret\",\"adjustable\":\"1\",\"description\":\"(optional) is the default password.\"},\"properties5\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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.\"},\"properties6\":{\"name\":\"message\",\"example\":\"Error! Please add password here.\",\"adjustable\":\"1\",\"description\":\"(optional) The error message that will be displayed instead of the default message.\"},\"properties7\":{\"name\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties8\":{\"name\":\"readonly\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties9\":{\"name\":\"disabled\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties10\":{\"name\":\"required\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties11\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties12\":{\"name\":\"field\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) used in validation of \\\"equals\\\" to link the field to match.\"},\"properties13\":{\"name\":\"filter\",\"example\":\"raw\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties14\":{\"name\":\"hint\",\"example\":\"Password Here\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) The placeholder to display inside the text box.\"},\"properties15\":{\"name\":\"autocomplete\",\"example\":\"off\",\"adjustable\":\"1\",\"description\":\"(optional) The autocomplete state for the form field. If \'off\' element will not be automatically completed by browser.\"},\"properties16\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties17\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a text box for entry of a password. The password characters will be obscured as they are entered.', '', 1, 10, '', '', '0022598d-0ee1-44f2-aa94-c2eb47595f73'),
(17, '', 'The radio form field type provides radio buttons to select different options. If the field has a saved value this is selected when the page is first loaded. If not, the default value (if any) is selected.', 'Radio', '{\"properties0\":{\"name\":\"type\",\"example\":\"radio\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be radio.\"},\"properties1\":{\"name\":\"name\",\"example\":\"myradiovalue\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select an option\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"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\":\"btn-group btn-group-yesno\",\"adjustable\":\"1\",\"description\":\"(optional) New in Joomla 3, if set to class=\\\"btn-group btn-group-yesno\\\" will show the nice coloured buttons\"},\"properties5\":{\"name\":\"option\",\"example\":\"1|Yes,0|No\",\"adjustable\":\"1\",\"description\":\"(mandatory) set the options of this radio. Separate options with commas and use the pipe symbol to separate value from text.\"},\"properties6\":{\"name\":\"default\",\"example\":\"0\",\"adjustable\":\"1\",\"description\":\"(optional) is the default radio button item value.\"},\"properties7\":{\"name\":\"message\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties8\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties9\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties10\":{\"name\":\"readonly\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties11\":{\"name\":\"disabled\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties12\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+ https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"},\"properties13\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides radio buttons to select different options.', '', 1, 18, '', '', 'b868ed59-4208-4206-8504-95a35a74a11c'),
(18, '', 'Provides a horizontal scroll bar to specify a value in a range.', 'Range', '{\"properties0\":{\"name\":\"type\",\"example\":\"range\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be range.\"},\"properties1\":{\"name\":\"name\",\"example\":\"range\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Range\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"9\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"properties4\":{\"name\":\"description\",\"example\":\"Enter some description\",\"adjustable\":\"1\",\"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\":\"message\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties6\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties7\":{\"name\":\"min\",\"example\":\"1\",\"adjustable\":\"1\",\"description\":\"(mandatory) this value is the min on the meter.\"},\"properties8\":{\"name\":\"max\",\"example\":\"20\",\"adjustable\":\"1\",\"description\":\"(mandatory) this value is the max on meter.\"},\"properties9\":{\"name\":\"step\",\"example\":\"1\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) each option will be the previous option incremented by this integer, starting with the first value until the last value is reached.\"},\"properties10\":{\"name\":\"required\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties11\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties12\":{\"name\":\"onchange\",\"example\":\"jQuery(\'#jform_range\').closest(\'.controls\').find(\'span\').remove(); var value = jQuery(\'#jform_range\').val();jQuery(\'#jform_range\').closest(\'.controls\').append(\' \'+value+\'\');\",\"adjustable\":\"1\",\"description\":\"(optional) javascript to run when the range is changed\"},\"properties13\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) show this field on the bases of the value in another field. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'Provides a horizontal scroll bar to specify a value in a range.', '', 1, 5, '', '', '627d3845-7273-4f75-8e63-7b3a319a42c8'),
(19, '', 'Provides a modal with rows of formfields that you specify. As many options can be added as desired. Note this form field has a jQuery based javascript file as a dependency.', 'Repeatable', '{\"properties0\":{\"name\":\"type\",\"example\":\"repeatable\",\"adjustable\":\"1\",\"description\":\"(mandatory) must be repeatable.\"},\"properties1\":{\"name\":\"name\",\"example\":\"repeatable_list\",\"adjustable\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter\"},\"properties2\":{\"name\":\"label\",\"example\":\"The Repeatable List\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"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\"},\"properties4\":{\"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.\"},\"properties5\":{\"name\":\"id\",\"example\":\"aid\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) id of the hidden from field. (the modal will have this id with an added suffix of \\\"_modal\\\" and the table within the modal will have this id with a suffix of _modal_table\\\")\"},\"properties6\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) class of the table.\"},\"properties7\":{\"name\":\"select\",\"example\":\"Click here\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) The text to show on the modal button.\"},\"properties8\":{\"name\":\"icon\",\"example\":\"list\",\"adjustable\":\"1\",\"description\":\"(optional) The icon to show on the select button (is prefixed with \\\"icon-\\\").\"},\"properties9\":{\"name\":\"maximum\",\"example\":\"50\",\"adjustable\":\"1\",\"description\":\"(optional) The maximum number of rows of fields allowed (by default 999 to be effectively infinite)\"},\"properties10\":{\"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.\"},\"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. https:\\/\\/joomla.stackexchange.com\\/a\\/17682\\/2166\"}}', 'Allows form fields which can have as many options as the user desires.', '', 1, 5, '', '', '05bf68d4-52f9-4705-8ae7-cba137fce0ad'),
@@ -2312,7 +2312,7 @@ INSERT INTO `#__componentbuilder_component_custom_admin_views` (`id`, `addcustom
--
INSERT INTO `#__componentbuilder_component_updates` (`id`, `joomla_component`, `version_update`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
-(27, 25, '{\"version_update0\":{\"version\":\"1.0.5\",\"mysql\":\"\",\"url\":\"https:\\/\\/github.com\\/namibia\\/demo-joomla-3-component\\/archive\\/v1.0.5.zip\"},\"version_update1\":{\"version\":\"2.0.0\",\"mysql\":\"ALTER TABLE `#__demo_look` ENGINE = InnoDB;\\n\\nALTER TABLE `#__demo_look` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\",\"url\":\"https:\\/\\/github.com\\/namibia\\/demo-joomla-3-component\\/archive\\/v2.0.0.zip\"},\"version_update2\":{\"version\":\"2.0.1\",\"mysql\":\"\",\"url\":\"http:\\/\\/domain.com\\/demo.zip\"}}', 1, '2017-10-28 03:56:26', '2020-05-21 13:12:17', 6, '', '');
+(27, 25, '{\"version_update0\":{\"version\":\"2.0.0\",\"mysql\":\"ALTER TABLE `#__demo_look` ENGINE = InnoDB;\\r\\n\\r\\nALTER TABLE `#__demo_look` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\",\"url\":\"https:\\/\\/github.com\\/namibia\\/demo-joomla-3-component\\/archive\\/v2.0.0.zip\"},\"version_update1\":{\"version\":\"2.0.2\",\"mysql\":\"ALTER TABLE `#__demo_look` CHANGE `image` `image` VARCHAR(255) NOT NULL DEFAULT \'\';\",\"url\":\"https:\\/\\/github.com\\/namibia\\/demo-joomla-3-component\\/archive\\/master.zip\"},\"version_update2\":{\"version\":\"2.0.3\",\"mysql\":\"\",\"url\":\"http:\\/\\/domain.com\\/demo.zip\"}}', 1, '2017-10-28 03:56:26', '2020-06-24 22:43:55', 8, '', '');
--
-- Dumping data for table `#__componentbuilder_component_mysql_tweaks`
@@ -2414,7 +2414,10 @@ INSERT INTO `#__componentbuilder_library_files_folders_urls` (`id`, `addfiles`,
(3, '', '', '{\"addurls0\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-rc.16\\/js\\/uikit.min.js\",\"type\":\"2\"},\"addurls2\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-rc.16\\/js\\/uikit-icons.min.js\",\"type\":\"2\"},\"addurls4\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/uikit\\/3.0.0-rc.16\\/css\\/uikit.min.css\",\"type\":\"2\"}}', 3, '', 1, '2017-11-25 21:47:40', '2018-09-19 14:22:09', 10, '', 3),
(4, '{}', '{\"addfolders0\":{\"folder\":\"file_icon_vectors\",\"path\":\"\\/media\\/vector\",\"rename\":\"1\"}}', '{}', 7, '', 1, '2019-10-03 09:24:30', '2019-10-03 09:25:39', 2, '', 4),
(5, '{}', '{}', '{\"addurls0\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/grapesjs\\/0.14.15\\/css\\/grapes.min.css\",\"type\":2},\"addurls2\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/grapesjs\\/0.14.15\\/grapes.min.js\",\"type\":2}}', 8, '', 1, '2020-02-10 21:34:33', '2020-02-18 21:12:35', 5, '', 5),
-(6, '{}', '{}', '{\"addurls0\":{\"url\":\"https:\\/\\/raw.githubusercontent.com\\/artf\\/grapesjs-preset-webpage\\/master\\/dist\\/grapesjs-preset-webpage.min.css\",\"type\":2},\"addurls1\":{\"url\":\"https:\\/\\/raw.githubusercontent.com\\/artf\\/grapesjs-preset-webpage\\/master\\/dist\\/grapesjs-preset-webpage.min.js\",\"type\":2},\"addurls2\":{\"url\":\"https:\\/\\/static.filestackapi.com\\/v3\\/filestack-0.1.10.js\",\"type\":2}}', 9, '', 1, '2020-02-18 21:13:16', '2020-02-18 21:14:11', 2, '', 5);
+(6, '{}', '{}', '{\"addurls0\":{\"url\":\"https:\\/\\/raw.githubusercontent.com\\/artf\\/grapesjs-preset-webpage\\/master\\/dist\\/grapesjs-preset-webpage.min.css\",\"type\":2},\"addurls1\":{\"url\":\"https:\\/\\/raw.githubusercontent.com\\/artf\\/grapesjs-preset-webpage\\/master\\/dist\\/grapesjs-preset-webpage.min.js\",\"type\":2},\"addurls2\":{\"url\":\"https:\\/\\/static.filestackapi.com\\/v3\\/filestack-0.1.10.js\",\"type\":2}}', 9, '', 1, '2020-02-18 21:13:16', '2020-02-18 21:14:11', 2, '', 5),
+(7, '{}', '{}', '{\"addurls0\":{\"url\":\"https:\\/\\/cdn.jsdelivr.net\\/npm\\/vue\",\"type\":3}}', 10, '', 1, '2020-06-05 13:11:54', '0000-00-00 00:00:00', 1, '', 6),
+(8, '{}', '{}', '{\"addurls2\":{\"url\":\"https:\\/\\/cdn.datatables.net\\/1.10.21\\/js\\/jquery.dataTables.min.js\",\"type\":2},\"addurls1\":{\"url\":\"https:\\/\\/cdn.datatables.net\\/1.10.21\\/css\\/dataTables.uikit.min.css\",\"type\":2}}', 11, '', 1, '2020-06-27 21:34:44', '0000-00-00 00:00:00', 1, '', 7),
+(9, '{}', '{}', '{\"addurls3\":{\"url\":\"http:\\/\\/code.jquery.com\\/ui\\/1.11.1\\/themes\\/smoothness\\/jquery-ui.css\",\"type\":2},\"addurls0\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/jquery-ui-timepicker-addon\\/1.6.3\\/jquery-ui-timepicker-addon.min.css\",\"type\":2},\"addurls1\":{\"url\":\"http:\\/\\/code.jquery.com\\/ui\\/1.11.1\\/jquery-ui.min.js\",\"type\":2},\"addurls2\":{\"url\":\"https:\\/\\/cdnjs.cloudflare.com\\/ajax\\/libs\\/jquery-ui-timepicker-addon\\/1.6.3\\/jquery-ui-timepicker-addon.min.js\",\"type\":2}}', 12, '', 1, '2020-06-29 00:00:44', '2020-06-29 04:32:57', 4, '', 8);
CREATE TABLE IF NOT EXISTS `#__componentbuilder_external_code` (
diff --git a/admin/views/admin_custom_tabs/tmpl/edit.php b/admin/views/admin_custom_tabs/tmpl/edit.php
index 9203d773f..eb213b4fc 100644
--- a/admin/views/admin_custom_tabs/tmpl/edit.php
+++ b/admin/views/admin_custom_tabs/tmpl/edit.php
@@ -63,7 +63,7 @@ $componentParams = $this->params; // will be removed just use $this->params inst
tab_name = 'admin_custom_tabsTab'; ?>
- canDo->get('admin_custom_tabs.delete') || $this->canDo->get('admin_custom_tabs.edit.created_by') || $this->canDo->get('admin_custom_tabs.edit.state') || $this->canDo->get('admin_custom_tabs.edit.created')) : ?>
+ canDo->get('admin_custom_tabs.edit.created_by') || $this->canDo->get('admin_custom_tabs.edit.created') || $this->canDo->get('admin_custom_tabs.edit.state') || ($this->canDo->get('admin_custom_tabs.delete') && $this->canDo->get('admin_custom_tabs.edit.state'))) : ?>
- user->authorise('core.edit', 'com_componentbuilder.fields.category.' . (int)$item->catid)): ?>
-
escape($item->category_title); ?>
+ user->authorise('core.edit', 'com_componentbuilder.field.category.' . (int)$item->catid)): ?>
+
escape($item->category_title); ?>
escape($item->category_title); ?>
diff --git a/admin/views/fields/view.html.php b/admin/views/fields/view.html.php
index 2beec06b4..bfa580282 100644
--- a/admin/views/fields/view.html.php
+++ b/admin/views/fields/view.html.php
@@ -138,7 +138,7 @@ class ComponentbuilderViewFields extends JViewLegacy
if ($this->user->authorise('field.run_expansion', 'com_componentbuilder'))
{
// add Run Expansion button.
- JToolBarHelper::custom('fields.runExpansion', 'expand-2', '', 'COM_COMPONENTBUILDER_RUN_EXPANSION', false);
+ JToolBarHelper::custom('fields.runExpansion', 'expand-2 custom-button-runexpansion', '', 'COM_COMPONENTBUILDER_RUN_EXPANSION', false);
}
if ($this->canDo->get('core.import') && $this->canDo->get('field.import'))
@@ -196,7 +196,7 @@ class ComponentbuilderViewFields extends JViewLegacy
JHtmlSidebar::addFilter(
JText::_('JOPTION_SELECT_CATEGORY'),
'filter_category_id',
- JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fields'), 'value', 'text', $this->state->get('filter.category_id'))
+ JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.field'), 'value', 'text', $this->state->get('filter.category_id'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
@@ -205,7 +205,7 @@ class ComponentbuilderViewFields extends JViewLegacy
JHtmlBatch_::addListSelection(
JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_CATEGORY'),
'batch[category]',
- JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fields'), 'value', 'text')
+ JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.field'), 'value', 'text')
);
}
diff --git a/admin/views/fieldtype/tmpl/edit.php b/admin/views/fieldtype/tmpl/edit.php
index 5a0419d1c..39f606a97 100644
--- a/admin/views/fieldtype/tmpl/edit.php
+++ b/admin/views/fieldtype/tmpl/edit.php
@@ -92,7 +92,7 @@ $componentParams = $this->params; // will be removed just use $this->params inst
tab_name = 'fieldtypeTab'; ?>
- canDo->get('fieldtype.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('fieldtype.edit.state') || $this->canDo->get('core.edit.created')) : ?>
+ canDo->get('core.edit.created_by') || $this->canDo->get('core.edit.created') || $this->canDo->get('fieldtype.edit.state') || ($this->canDo->get('fieldtype.delete') && $this->canDo->get('fieldtype.edit.state'))) : ?>