diff --git a/README.md b/README.md index 0b84a794a..12a574fe5 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have! -You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta1) with **ALL** its features and **ALL** concepts totally open-source and free! +You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta2) with **ALL** its features and **ALL** concepts totally open-source and free! > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) @@ -144,13 +144,13 @@ TODO + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder) + *First Build*: 30th April, 2015 -+ *Last Build*: 2nd March, 2024 -+ *Version*: 3.2.0-beta1 ++ *Last Build*: 4th March, 2024 ++ *Version*: 3.2.0-beta2 + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **694660** ++ *Line count*: **694682** + *Field count*: **2077** -+ *File count*: **5121** ++ *File count*: **5122** + *Folder count*: **455** > This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). diff --git a/admin/README.txt b/admin/README.txt index 0b84a794a..12a574fe5 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have! -You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta1) with **ALL** its features and **ALL** concepts totally open-source and free! +You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta2) with **ALL** its features and **ALL** concepts totally open-source and free! > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) @@ -144,13 +144,13 @@ TODO + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder) + *First Build*: 30th April, 2015 -+ *Last Build*: 2nd March, 2024 -+ *Version*: 3.2.0-beta1 ++ *Last Build*: 4th March, 2024 ++ *Version*: 3.2.0-beta2 + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **694660** ++ *Line count*: **694682** + *Field count*: **2077** -+ *File count*: **5121** ++ *File count*: **5122** + *Folder count*: **455** > This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). diff --git a/admin/controllers/admin_views.php b/admin/controllers/admin_views.php index 2fba8828a..08723fbca 100644 --- a/admin/controllers/admin_views.php +++ b/admin/controllers/admin_views.php @@ -136,7 +136,7 @@ class ComponentbuilderControllerAdmin_views extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/compiler.php b/admin/controllers/compiler.php index fcdb47127..0feb51f5b 100644 --- a/admin/controllers/compiler.php +++ b/admin/controllers/compiler.php @@ -129,7 +129,7 @@ class ComponentbuilderControllerCompiler extends AdminController $redirect_url = Route::_('index.php?option=com_componentbuilder&view=compiler', false); if (($pos = strpos($model->compiler->filepath['component'], "/tmp/")) !== FALSE) { - $url = JURI::root() . substr($model->compiler->filepath['component'], $pos + 1); + $url = \JUri::root() . substr($model->compiler->filepath['component'], $pos + 1); } // check if we have plugins $add_plugin_install = UtilitiesArrayHelper::check($model->compiler->filepath['plugins'], true); @@ -212,7 +212,7 @@ class ComponentbuilderControllerCompiler extends AdminController $message[] = 'Module Path: ' . $module_path . '
'; if (($pos = strpos($module_path, "/tmp/")) !== FALSE) { - $module_urls[$module_id] = JURI::root() . substr($module_path, $pos + 1); + $module_urls[$module_id] = \JUri::root() . substr($module_path, $pos + 1); $message[] = 'Module URL: ' . $module_urls[$module_id] . '
'; } } @@ -228,7 +228,7 @@ class ComponentbuilderControllerCompiler extends AdminController $message[] = 'Plugin Path: ' . $plugin_path . '
'; if (($pos = strpos($plugin_path, "/tmp/")) !== FALSE) { - $plugin_urls[$plugin_id] = JURI::root() . substr($plugin_path, $pos + 1); + $plugin_urls[$plugin_id] = \JUri::root() . substr($plugin_path, $pos + 1); $message[] = 'Plugin URL: ' . $plugin_urls[$plugin_id] . '
'; } } @@ -543,7 +543,7 @@ class ComponentbuilderControllerCompiler extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/custom_codes.php b/admin/controllers/custom_codes.php index 387346d26..ddaf9a8c2 100644 --- a/admin/controllers/custom_codes.php +++ b/admin/controllers/custom_codes.php @@ -136,7 +136,7 @@ class ComponentbuilderControllerCustom_codes extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/dynamic_gets.php b/admin/controllers/dynamic_gets.php index f6d822076..9627cae1a 100644 --- a/admin/controllers/dynamic_gets.php +++ b/admin/controllers/dynamic_gets.php @@ -136,7 +136,7 @@ class ComponentbuilderControllerDynamic_gets extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/fields.php b/admin/controllers/fields.php index b5c995d46..3b0fb5834 100644 --- a/admin/controllers/fields.php +++ b/admin/controllers/fields.php @@ -136,7 +136,7 @@ class ComponentbuilderControllerFields extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/joomla_components.php b/admin/controllers/joomla_components.php index 57c5fd171..e7a8dc482 100644 --- a/admin/controllers/joomla_components.php +++ b/admin/controllers/joomla_components.php @@ -137,7 +137,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/joomla_plugins.php b/admin/controllers/joomla_plugins.php index 814d3a2c4..335952211 100644 --- a/admin/controllers/joomla_plugins.php +++ b/admin/controllers/joomla_plugins.php @@ -71,7 +71,7 @@ class ComponentbuilderControllerJoomla_plugins extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/powers.php b/admin/controllers/powers.php index 1f7d7f435..bcdb9abce 100644 --- a/admin/controllers/powers.php +++ b/admin/controllers/powers.php @@ -72,7 +72,7 @@ class ComponentbuilderControllerPowers extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/controllers/validation_rules.php b/admin/controllers/validation_rules.php index fe16742e3..f44bd870c 100644 --- a/admin/controllers/validation_rules.php +++ b/admin/controllers/validation_rules.php @@ -136,7 +136,7 @@ class ComponentbuilderControllerValidation_rules extends AdminController // set massage $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); // run expansion via API - $result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand'); + $result = ComponentbuilderHelper::getFileContents(\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { diff --git a/admin/helpers/componentbuilder.php b/admin/helpers/componentbuilder.php index bad89f273..584307c22 100644 --- a/admin/helpers/componentbuilder.php +++ b/admin/helpers/componentbuilder.php @@ -2808,7 +2808,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } self::$gitHubAccessToken = self::$params->get('github_access_token', null); } @@ -3714,7 +3714,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } $folderPath = self::$params->get($target, $default); // create the folder if it does not exist @@ -4943,7 +4943,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -5055,7 +5055,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -5492,7 +5492,7 @@ abstract class ComponentbuilderHelper // get global values if (self::$subformLayouts === false) { - self::$subformLayouts = JComponentHelper::getParams('com_componentbuilder')->get('subform_layouts', false); + self::$subformLayouts = \JComponentHelper::getParams('com_componentbuilder')->get('subform_layouts', false); } // check what we found (else) return default if (ObjectHelper::check(self::$subformLayouts)) diff --git a/admin/models/ajax.php b/admin/models/ajax.php index 92ccdca8e..8d960ebaf 100644 --- a/admin/models/ajax.php +++ b/admin/models/ajax.php @@ -165,7 +165,7 @@ class ComponentbuilderModelAjax extends ListModel protected function componentDetailsDisplay($object) { // set some vars - $image = (StringHelper::check($object->image)) ? 'Joomla Component Image': ''; + $image = (StringHelper::check($object->image)) ? 'Joomla Component Image': ''; $desc = (StringHelper::check($object->description)) ? $object->description : $object->short_description; $placeholder = ($object->add_placeholders == 1) ? ' ' . Text::_('COM_COMPONENTBUILDER_YES') . ' ' : ' ' .Text::_('COM_COMPONENTBUILDER_NO') . ' ' ; $debug = ($object->debug_linenr == 1) ? ' ' .Text::_('COM_COMPONENTBUILDER_YES') . '' : ' ' .Text::_('COM_COMPONENTBUILDER_NO') . ' ' ; @@ -203,11 +203,11 @@ class ComponentbuilderModelAjax extends ListModel $result['error'] = '' . Text::sprintf('COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_FOR_S', $type) . ''; if ($this->hasCurl()) { - $path = '*/5 * * * * curl -s "' .JURI::root() . 'index.php?option=com_componentbuilder&task=api.backup" >/dev/null 2>&1'; + $path = '*/5 * * * * curl -s "' .\JUri::root() . 'index.php?option=com_componentbuilder&task=api.backup" >/dev/null 2>&1'; } else { - $path = '*/5 * * * * wget "' .JURI::root() . 'index.php?option=com_componentbuilder&task=api.backup" >/dev/null 2>&1'; + $path = '*/5 * * * * wget "' .\JUri::root() . 'index.php?option=com_componentbuilder&task=api.backup" >/dev/null 2>&1'; } $result['path'] = '' . $path . ''; } @@ -216,11 +216,11 @@ class ComponentbuilderModelAjax extends ListModel $result['error'] = '' . Text::sprintf('COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_FOR_S', $type) . ''; if ($this->hasCurl()) { - $path = '* * * * * curl -s "' .JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand" >/dev/null 2>&1'; + $path = '* * * * * curl -s "' .\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand" >/dev/null 2>&1'; } else { - $path = '* * * * * wget "' .JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand" >/dev/null 2>&1'; + $path = '* * * * * wget "' .\JUri::root() . 'index.php?option=com_componentbuilder&task=api.expand" >/dev/null 2>&1'; } $result['path'] = '' . $path . ''; } @@ -3349,7 +3349,7 @@ class ComponentbuilderModelAjax extends ListModel // get the textarea $textarea = JFormHelper::loadFieldType('textarea', true); // start building the name field XML - $textareaXML = new SimpleXMLElement(''); + $textareaXML = new \SimpleXMLElement(''); // textarea attributes $textareaAttribute = array( 'type' => 'textarea', @@ -3375,7 +3375,7 @@ class ComponentbuilderModelAjax extends ListModel // get the subform $subform = JFormHelper::loadFieldType('subform', true); // start building the subform field XML - $subformXML = new SimpleXMLElement(''); + $subformXML = new \SimpleXMLElement(''); // subform attributes $subformAttribute = array( 'type' => 'subform', @@ -3398,7 +3398,7 @@ class ComponentbuilderModelAjax extends ListModel ComponentbuilderHelper::xmlAddAttributes($childForm, $childFormAttribute); // start building the name field XML - $nameXML = new SimpleXMLElement(''); + $nameXML = new \SimpleXMLElement(''); // subform attributes $nameAttribute = array( 'type' => (UtilitiesArrayHelper::check($nameListOptions)) ? 'list' : 'text', @@ -3430,7 +3430,7 @@ class ComponentbuilderModelAjax extends ListModel ComponentbuilderHelper::xmlAppend($childForm, $nameXML); // start building the name field XML - $valueXML = new SimpleXMLElement(''); + $valueXML = new \SimpleXMLElement(''); // subform attributes $valueAttribute = array( 'type' => 'textarea', @@ -3447,7 +3447,7 @@ class ComponentbuilderModelAjax extends ListModel ComponentbuilderHelper::xmlAppend($childForm, $valueXML); // start building the desc field XML - $descXML = new SimpleXMLElement(''); + $descXML = new \SimpleXMLElement(''); // subform attributes $descAttribute = array( 'type' => 'textarea', diff --git a/admin/models/fields.php b/admin/models/fields.php index 115790606..73e50b632 100644 --- a/admin/models/fields.php +++ b/admin/models/fields.php @@ -72,7 +72,7 @@ class ComponentbuilderModelFields extends ListModel $form = parent::getFilterForm($data, $loadData); // Create the "extension" filter - $form->setField(new SimpleXMLElement( + $form->setField(new \SimpleXMLElement( JCBFilterHelper::extensions() ),'filter'); $form->setValue( diff --git a/admin/models/language_translations.php b/admin/models/language_translations.php index 6d38c5570..771d3373e 100644 --- a/admin/models/language_translations.php +++ b/admin/models/language_translations.php @@ -65,7 +65,7 @@ class ComponentbuilderModelLanguage_translations extends ListModel $form = parent::getFilterForm($data, $loadData); // Create the "extension" filter - $form->setField(new SimpleXMLElement( + $form->setField(new \SimpleXMLElement( JCBFilterHelper::extensions() ),'filter'); $form->setValue( diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql index 135421140..33014b607 100644 --- a/admin/sql/install.mysql.utf8.sql +++ b/admin/sql/install.mysql.utf8.sql @@ -2008,8 +2008,8 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_plugin_files_folders_urls -- Dumping data for table `#__componentbuilder_joomla_component` -- -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`, `addcontributors`, `add_php_dashboard_methods`, `crowdin_account_api_key`, `crowdin_project_api_key`, `crowdin_username`, `params`) 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+IFRoaXMgKipjb21wb25lbnQqKiB3YXMgYnVpbGQgd2l0aCBhIEpvb21sYSBbQXV0b21hdGVkIENvbXBvbmVudCBCdWlsZGVyXShodHRwczovL3d3dy52ZG0uaW8vam9vbWxhLWNvbXBvbmVudC1idWlsZGVyKS4NCj4gRGV2ZWxvcGVkIGJ5IFtMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZV0obWFpbHRvOmpvb21sYUB2ZG0uaW8pDQoNCltDVVNUT01DT0RFPXJlYWRNRWNvbnRyaWJ1dG9yc10=', 'Llewellyn van der Merwe', 'default.txt', '', '', 'Vast Development Method', '2.1.0', '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/Llewellynvdm/Joomla-Demo-Component', 'nZDegSPK87rXA4KMC6P8I6zEldjVIJpPYGRPZlKBI+U=', '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', 'CQkvLyBHZXQgQXBwbGljYXRpb24gb2JqZWN0DQoJCSRhcHAgPSBGYWN0b3J5OjpnZXRBcHBsaWNhdGlvbigpOw0KCQkkYXBwLT5lbnF1ZXVlTWVzc2FnZSgnVGhpcyBpcyBhIGRlbW8gY29tcG9uZW50IGRldmVsb3BlZCBpbiA8YSBocmVmPSJodHRwOi8vdmRtLmJ6L2NvbXBvbmVudC1idWlsZGVyIiB0YWdldD0iX2JhbG5rIiB0aXRsZT0iSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIj5KQ0I8L2E+ISBZb3UgY2FuIGJ1aWxkIG1vcmUgY29tcG9uZW50cyBsaWtlIHRoaXMgd2l0aCBKQ0IsIGNoZWNrb3V0IG91ciBwYWdlIG9uIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS92ZG0taW8vSm9vbWxhLUNvbXBvbmVudC1CdWlsZGVyIiB0YWdldD0iX2JhbG5rIiB0aXRsZT0iSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIj5naXRodWI8L2E+IGZvciBtb3JlIGluZm8uIFRoZSBmdXR1cmUgb2YgPGEgaHJlZj0iaHR0cDovL3ZkbS5iei9jb21wb25lbnQtYnVpbGRlciIgdGFnZXQ9Il9iYWxuayIgdGl0bGU9Ikpvb21sYSBDb21wb25lbnQgQnVpbGRlciI+Sm9vbWxhIENvbXBvbmVudCBEZXZlbG9wbWVudDwvYT4gaXMgSGVyZSEnLCAnSW5mbycpOw==', '', '', '', '', 'Demo Component', '', '', 'https://www.vdm.io/', 1, '2016-10-18 11:44:09', '2024-01-19 11:57:08', '', 10, '6GeGhXcYZEQosGCi0ZXeuAj3oXBwARl7OnRm9h3rxPQ=', '', 'efde995e-60aa-4b39-b644-44349dfb660d', '{}', '', 'mvVkzmHCEIoBhzD3gR3uTzXRGwNVNRWw8Hr1vrXxb+I=', 'BbloLSYT6Yup6v3I/YNmrdOwzjbI4BGfDvJSB82N9DU=', 'VtSt2RMz+AHCrwc7jk1G70t83ZwZsNp2upqfzMyaVHE=', '{\"language_options\":{\"activate\":\"0\",\"use_percentagelanguageadd\":\"1\",\"percentagelanguageadd\":\"50\"},\"joomla_component_headers\":{\"add_admin_component\":\"0\",\"admin_component\":\"\",\"power_admin_component\":[],\"add_site_component\":\"0\",\"site_component\":\"\",\"power_site_component\":[],\"add_admin_helper\":\"0\",\"admin_helper\":\"\",\"power_admin_helper\":[],\"add_site_helper\":\"0\",\"site_helper\":\"\",\"power_site_helper\":[]}}'); +INSERT INTO `#__componentbuilder_joomla_component` (`id`, `add_admin_event`, `add_backup_folder_path`, `add_css_admin`, `add_css_site`, `add_email_helper`, `add_git_folder_path`, `add_javascript`, `add_license`, `add_menu_prefix`, `add_namespace_prefix`, `add_php_helper_admin`, `add_php_helper_both`, `add_php_helper_site`, `add_php_method_uninstall`, `add_php_postflight_install`, `add_php_postflight_update`, `add_php_preflight_install`, `add_php_preflight_update`, `add_placeholders`, `add_powers`, `add_sales_server`, `add_site_event`, `add_sql`, `add_sql_uninstall`, `add_update_server`, `addcontributors`, `addfootable`, `addreadme`, `adduikit`, `assets_table_fix`, `author`, `backup_folder_path`, `bom`, `buildcomp`, `buildcompsql`, `companyname`, `component_version`, `copyright`, `created`, `creatuserhelper`, `crowdin_account_api_key`, `crowdin_project_api_key`, `crowdin_project_identifier`, `crowdin_username`, `css_admin`, `css_site`, `dashboard`, `dashboard_type`, `debug_linenr`, `description`, `email`, `emptycontributors`, `export_buy_link`, `export_key`, `git_folder_path`, `guid`, `image`, `javascript`, `joomla_source_link`, `license`, `license_type`, `menu_prefix`, `modified`, `mvc_versiondate`, `name`, `name_code`, `namespace_prefix`, `number`, `php_admin_event`, `php_helper_admin`, `php_helper_both`, `php_helper_site`, `php_method_uninstall`, `php_postflight_install`, `php_postflight_update`, `php_preflight_install`, `php_preflight_update`, `php_site_event`, `readme`, `remove_line_breaks`, `sales_server`, `short_description`, `sql`, `sql_uninstall`, `system_name`, `toignore`, `translation_tool`, `update_server`, `update_server_target`, `update_server_url`, `website`, `whmcs_buy_link`, `whmcs_key`, `whmcs_url`, `params`, `published`, `version`, `hits`, `access`, `ordering`) VALUES +(25, '', '', '', '', '', '', '', '', 1, '', '', '', 1, '', 1, '', '', '', '', 1, '', '', '', '', 1, '{}', '', 1, 1, 3, 'Llewellyn van der Merwe', '', 'default.txt', '', '', 'Vast Development Method', '2.1.0', 'Copyright (C) 2015. All Rights Reserved', '2016-10-18 11:44:09', '', 'mvVkzmHCEIoBhzD3gR3uTzXRGwNVNRWw8Hr1vrXxb+I=', 'BbloLSYT6Yup6v3I/YNmrdOwzjbI4BGfDvJSB82N9DU=', '', 'VtSt2RMz+AHCrwc7jk1G70t83ZwZsNp2upqfzMyaVHE=', '', '', '', 1, '', 'Just a basic demo of the most basic implementations of the [Joomla](http://www.joomla.org) Component Builder\'s ability.', 'joomla@vdm.io', '', '', 'nZDegSPK87rXA4KMC6P8I6zEldjVIJpPYGRPZlKBI+U=', '', 'efde995e-60aa-4b39-b644-44349dfb660d', 'images/vdm/demo500.jpg', '', 'https://github.com/Llewellynvdm/Joomla-Demo-Component', 'GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html', 1, '»', '2024-01-19 11:57:08', '', 'Demo', 'demo', 'JCB', 4, '', '', '', 'CS8qKg0KCSAqCUNoYW5nZSB0byBuaWNlIGZhbmN5IGRhdGUNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhbmN5RGF0ZSgkZGF0ZSkNCgl7DQoJCWlmICghc2VsZjo6aXNWYWxpZFRpbWVTdGFtcCgkZGF0ZSkpDQoJCXsNCgkJCSRkYXRlID0gc3RydG90aW1lKCRkYXRlKTsNCgkJfQ0KCQlyZXR1cm4gZGF0ZSgnalMgXG9cZiBGIFknLCRkYXRlKTsNCgl9DQoNCgkvKioNCgkgKglDaGFuZ2UgdG8gbmljZSBmYW5jeSB0aW1lIGFuZCBkYXRlDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYW5jeURhdGVUaW1lKCR0aW1lKQ0KCXsNCgkJaWYgKCFzZWxmOjppc1ZhbGlkVGltZVN0YW1wKCR0aW1lKSkNCgkJew0KCQkJJHRpbWUgPSBzdHJ0b3RpbWUoJHRpbWUpOw0KCQl9DQoJCXJldHVybiBkYXRlKCcoRzppKSBqUyBcb1xmIEYgWScsJHRpbWUpOw0KCX0NCg0KCS8qKg0KCSAqCUNoYW5nZSB0byBuaWNlIGhvdXI6bWludXRlcyB0aW1lDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYW5jeVRpbWUoJHRpbWUpDQoJew0KCQlpZiAoIXNlbGY6OmlzVmFsaWRUaW1lU3RhbXAoJHRpbWUpKQ0KCQl7DQoJCQkkdGltZSA9IHN0cnRvdGltZSgkdGltZSk7DQoJCX0NCgkJcmV0dXJuIGRhdGUoJ0c6aScsJHRpbWUpOw0KCX0NCg0KCS8qKg0KCSAqCUNoZWNrIGlmIHN0cmluZyBpcyBhIHZhbGlkIHRpbWUgc3RhbXANCgkgKi8NCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzVmFsaWRUaW1lU3RhbXAoJHRpbWVzdGFtcCkNCgl7DQoJCXJldHVybiAoKGludCkgJHRpbWVzdGFtcCA9PT0gJHRpbWVzdGFtcCkNCgkJJiYgKCR0aW1lc3RhbXAgPD0gUEhQX0lOVF9NQVgpDQoJCSYmICgkdGltZXN0YW1wID49IH5QSFBfSU5UX01BWCk7DQoJfQ0K', '', 'CQkvLyBHZXQgQXBwbGljYXRpb24gb2JqZWN0DQoJCSRhcHAgPSBGYWN0b3J5OjpnZXRBcHBsaWNhdGlvbigpOw0KCQkkYXBwLT5lbnF1ZXVlTWVzc2FnZSgnVGhpcyBpcyBhIGRlbW8gY29tcG9uZW50IGRldmVsb3BlZCBpbiA8YSBocmVmPSJodHRwOi8vdmRtLmJ6L2NvbXBvbmVudC1idWlsZGVyIiB0YWdldD0iX2JhbG5rIiB0aXRsZT0iSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIj5KQ0I8L2E+ISBZb3UgY2FuIGJ1aWxkIG1vcmUgY29tcG9uZW50cyBsaWtlIHRoaXMgd2l0aCBKQ0IsIGNoZWNrb3V0IG91ciBwYWdlIG9uIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS92ZG0taW8vSm9vbWxhLUNvbXBvbmVudC1CdWlsZGVyIiB0YWdldD0iX2JhbG5rIiB0aXRsZT0iSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIj5naXRodWI8L2E+IGZvciBtb3JlIGluZm8uIFRoZSBmdXR1cmUgb2YgPGEgaHJlZj0iaHR0cDovL3ZkbS5iei9jb21wb25lbnQtYnVpbGRlciIgdGFnZXQ9Il9iYWxuayIgdGl0bGU9Ikpvb21sYSBDb21wb25lbnQgQnVpbGRlciI+Sm9vbWxhIENvbXBvbmVudCBEZXZlbG9wbWVudDwvYT4gaXMgSGVyZSEnLCAnSW5mbycpOw==', '', '', '', '', 'IyAjIyNDb21wb25lbnRfbmFtZSMjIyAoIyMjVkVSU0lPTiMjIykNCg0KIVsjIyNDb21wb25lbnRfbmFtZSMjIyBpbWFnZV0oaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL25hbWliaWEvZGVtby1qb29tbGEtMy1jb21wb25lbnQvbWFzdGVyL2FkbWluL2Fzc2V0cy9pbWFnZXMvdmRtLWNvbXBvbmVudC5qcGcgIlRoZSAjIyNDb21wb25lbnRfbmFtZSMjIyIpDQoNCiMjI0RFU0NSSVBUSU9OIyMjDQoNCiMgQnVpbGQgRGV0YWlscw0KDQorICpDb21wYW55KjogWyMjI0NPTVBBTllOQU1FIyMjXSgjIyNBVVRIT1JXRUJTSVRFIyMjKQ0KKyAqQXV0aG9yKjogWyMjI0FVVEhPUiMjI10obWFpbHRvOiMjI0FVVEhPUkVNQUlMIyMjKQ0KKyAqTmFtZSo6IFsjIyNDb21wb25lbnRfbmFtZSMjI10oIyMjQVVUSE9SV0VCU0lURSMjIykNCisgKkZpcnN0IEJ1aWxkKjogIyMjQ1JFQVRJT05EQVRFIyMjDQorICpMYXN0IEJ1aWxkKjogIyMjQlVJTEREQVRFIyMjDQorICpWZXJzaW9uKjogIyMjVkVSU0lPTiMjIw0KKyAqQ29weXJpZ2h0KjogIyMjQ09QWVJJR0hUIyMjDQorICpMaWNlbnNlKjogIyMjTElDRU5TRSMjIw0KDQojIyBCdWlsZCBUaW1lDQoNCioqIyMjdG90YWxIb3VycyMjIyBIb3VycyoqIG9yICoqIyMjdG90YWxEYXlzIyMjIEVpZ2h0IEhvdXIgRGF5cyoqIChhY3R1YWwgdGltZSB0aGUgYXV0aG9yIHNhdmVkIC0NCmR1ZSB0byBbQXV0b21hdGVkIENvbXBvbmVudCBCdWlsZGVyXShodHRwczovL3d3dy52ZG0uaW8vam9vbWxhLWNvbXBvbmVudC1idWlsZGVyKSkNCg0KPiAoaWYgY3JlYXRpbmcgYSBmb2xkZXIgYW5kIGZpbGUgdG9vayAqKjUgc2Vjb25kcyoqIGFuZCB3cml0aW5nIG9uZSBsaW5lIG9mIGNvZGUgdG9vayAqKjEwIHNlY29uZHMqKiwNCj4gbmV2ZXIgbWFraW5nIG9uZSBtaXN0YWtlIG9yIHRha2luZyBhbnkgY29mZmVlIGJyZWFrLikNCg0KKyAqTGluZSBjb3VudCo6ICoqIyMjTElORV9DT1VOVCMjIyoqDQorICpGaWxlIGNvdW50KjogKiojIyNGSUxFX0NPVU5UIyMjKioNCisgKkZvbGRlciBjb3VudCo6ICoqIyMjRk9MREVSX0NPVU5UIyMjKioNCg0KKiojIyNhY3R1YWxIb3Vyc1NwZW50IyMjIEhvdXJzKiogb3IgKiojIyNhY3R1YWxEYXlzU3BlbnQjIyMgRWlnaHQgSG91ciBEYXlzKiogKHRoZSBhY3R1YWwgdGltZSB0aGUgYXV0aG9yIHNwZW50KQ0KDQo+ICh3aXRoIHRoZSBmb2xsb3dpbmcgYnJlYWsgZG93bjoNCj4gKipkZWJ1Z2dpbmcgQCMjI2RlYnVnZ2luZ0hvdXJzIyMjaG91cnMqKiA9IGNvZGluZ3RpbWUgLyA0Ow0KPiAqKnBsYW5uaW5nIEAjIyNwbGFubmluZ0hvdXJzIyMjaG91cnMqKiA9IGNvZGluZ3RpbWUgLyA3Ow0KPiAqKm1hcHBpbmcgQCMjI21hcHBpbmdIb3VycyMjI2hvdXJzKiogPSBjb2Rpbmd0aW1lIC8gMTA7DQo+ICoqb2ZmaWNlIEAjIyNvZmZpY2VIb3VycyMjI2hvdXJzKiogPSBjb2Rpbmd0aW1lIC8gNjspDQoNCioqIyMjYWN0dWFsVG90YWxIb3VycyMjIyBIb3VycyoqIG9yICoqIyMjYWN0dWFsVG90YWxEYXlzIyMjIEVpZ2h0IEhvdXIgRGF5cyoqDQooYSB0b3RhbCBvZiB0aGUgcmVhbGlzdGljIHRpbWUgZnJhbWUgZm9yIHRoaXMgcHJvamVjdCkNCg0KPiAoaWYgY3JlYXRpbmcgYSBmb2xkZXIgYW5kIGZpbGUgdG9vayAqKjUgc2Vjb25kcyoqIGFuZCB3cml0aW5nIG9uZSBsaW5lIG9mIGNvZGUgdG9vayAqKjEwIHNlY29uZHMqKiwNCj4gd2l0aCB0aGUgbm9ybWFsIGV2ZXJ5ZGF5IHJlYWxpdGllcyBhdCB0aGUgb2ZmaWNlLCB0aGF0IGluY2x1ZGVzIHRoZSBjb21wb25lbnQgcGxhbm5pbmcsIG1hcHBpbmcgJiBkZWJ1Z2dpbmcuKQ0KDQpQcm9qZWN0IGR1cmF0aW9uOiAqKiMjI3Byb2plY3RXZWVrVGltZSMjIyB3ZWVrcyoqIG9yICoqIyMjcHJvamVjdE1vbnRoVGltZSMjIyBtb250aHMqKg0KDQo+IFRoaXMgKipjb21wb25lbnQqKiB3YXMgYnVpbGQgd2l0aCBhIEpvb21sYSBbQXV0b21hdGVkIENvbXBvbmVudCBCdWlsZGVyXShodHRwczovL3d3dy52ZG0uaW8vam9vbWxhLWNvbXBvbmVudC1idWlsZGVyKS4NCj4gRGV2ZWxvcGVkIGJ5IFtMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZV0obWFpbHRvOmpvb21sYUB2ZG0uaW8pDQoNCltDVVNUT01DT0RFPXJlYWRNRWNvbnRyaWJ1dG9yc10=', '', '', 'Demo Component', '', '', 'Demo (public)', '.git', '', '', 2, 'https://raw.githubusercontent.com/namibia/demo-joomla-3-component/master/demo_updateserver.xml', 'https://www.vdm.io/', '', '6GeGhXcYZEQosGCi0ZXeuAj3oXBwARl7OnRm9h3rxPQ=', '', '{\"language_options\":{\"activate\":\"0\",\"use_percentagelanguageadd\":\"1\",\"percentagelanguageadd\":\"50\"},\"joomla_component_headers\":{\"add_admin_component\":\"0\",\"admin_component\":\"\",\"power_admin_component\":[],\"add_site_component\":\"0\",\"site_component\":\"\",\"power_site_component\":[],\"add_admin_helper\":\"0\",\"admin_helper\":\"\",\"power_admin_helper\":[],\"add_site_helper\":\"0\",\"site_helper\":\"\",\"power_site_helper\":[]}}', 1, 54, '', 1, 10); -- -- Dumping data for table `#__componentbuilder_joomla_plugin` @@ -2018,7 +2018,7 @@ INSERT INTO `#__componentbuilder_joomla_component` (`id`, `add_license`, `licens INSERT INTO `#__componentbuilder_joomla_plugin` (`id`, `add_head`, `add_php_method_uninstall`, `add_php_postflight_install`, `add_php_postflight_update`, `add_php_preflight_install`, `add_php_preflight_uninstall`, `add_php_preflight_update`, `add_php_script_construct`, `add_sales_server`, `add_sql`, `add_sql_uninstall`, `add_update_server`, `addreadme`, `class_extends`, `description`, `fields`, `guid`, `head`, `joomla_plugin_group`, `method_selection`, `main_class_code`, `name`, `php_method_uninstall`, `php_postflight_install`, `php_postflight_update`, `php_preflight_install`, `php_preflight_uninstall`, `php_preflight_update`, `php_script_construct`, `plugin_version`, `property_selection`, `readme`, `sales_server`, `sql`, `sql_uninstall`, `system_name`, `update_server`, `update_server_target`, `update_server_url`, `params`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES (1, 1, '', '', '', 1, '', '', '', '', '', '', '', 1, 4, 'The plugin to fully integrate componentbuilder with the privacy suite of Joomla.', '{}', '518f7be7-140c-47d3-9fb2-b6717230e0fc', 'dXNlIEpvb21sYVxVdGlsaXRpZXNcQXJyYXlIZWxwZXI7DQoNCkpMb2FkZXI6OnJlZ2lzdGVyKCdQcml2YWN5UGx1Z2luJywgSlBBVEhfQURNSU5JU1RSQVRPUiAuICcvY29tcG9uZW50cy9jb21fcHJpdmFjeS9oZWxwZXJzL3BsdWdpbi5waHAnKTsNCkpMb2FkZXI6OnJlZ2lzdGVyKCdQcml2YWN5UmVtb3ZhbFN0YXR1cycsIEpQQVRIX0FETUlOSVNUUkFUT1IgLiAnL2NvbXBvbmVudHMvY29tX3ByaXZhY3kvaGVscGVycy9yZW1vdmFsL3N0YXR1cy5waHAnKTsNCkpMb2FkZXI6OnJlZ2lzdGVyKCdbW1tDb21wb25lbnRdXV1IZWxwZXInLCBKUEFUSF9BRE1JTklTVFJBVE9SIC4gJy9jb21wb25lbnRzL2NvbV9bW1tjb21wb25lbnRdXV0vaGVscGVycy9bW1tjb21wb25lbnRdXV0ucGhwJyk7IA==', 10, '{\"method_selection0\":{\"method\":\"51\"},\"method_selection1\":{\"method\":\"52\"},\"method_selection2\":{\"method\":\"53\"}}', 'CS8qKg0KCSAqIEFwcGxpY2F0aW9uIG9iamVjdA0KCSAqDQoJICogQHZhciAgICBDTVNBcHBsaWNhdGlvbg0KCSAqIEBzaW5jZSAgMS4wDQoJICovDQoJcHJvdGVjdGVkICAkYXBwOw0KDQoJLyoqDQoJICogRGF0YWJhc2Ugb2JqZWN0DQoJICoNCgkgKiBAdmFyICAgIERhdGFiYXNlRHJpdmVyDQoJICogQHNpbmNlICAxLjANCgkgKi8NCglwcm90ZWN0ZWQgICRkYjsNCg0KCS8qKg0KCSAqIEFmZmVjdHMgY29uc3RydWN0b3IgYmVoYXZpb3IuIElmIHRydWUsIGxhbmd1YWdlIGZpbGVzIHdpbGwgYmUgbG9hZGVkIGF1dG9tYXRpY2FsbHkuDQoJICoNCgkgKiBAdmFyICAgIGJvb2xlYW4NCgkgKiBAc2luY2UgIDEuMA0KCSAqLw0KCXByb3RlY3RlZCAgJGF1dG9sb2FkTGFuZ3VhZ2UgPSB0cnVlOw0KDQoJLyoqDQoJICogUGVyZm9ybXMgdmFsaWRhdGlvbiB0byBkZXRlcm1pbmUgaWYgdGhlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgcmVtb3ZlIGluZm9ybWF0aW9uIHJlcXVlc3QgY2FuIGJlIHByb2Nlc3NlZA0KCSAqDQoJICogQHBhcmFtICAgUHJpdmFjeVRhYmxlUmVxdWVzdCAgJHJlcXVlc3QgIFRoZSByZXF1ZXN0IHJlY29yZCBiZWluZyBwcm9jZXNzZWQNCgkgKiBAcGFyYW0gICBKVXNlciAgICAgICAgICAgICAgICAkdXNlciAgICAgVGhlIHVzZXIgYWNjb3VudCBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXF1ZXN0IGlmIGF2YWlsYWJsZQ0KCSAqDQoJICogQHJldHVybiAgUHJpdmFjeVJlbW92YWxTdGF0dXMNCgkgKg0KCSAqIEBzaW5jZSAgIDEuMA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBvblByaXZhY3lDYW5SZW1vdmVEYXRhKFByaXZhY3lUYWJsZVJlcXVlc3QgJHJlcXVlc3QsIEpVc2VyICR1c2VyID0gbnVsbCkNCgl7DQoJCSRzdGF0dXMgPSBuZXcgUHJpdmFjeVJlbW92YWxTdGF0dXM7DQoNCgkJLy8gVGhpcyBwbHVnaW4gb25seSBwcm9jZXNzZXMgZGF0YSBmb3IgcmVnaXN0ZXJlZCB1c2VyIGFjY291bnRzDQoJCWlmICghJHVzZXIpDQoJCXsNCgkJCXJldHVybiAkc3RhdHVzOw0KCQl9DQoNCgkJLy8gY2hlY2sgaWYgdGhlIGhlbHBlciBtZXRob2QgaXMgc2V0IGluIHRoZSBjb21wb25lbnQNCgkJaWYgKG1ldGhvZF9leGlzdHMoJ1tbW0NvbXBvbmVudF1dXUhlbHBlcicsICdvblByaXZhY3lDYW5SZW1vdmVEYXRhJykpDQoJCXsNCgkJCVtbW0NvbXBvbmVudF1dXUhlbHBlcjo6b25Qcml2YWN5Q2FuUmVtb3ZlRGF0YSgkdGhpcywgJHN0YXR1cywgJHJlcXVlc3QsICR1c2VyKTsNCgkJfQ0KDQoJCXJldHVybiAkc3RhdHVzOw0KCX0NCg0KCS8qKg0KCSAqIFByb2Nlc3NlcyBhbiBleHBvcnQgcmVxdWVzdCBmb3IgSm9vbWxhIGNvcmUgdXNlciBkYXRhDQoJICoNCgkgKiBAcGFyYW0gICBQcml2YWN5VGFibGVSZXF1ZXN0ICAkcmVxdWVzdCAgVGhlIHJlcXVlc3QgcmVjb3JkIGJlaW5nIHByb2Nlc3NlZA0KCSAqIEBwYXJhbSAgIEpVc2VyICAgICAgICAgICAgICAgICR1c2VyICAgICBUaGUgdXNlciBhY2NvdW50IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcXVlc3QgaWYgYXZhaWxhYmxlDQoJICoNCgkgKiBAcmV0dXJuICBQcml2YWN5RXhwb3J0RG9tYWluW10NCgkgKg0KCSAqIEBzaW5jZSAgIDEuMA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBvblByaXZhY3lFeHBvcnRSZXF1ZXN0KFByaXZhY3lUYWJsZVJlcXVlc3QgJHJlcXVlc3QsIEpVc2VyICR1c2VyID0gbnVsbCkNCgl7DQoJCSRkb21haW5zID0gYXJyYXkoKTsNCg0KCQkvLyBUaGlzIHBsdWdpbiBvbmx5IHByb2Nlc3NlcyBkYXRhIGZvciByZWdpc3RlcmVkIHVzZXIgYWNjb3VudHMNCgkJaWYgKCEkdXNlcikNCgkJew0KCQkJcmV0dXJuICRkb21haW5zOw0KCQl9DQoNCgkJLy8gY2hlY2sgaWYgdGhlIGhlbHBlciBtZXRob2QgaXMgc2V0IGluIHRoZSBjb21wb25lbnQNCgkJaWYgKG1ldGhvZF9leGlzdHMoJ1tbW0NvbXBvbmVudF1dXUhlbHBlcicsICdvblByaXZhY3lFeHBvcnRSZXF1ZXN0JykpDQoJCXsNCgkJCVtbW0NvbXBvbmVudF1dXUhlbHBlcjo6b25Qcml2YWN5RXhwb3J0UmVxdWVzdCgkdGhpcywgJGRvbWFpbnMsICRyZXF1ZXN0LCAkdXNlcik7DQoJCX0NCg0KCQlyZXR1cm4gJGRvbWFpbnM7DQoJfQ0KDQoJLyoqDQoJICogUmVtb3ZlcyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSByZW1vdmUgaW5mb3JtYXRpb24gcmVxdWVzdA0KCSAqDQoJICogQHBhcmFtICAgUHJpdmFjeVRhYmxlUmVxdWVzdCAgJHJlcXVlc3QgIFRoZSByZXF1ZXN0IHJlY29yZCBiZWluZyBwcm9jZXNzZWQNCgkgKiBAcGFyYW0gICBKVXNlciAgICAgICAgICAgICAgICAkdXNlciAgICAgVGhlIHVzZXIgYWNjb3VudCBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXF1ZXN0IGlmIGF2YWlsYWJsZQ0KCSAqDQoJICogQHJldHVybiAgdm9pZA0KCSAqDQoJICogQHNpbmNlICAgMS4wDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIG9uUHJpdmFjeVJlbW92ZURhdGEoUHJpdmFjeVRhYmxlUmVxdWVzdCAkcmVxdWVzdCwgSlVzZXIgJHVzZXIgPSBudWxsKQ0KCXsNCgkJLy8gVGhpcyBwbHVnaW4gb25seSBwcm9jZXNzZXMgZGF0YSBmb3IgcmVnaXN0ZXJlZCB1c2VyIGFjY291bnRzDQoJCWlmICghJHVzZXIpDQoJCXsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIGNoZWNrIGlmIHRoZSBoZWxwZXIgbWV0aG9kIGlzIHNldCBpbiB0aGUgY29tcG9uZW50DQoJCWlmIChtZXRob2RfZXhpc3RzKCdbW1tDb21wb25lbnRdXV1IZWxwZXInLCAnb25Qcml2YWN5UmVtb3ZlRGF0YScpKQ0KCQl7DQoJCQlbW1tDb21wb25lbnRdXV1IZWxwZXI6Om9uUHJpdmFjeVJlbW92ZURhdGEoJHRoaXMsICRyZXF1ZXN0LCAkdXNlcik7DQoJCX0NCgl9', '[[[Component]]]', 'Ly8gUEhQIE1ldGhvZCAodW5pbnN0YWxsKQ==', 'Ly8gUEhQIFBvc3RmbGlnaHQgKGluc3RhbGwp', 'Ly8gUEhQIFBvc3RmbGlnaHQgKHVwZGF0ZSk=', 'CQkJLy8gY2hlY2sgdGhhdCBbW1tjb21wb25lbnRdXV0gaXMgaW5zdGFsbGVkDQoJCQkkcGF0aFRvQ29yZSA9IEpQQVRIX0FETUlOSVNUUkFUT1IgLiAnL2NvbXBvbmVudHMvY29tX1tbW2NvbXBvbmVudF1dXS9oZWxwZXJzL1tbW2NvbXBvbmVudF1dXS5waHAnOw0KCQkJaWYgKCFKRmlsZTo6ZXhpc3RzKCRwYXRoVG9Db3JlKSkNCgkJCXsNCgkJCQkkYXBwLT5lbnF1ZXVlTWVzc2FnZSgnW1tbY29tcG9uZW50X2Fjcm9ueW1dXV0gbXVzdCBmaXJzdCBiZSBpbnN0YWxsZWQgZnJvbSA8YSBocmVmPSJbW1tnZXRfY29tcG9uZW50X2xpbmtdXV0iIHRhcmdldD0iX2JsYW5rIj5bW1tjb21wb25lbnRfbGlua19uYW1lXV1dPC9hPi4nLCAnZXJyb3InKTsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9', 'Ly8gUEhQIFByZWZsaWdodCAodW5pbnN0YWxsKQ==', 'Ly8gUEhQIFByZWZsaWdodCAodXBkYXRlKQ==', '', '1.0.0', '{\"property_selection0\":{\"property\":\"31\"},\"property_selection1\":{\"property\":\"32\"},\"property_selection2\":{\"property\":\"33\"}}', 'IyAjIyNQTFVHSU5fTkFNRSMjIyAoIyMjVkVSU0lPTiMjIykNCg0KIyMjREVTQ1JJUFRJT04jIyMNCg0KIyBCdWlsZCBEZXRhaWxzDQoNCisgKkNvbXBhbnkqOiBbIyMjQ09NUEFOWU5BTUUjIyNdKCMjI0FVVEhPUldFQlNJVEUjIyMpDQorICpBdXRob3IqOiBbIyMjQVVUSE9SIyMjXShtYWlsdG86IyMjQVVUSE9SRU1BSUwjIyMpDQorICpWZXJzaW9uKjogIyMjVkVSU0lPTiMjIw0KKyAqQ29weXJpZ2h0KjogIyMjQ09QWVJJR0hUIyMjDQorICpMaWNlbnNlKjogIyMjTElDRU5TRSMjIw==', '', '', '', 'Global Privacy', '', 1, 'https://www.vdm.io/updates/componentbuilder_global_privacy.xml', '', 1, '2019-07-16 00:49:50', '2020-05-24 22:49:38', 29, '', 1), (21, '', '', '', '', 1, '', '', '', '', '', '', '', '', 1, 'Plugin to autoload the powers of componentbuilder', '{}', '86dd28b5-18d4-437e-8a53-7eaf23478fc8', '', 8, '{}', 'CS8qKg0KCSAqIEFwcGxpY2F0aW9uIG9iamVjdA0KCSAqDQoJICogQHZhciAgICBDTVNBcHBsaWNhdGlvbg0KCSAqIEBzaW5jZSAgMS4wLjANCgkgKi8NCglwcm90ZWN0ZWQgICRhcHA7DQoNCgkvKioNCgkgKiBBZmZlY3RzIGNvbnN0cnVjdG9yIGJlaGF2aW9yLiBJZiB0cnVlLCBsYW5ndWFnZSBmaWxlcyB3aWxsIGJlIGxvYWRlZCBhdXRvbWF0aWNhbGx5Lg0KCSAqDQoJICogQHZhciAgICBib29sZWFuDQoJICogQHNpbmNlICAxLjAuMA0KCSAqLw0KCXByb3RlY3RlZCAgJGF1dG9sb2FkTGFuZ3VhZ2UgPSBmYWxzZTsNCg0KCS8qKg0KCSAqIENvbnN0cnVjdG9yLg0KCSAqDQoJICogQHBhcmFtICAgb2JqZWN0ICAmJHN1YmplY3QgIFRoZSBvYmplY3QgdG8gb2JzZXJ2ZSAtLSBldmVudCBkaXNwYXRjaGVyLg0KCSAqIEBwYXJhbSAgIG9iamVjdCAgJGNvbmZpZyAgICBBbiBvcHRpb25hbCBhc3NvY2lhdGl2ZSBhcnJheSBvZiBjb25maWd1cmF0aW9uIHNldHRpbmdzLg0KCSAqDQoJICogQHNpbmNlICAgMS42DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRzdWJqZWN0LCAkY29uZmlnKQ0KCXsNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkc3ViamVjdCwgJGNvbmZpZyk7IyMjUExVR0lOX1BPV0VSX0FVVE9MT0FERVIjIyMNCgl9', '[[[Component]]] Powers Autoloader', '', '', '', 'Ly8gV0hBVD8=', '', '', '', '1.0.1', '{\"property_selection0\":{\"property\":\"25\"},\"property_selection1\":{\"property\":\"27\"}}', 'WW91IGNhbiB1c2UgYWxsIHRoZSBub3JtYWwgbWFya2Rvd24sIGluY2x1ZGluZyB0aGUgcGxhY2UtaG9sZGVycy4=', '', '', '', 'Powers Autoloader', '', 1, '', '', 1, '2021-11-11 02:22:02', '2024-03-01 21:18:38', 16, '', 8), -(24, '', '', '', '', 1, '', '', '', '', '', '', '', '', 1, 'Add Access Token to easy update [[[Component]]]', '{}', '29ac30d2-1c1a-4b9e-9cfa-c5fcb08caa01', 'dXNlIEpvb21sYVxDTVNcQXBwbGljYXRpb25cQ01TQXBwbGljYXRpb247DQp1c2UgSm9vbWxhXENNU1xQbHVnaW5cQ01TUGx1Z2luOw==', 12, '{\"method_selection0\":{\"method\":\"103\"}}', 'CS8qKg0KCSAqIEFwcGxpY2F0aW9uIG9iamVjdA0KCSAqDQoJICogQHZhciAgICBDTVNBcHBsaWNhdGlvbg0KCSAqIEBzaW5jZSAgMS4wLjANCgkgKi8NCglwcm90ZWN0ZWQgICRhcHA7DQoNCgkvKioNCgkgKiBBZmZlY3RzIGNvbnN0cnVjdG9yIGJlaGF2aW9yLiBJZiB0cnVlLCBsYW5ndWFnZSBmaWxlcyB3aWxsIGJlIGxvYWRlZCBhdXRvbWF0aWNhbGx5Lg0KCSAqDQoJICogQHZhciAgICBib29sZWFuDQoJICogQHNpbmNlICAxLjAuMA0KCSAqLw0KCXByb3RlY3RlZCAgJGF1dG9sb2FkTGFuZ3VhZ2UgPSB0cnVlOw0KDQoJLyoqDQoJICogb25JbnN0YWxsZXJCZWZvcmVQYWNrYWdlRG93bmxvYWQuDQoJICoNCgkgKiBGb3IgbW9kaWZpY2F0aW9uIG9mIFVSTCBhbmQgaGVhZGVycyBiZWZvcmUgcGFja2FnZSBkb3dubG9hZA0KCSAqDQoJICogQHJldHVybiAgdm9pZA0KCSAqDQoJICogQHNpbmNlICAgMS4wDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIG9uSW5zdGFsbGVyQmVmb3JlUGFja2FnZURvd25sb2FkKCYkdXJsLCAmJGhlYWRlcnMpDQoJew0KCQkvLyBzZXQgdGhlIFVSSSBvYmplY3QNCgkJJHVyaSA9IFxKVXJpOjpnZXRJbnN0YW5jZSgkdXJsKTsNCgkJJHBhcnRzID0gZXhwbG9kZSgnLycsICR1cmktPmdldFBhdGgoKSk7DQoNCgkJLy8gY2hlY2sgdGhhdCB0aGlzIGlzIG91ciBBUEkNCgkJaWYgKCR1cmktPmdldEhvc3QoKSA9PSAnW1tbZ2l0ZWFfdXJsXV1dJyAmJiBpbl9hcnJheSgnW1tbZ2l0ZWFfcGFja2FnZV9uYW1lXV1dJywgJHBhcnRzKSkNCgkJew0KCQkJLy8gZ2V0IHRoZSB0b2tlbiBpZiBzZXQNCgkJCSR0b2tlbiA9IFxKQ29tcG9uZW50SGVscGVyOjpnZXRQYXJhbXMoJ2NvbV9bW1tjb21wb25lbnRdXV0nKS0+Z2V0KCdnaXRlYV90b2tlbicsIGZhbHNlKTsNCgkJCS8vIG9ubHkgYWRkIGlmIHRva2VuIGlzIHNldA0KCQkJaWYgKCR0b2tlbikNCgkJCXsNCgkJCQkvLyBhZGQgdGhlIHRva2VuDQoJCQkJJHVyaS0+c2V0VmFyKCdhY2Nlc3NfdG9rZW4nLCAkdG9rZW4pOw0KCQkJCS8vIHVwZGF0ZSB0aGUgVVJMDQoJCQkJJHVybCA9ICR1cmktPnRvU3RyaW5nKCk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJLy8gc2V0IHRoZSByZXR1cm4gVVJMDQoJCQkJJHJldHVybiA9IHVybGVuY29kZShiYXNlNjRfZW5jb2RlKChzdHJpbmcpIFxKVXJpOjpnZXRJbnN0YW5jZSgpKSk7DQoJCQkJLy8gc2V0IHRoZSB1cmxzDQoJCQkJJGdldF9hY2Nlc3NfdG9rZW5fdXJsID0gJyJodHRwczovL1tbW2dpdGVhX3VybF1dXS91c2VyL3NldHRpbmdzL2FwcGxpY2F0aW9ucyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSInIC4gVGV4dDo6XygnR2V0IEFjY2VzcyBUb2tlbicpIC4gJyInOw0KCQkJCSRzZXRfYWNjZXNzX3Rva2VuX3VybCA9ICciJyAuIFxKVVJJOjpyb290KCkgLiAnYWRtaW5pc3RyYXRvci9pbmRleC5waHA/b3B0aW9uPWNvbV9jb25maWcmdmlldz1jb21wb25lbnQmY29tcG9uZW50PWNvbV9bW1tjb21wb25lbnRdXV0mcGF0aD0mcmV0dXJuPScgLiAkcmV0dXJuIC4gJyIgdGl0bGU9IicgLiBUZXh0OjpfKCdTZXQgQWNjZXNzIFRva2VuJykgLiAnIic7DQoJCQkJLy8gbG9hZCB0aGUgbWVzc2FnZQ0KCQkJCSR0aGlzLT5hcHAtPmVucXVldWVNZXNzYWdlKA0KCQkJCQlUZXh0OjpzcHJpbnRmKCJJZiB0aGVyZSB3YXMgYSBkb3dubG9hZC91cGRhdGUgZXJyb3IsIGl0J3MgcHJvYmFibHkgYmVjYXVzZSB0aGUgPGEgaHJlZj0lcyA+QVBJIEFjY2VzcyBUb2tlbjwvYT4gZm9yIHVwZGF0ZXMgb2YgW1tbY29tcG9uZW50XV1dIGhhcyBub3QgYmVlbiBzZXQsIHlvdSBjYW4gc2V0IHRoaXMgYWNjZXNzIHRva2VuIGluIHRoZSA8YSBocmVmPSVzID5nbG9iYWwgb3B0aW9ucyB0YWI8L2E+LiIsDQoJCQkJCQkkZ2V0X2FjY2Vzc190b2tlbl91cmwsDQoJCQkJCQkkc2V0X2FjY2Vzc190b2tlbl91cmwNCgkJCQkJKSwgJ25vdGljZScpOw0KCQkJfQ0KCQl9DQoJfQ0K', 'componentbuilder', '', '', '', 'Ly8gbmVlZHMgZml4', '', '', '', '1.0.2', '{\"property_selection0\":{\"property\":\"39\"},\"property_selection1\":{\"property\":\"37\"}}', 'WW91IGNhbiB1c2UgYWxsIHRoZSBub3JtYWwgbWFya2Rvd24sIGluY2x1ZGluZyB0aGUgcGxhY2UtaG9sZGVycy4=', '', '', '', 'Update (git.vdm.dev)', '', 1, '', '', 1, '2021-12-08 07:42:39', '2024-03-01 21:17:50', 17, '', 9), +(24, '', '', '', '', 1, '', '', '', '', '', '', '', '', 1, 'Add Access Token to easy update [[[Component]]]', '{}', '29ac30d2-1c1a-4b9e-9cfa-c5fcb08caa01', 'dXNlIEpvb21sYVxDTVNcQXBwbGljYXRpb25cQ01TQXBwbGljYXRpb247DQp1c2UgSm9vbWxhXENNU1xQbHVnaW5cQ01TUGx1Z2luOw==', 12, '{\"method_selection0\":{\"method\":\"103\"}}', 'CS8qKg0KCSAqIEFwcGxpY2F0aW9uIG9iamVjdA0KCSAqDQoJICogQHZhciAgICBDTVNBcHBsaWNhdGlvbg0KCSAqIEBzaW5jZSAgMS4wLjANCgkgKi8NCglwcm90ZWN0ZWQgICRhcHA7DQoNCgkvKioNCgkgKiBBZmZlY3RzIGNvbnN0cnVjdG9yIGJlaGF2aW9yLiBJZiB0cnVlLCBsYW5ndWFnZSBmaWxlcyB3aWxsIGJlIGxvYWRlZCBhdXRvbWF0aWNhbGx5Lg0KCSAqDQoJICogQHZhciAgICBib29sZWFuDQoJICogQHNpbmNlICAxLjAuMA0KCSAqLw0KCXByb3RlY3RlZCAgJGF1dG9sb2FkTGFuZ3VhZ2UgPSB0cnVlOw0KDQoJLyoqDQoJICogb25JbnN0YWxsZXJCZWZvcmVQYWNrYWdlRG93bmxvYWQuDQoJICoNCgkgKiBGb3IgbW9kaWZpY2F0aW9uIG9mIFVSTCBhbmQgaGVhZGVycyBiZWZvcmUgcGFja2FnZSBkb3dubG9hZA0KCSAqDQoJICogQHJldHVybiAgdm9pZA0KCSAqDQoJICogQHNpbmNlICAgMS4wDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIG9uSW5zdGFsbGVyQmVmb3JlUGFja2FnZURvd25sb2FkKCYkdXJsLCAmJGhlYWRlcnMpDQoJew0KCQkvLyBzZXQgdGhlIFVSSSBvYmplY3QNCgkJJHVyaSA9IFxKVXJpOjpnZXRJbnN0YW5jZSgkdXJsKTsNCgkJJHBhcnRzID0gZXhwbG9kZSgnLycsICR1cmktPmdldFBhdGgoKSk7DQoNCgkJLy8gY2hlY2sgdGhhdCB0aGlzIGlzIG91ciBBUEkNCgkJaWYgKCR1cmktPmdldEhvc3QoKSA9PSAnW1tbZ2l0ZWFfdXJsXV1dJyAmJiBpbl9hcnJheSgnW1tbZ2l0ZWFfcGFja2FnZV9uYW1lXV1dJywgJHBhcnRzKSkNCgkJew0KCQkJLy8gZ2V0IHRoZSB0b2tlbiBpZiBzZXQNCgkJCSR0b2tlbiA9IFxKQ29tcG9uZW50SGVscGVyOjpnZXRQYXJhbXMoJ2NvbV9bW1tjb21wb25lbnRdXV0nKS0+Z2V0KCdnaXRlYV90b2tlbicsIGZhbHNlKTsNCgkJCS8vIG9ubHkgYWRkIGlmIHRva2VuIGlzIHNldA0KCQkJaWYgKCR0b2tlbikNCgkJCXsNCgkJCQkvLyBhZGQgdGhlIHRva2VuDQoJCQkJJHVyaS0+c2V0VmFyKCdhY2Nlc3NfdG9rZW4nLCAkdG9rZW4pOw0KCQkJCS8vIHVwZGF0ZSB0aGUgVVJMDQoJCQkJJHVybCA9ICR1cmktPnRvU3RyaW5nKCk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJLy8gc2V0IHRoZSByZXR1cm4gVVJMDQoJCQkJJHJldHVybiA9IHVybGVuY29kZShiYXNlNjRfZW5jb2RlKChzdHJpbmcpIFxKVXJpOjpnZXRJbnN0YW5jZSgpKSk7DQoJCQkJLy8gc2V0IHRoZSB1cmxzDQoJCQkJJGdldF9hY2Nlc3NfdG9rZW5fdXJsID0gJyJodHRwczovL1tbW2dpdGVhX3VybF1dXS91c2VyL3NldHRpbmdzL2FwcGxpY2F0aW9ucyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSInIC4gVGV4dDo6XygnR2V0IEFjY2VzcyBUb2tlbicpIC4gJyInOw0KCQkJCSRzZXRfYWNjZXNzX3Rva2VuX3VybCA9ICciJyAuIFxKVXJpOjpyb290KCkgLiAnYWRtaW5pc3RyYXRvci9pbmRleC5waHA/b3B0aW9uPWNvbV9jb25maWcmdmlldz1jb21wb25lbnQmY29tcG9uZW50PWNvbV9bW1tjb21wb25lbnRdXV0mcGF0aD0mcmV0dXJuPScgLiAkcmV0dXJuIC4gJyIgdGl0bGU9IicgLiBUZXh0OjpfKCdTZXQgQWNjZXNzIFRva2VuJykgLiAnIic7DQoJCQkJLy8gbG9hZCB0aGUgbWVzc2FnZQ0KCQkJCSR0aGlzLT5hcHAtPmVucXVldWVNZXNzYWdlKA0KCQkJCQlUZXh0OjpzcHJpbnRmKCJJZiB0aGVyZSB3YXMgYSBkb3dubG9hZC91cGRhdGUgZXJyb3IsIGl0J3MgcHJvYmFibHkgYmVjYXVzZSB0aGUgPGEgaHJlZj0lcyA+QVBJIEFjY2VzcyBUb2tlbjwvYT4gZm9yIHVwZGF0ZXMgb2YgW1tbY29tcG9uZW50XV1dIGhhcyBub3QgYmVlbiBzZXQsIHlvdSBjYW4gc2V0IHRoaXMgYWNjZXNzIHRva2VuIGluIHRoZSA8YSBocmVmPSVzID5nbG9iYWwgb3B0aW9ucyB0YWI8L2E+LiIsDQoJCQkJCQkkZ2V0X2FjY2Vzc190b2tlbl91cmwsDQoJCQkJCQkkc2V0X2FjY2Vzc190b2tlbl91cmwNCgkJCQkJKSwgJ25vdGljZScpOw0KCQkJfQ0KCQl9DQoJfQ0K', 'componentbuilder', '', '', '', 'Ly8gbmVlZHMgZml4', '', '', '', '1.0.2', '{\"property_selection0\":{\"property\":\"39\"},\"property_selection1\":{\"property\":\"37\"}}', 'WW91IGNhbiB1c2UgYWxsIHRoZSBub3JtYWwgbWFya2Rvd24sIGluY2x1ZGluZyB0aGUgcGxhY2UtaG9sZGVycy4=', '', '', '', 'Update (git.vdm.dev)', '', 1, '', '', 1, '2021-12-08 07:42:39', '2024-03-01 21:17:50', 17, '', 9), (28, 1, '', '', '', 1, '', '', '', '', '', '', '', 1, 1, 'This plugin is used to load PreUpVer on your website. So it adds https://cdn.jsdelivr.net/gh/Llewellynvdm/PreUpVer@1.0.0/dist/js/preupver.min.js to the header of your website. See: https://git.vdm.dev/Llewellyn/PreUpVer for more details.', '{}', 'dd6580c4-6bbb-4d13-a868-0b38fbb6a66e', 'dXNlIEpvb21sYVxDTVNcUGx1Z2luXENNU1BsdWdpbjsNCnVzZSBKb29tbGFcQ01TXEh0bWxcSFRNTEhlbHBlcjsNCg==', 8, '{\"method_selection0\":{\"method\":\"122\"}}', 'CS8qKg0KCSAqIEFwcGxpY2F0aW9uIG9iamVjdA0KCSAqDQoJICogQHZhciAgICBDTVNBcHBsaWNhdGlvbg0KCSAqIEBzaW5jZSAgMS4wLjANCgkgKi8NCglwcm90ZWN0ZWQgICRhcHA7DQoNCgkvKioNCgkgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYmVmb3JlIHRoZSBoZWFkIGlzIGNvbXBpbGVkIGFuZCBhbGxvd3MgbWFuaXB1bGF0aW9uIG9mIHRoZSBoZWFkIGRhdGEuDQoJICogSW4gdGhpcyBjYXNlLCBpdCdzIHVzZWQgdG8gYWRkIGEgSmF2YVNjcmlwdCBmaWxlIHRvIHRoZSBmcm9udCBlbmQgb2YgdGhlIEpvb21sYSBzaXRlLg0KCSAqDQoJICogQHJldHVybiAgdm9pZA0KCSAqDQoJICogQHNpbmNlICAgMy4wLjANCgkgKiBAdGhyb3dzICBFeGNlcHRpb24gb24gZXJyb3IuDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIG9uQmVmb3JlQ29tcGlsZUhlYWQoKQ0KCXsNCgkJLy8gQ2hlY2sgaWYgd2UgYXJlIGluIHRoZSBzaXRlIGFwcGxpY2F0aW9uDQoJCWlmICgkdGhpcy0+YXBwLT5pc0NsaWVudCgnc2l0ZScpKSB7DQoJCQlIVE1MSGVscGVyOjpfKCdzY3JpcHQnLCAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL0xsZXdlbGx5bnZkbS9QcmVVcFZlckAxLjAuMC9kaXN0L2pzL3ByZXVwdmVyLm1pbi5qcycsIFsndmVyc2lvbicgPT4gJ2F1dG8nXSk7DQoJCX0NCgl9', 'PreUpVerLoader', '', '', '', 'CQkJJGp2ZXJzaW9uID0gbmV3IEpWZXJzaW9uKCk7DQoJCQlpZiAoISRqdmVyc2lvbi0+aXNDb21wYXRpYmxlKCczLjEwLjAnKSkgew0KCQkJCSRhcHAtPmVucXVldWVNZXNzYWdlKCdQbGVhc2UgdXBncmFkZSB0byBhdCBsZWFzdCBKb29tbGEhIDMuMTAgYmVmb3JlIGNvbnRpbnVpbmchJywgJ2Vycm9yJyk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0K', '', '', '', '1.0.0', '{\"property_selection0\":{\"property\":\"25\"}}', 'IyBQcmVVcFZlciBMb2FkZXIgKFtbW3BsdWdpbi52ZXJzaW9uXV1dKQ0KDQojIyBJbnRyb2R1Y3Rpb24NCg0KUHJlVXBWZXIgaXMgYSB2ZXJzYXRpbGUgSmF2YVNjcmlwdCBsaWJyYXJ5IGRlc2lnbmVkIHRvIGF1dG9tYXRpY2FsbHkgdXBkYXRlIHRoZSB2ZXJzaW9uIG51bWJlcnMgb2YgbGlicmFyeSBzY3JpcHRzIGluIHlvdXIgZG9jdW1lbnRhdGlvbi4gSXQgaWRlbnRpZmllcyBzcGVjaWZpYyBgPHByZT5gIHRhZ3Mgb24geW91ciB3ZWJwYWdlIGFuZCB1cGRhdGVzIHRoZW0gd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gdGFnIGZldGNoZWQgZnJvbSBhIHNwZWNpZmllZCByZXBvc2l0b3J5LCBlbnN1cmluZyB5b3VyIGRvY3VtZW50YXRpb24gYWx3YXlzIGRpc3BsYXlzIHVwLXRvLWRhdGUgaW5mb3JtYXRpb24uDQoNCiMjIEhvdyBJdCBXb3Jrcw0KDQpQcmVVcFZlciBvcGVyYXRlcyBieSBzZWFyY2hpbmcgZm9yIGA8cHJlPmAgdGFncyB3aXRoIGEgZGVzaWduYXRlZCBjbGFzcyAoYHByZXVwdmVyYCkgYW5kIHVzaW5nIHRoZWlyIGRhdGEgYXR0cmlidXRlcyB0byBwZXJmb3JtIHZlcnNpb24gdXBkYXRlcy4gSXQgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBvZiBrZWVwaW5nIHlvdXIgbGlicmFyeSByZWZlcmVuY2VzIHVwLXRvLWRhdGUgaW4gZG9jdW1lbnRhdGlvbi4NCg0KIyMjIEF1dG9tYXRpYyBEZXRlY3Rpb24gYW5kIFVwZGF0aW5nDQoNCldoZW4gdGhlIHdlYnBhZ2UgbG9hZHMsIFByZVVwVmVyIGZpbmRzIGFsbCBgPHByZT5gIHRhZ3MgbWFya2VkIHdpdGggdGhlIGBwcmV1cHZlcmAgY2xhc3MuIEl0IHRoZW4gZXh0cmFjdHMgbmVjZXNzYXJ5IGRldGFpbHMgZnJvbSB0aGVpciBkYXRhIGF0dHJpYnV0ZXMgYW5kIHVwZGF0ZXMgZWFjaCB0YWcgd2l0aCB0aGUgbGF0ZXN0IGxpYnJhcnkgdmVyc2lvbi4NCg0KIyMjIFVzYWdlDQoNCjEuICoqTWFya2luZyBgPHByZT5gIFRhZ3M6KioNCg0KICAgQWRkIHRoZSBgY2xhc3M9InByZXVwdmVyImAgdG8gYDxwcmU+YCB0YWdzIGluIHlvdXIgSFRNTCBhbmQgZGVmaW5lIHRoZSByZXF1aXJlZCBkYXRhIGF0dHJpYnV0ZXMgZm9yIGF1dG9tYXRpYyB1cGRhdGluZzoNCg0KICAgYGBgaHRtbA0KICAgPHByZSBpZD0idW5pcXVlLWlkIiBjbGFzcz0icHJldXB2ZXIiDQogICAgICAgIGRhdGEtYXBpLXVybD0iaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy91c2VybmFtZS9saWJyYXJ5L3RhZ3MiDQogICAgICAgIGRhdGEtZGVzY3JpcHRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBsaWJyYXJ5IHNjcmlwdCINCiAgICAgICAgZGF0YS11cmw9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC91c2VybmFtZS9saWJyYXJ5QCR7dmVyc2lvbn0vZGlzdC9saWJyYXJ5Lm1pbi5qcyI+DQogICA8L3ByZT4NCiAgIGBgYA0KDQogICBSZXBsYWNlIGB1bmlxdWUtaWRgLCBgdXNlcm5hbWVgLCBgbGlicmFyeWAsIGFuZCBvdGhlciBwbGFjZWhvbGRlcnMgd2l0aCB5b3VyIHNwZWNpZmljIGRldGFpbHMuDQoNCjIuICoqQXR0cmlidXRlcyBFeHBsYWluZWQ6KioNCg0KICAgLSBgaWRgOiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgYDxwcmU+YCB0YWcuDQogICAtIGBkYXRhLWFwaS11cmxgOiBUaGUgQVBJIFVSTCB0byBmZXRjaCB0aGUgbGF0ZXN0IGxpYnJhcnkgdmVyc2lvbi4NCiAgIC0gYGRhdGEtZGVzY3JpcHRpb25gOiBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBsaWJyYXJ5IHNjcmlwdC4NCiAgIC0gYGRhdGEtdXJsYDogVGhlIFVSTCBvZiB0aGUgc2NyaXB0LCB3aGVyZSBgJHt2ZXJzaW9ufWAgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiBudW1iZXIuDQoNCiMjIyBFeGFtcGxlDQoNCkNoZWNrIG91dCB0aGUgW3Rlc3RzXShodHRwczovL2dpdC52ZG0uZGV2L0xsZXdlbGx5bi9QcmVVcFZlci9zcmMvYnJhbmNoL21hc3Rlci90ZXN0cy8pIGZvbGRlciBmb3IgdGhlIGV4YW1wbGVzIHdlIHVzZSB0byB0ZXN0IGlmIHRoaXMgbGlicmFyeSB3b3JrcyBhcyBleHBlY3RlZC4NCg0KIyBCdWlsZCBEZXRhaWxzDQoNCisgKkF1dGhvcio6IFtMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZV0obWFpbHRvOmpvb21sYUB2ZG0uaW8pDQorICpOYW1lKjogW1ByZVVwVmVyIExvYWRlcl0oaHR0cHM6Ly9naXQudmRtLmRldi9MbGV3ZWxseW4vUHJlVXBWZXIpDQorICpGaXJzdCBCdWlsZCo6ICMjI0NSRUFUSU9OREFURSMjIw0KKyAqTGFzdCBCdWlsZCo6ICMjI0JVSUxEREFURSMjIw0KKyAqVmVyc2lvbio6IFtbW3BsdWdpbi52ZXJzaW9uXV1dDQorICpDb3B5cmlnaHQqOiAjIyNDT1BZUklHSFQjIyMNCisgKkxpY2Vuc2UqOiAjIyNMSUNFTlNFIyMjDQoNCj4gVGhpcyAqKnBsdWdpbioqIHdhcyBidWlsZCB3aXRoIGEgSm9vbWxhIFtBdXRvbWF0ZWQgQ29tcG9uZW50IEJ1aWxkZXJdKGh0dHBzOi8vd3d3Lmpvb21sYWNvbXBvbmVudGJ1aWxkZXIuY29tKS4NCj4gRGV2ZWxvcGVkIGJ5IFtMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZV0obWFpbHRvOmpvb21sYUB2ZG0uaW8p', '', '', '', 'PreUpVer Loader', '', 1, '', '', 1, '2023-11-28 09:01:02', '2023-11-28 11:27:32', 5, '', 2); -- @@ -2048,13 +2048,13 @@ INSERT INTO `#__componentbuilder_dynamic_get` (`id`, `add_php_after_getitem`, `a -- Dumping data for table `#__componentbuilder_library` -- -INSERT INTO `#__componentbuilder_library` (`id`, `addconditions`, `description`, `type`, `how`, `name`, `php_setdocument`, `published`, `created`, `modified`, `version`, `hits`, `ordering`, `libraries`, `php_preparedocument`, `params`, `guid`) VALUES -(1, '', '', 1, '', 'No Library', '', 1, '2017-11-11 22:08:33', '2017-12-08 15:51:34', 4, '', 1, '', '', '', 'bc8e675d-7536-4a68-b186-fb4b988fa3e2'), -(2, '', '', 1, 1, 'Bootstrap v4', '', 1, '2017-11-12 02:08:39', '2017-12-17 09:04:10', 18, '', 2, '', '', '', '6f6650a5-ebff-4783-8508-f0285c0e98a6'), -(3, '{}', '', 1, 1, 'Uikit v3', '', 1, '2017-11-11 22:08:45', '2021-05-27 00:18:36', 20, '', 3, '', '', '', '5eeee148-cebd-4a92-bc0e-56efea3cffdc'), -(4, '', '', 1, 4, 'Uikit v2', '', 1, '2017-11-11 22:08:51', '2018-06-29 02:36:17', 6, '', 4, '', 'Ly8gc3RpbGwgd29ya2luZyBvbiB0aGlzIA==', '', '367fbf66-890e-42a7-a82d-f780d2f86786'), -(5, '', '', 1, 4, 'FooTable v2', '', 1, '2017-11-11 22:08:57', '2017-12-11 20:07:32', 9, '', 5, '', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUuDQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU3R5bGVTaGVldChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9jc3MvZm9vdGFibGUuY29yZS5taW4uY3NzJyk7DQoNCgkJLy8gVXNlIHRoZSBNZXRybyBTdHlsZQ0KCQlpZiAoIWlzc2V0KCR0aGlzLT5mb29UYWJsZVN0eWxlKSB8fCAwID09ICR0aGlzLT5mb29UYWJsZVN0eWxlKQ0KCQl7DQoJCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFN0eWxlU2hlZXQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvY3NzL2Zvb3RhYmxlLm1ldHJvLm1pbi5jc3MnKTsNCgkJfQ0KCQkvLyBVc2UgdGhlIExlZ2FjeSBTdHlsZS4NCgkJZWxzZWlmIChpc3NldCgkdGhpcy0+Zm9vVGFibGVTdHlsZSkgJiYgMSA9PSAkdGhpcy0+Zm9vVGFibGVTdHlsZSkNCgkJew0KCQkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUyL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJfQ0KDQoJCS8vIEFkZCB0aGUgSmF2YVNjcmlwdCBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUuc29ydC5qcycpOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdChKVVJJOjpyb290KCkgLidtZWRpYS9jb21fW1tbY29tcG9uZW50XV1dL2Zvb3RhYmxlMi9qcy9mb290YWJsZS5maWx0ZXIuanMnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTIvanMvZm9vdGFibGUucGFnaW5hdGUuanMnKTsNCg0KCQkvLyB0byBpbml0aWF0ZSB0aGUgdGFibGUNCgkJJGZvb3RhYmxlID0gImpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeSgnLmZvb3RhYmxlJykuZm9vdGFibGUoKTt9KTt9KTsiOw0KCQkkdGhpcy0+ZG9jdW1lbnQtPmFkZFNjcmlwdERlY2xhcmF0aW9uKCRmb290YWJsZSk7IC8vIG1ha2Ugc3VyZSB0byBhZGQgdGhlIC5mb290YWJsZSBjbGFzcyB0byB0aGUgdGFibGU=', '', 'a90edd5a-8521-4fb1-b6b3-9a21e9f56642'), -(6, '', '', 1, 4, 'FooTable v3', '', 1, '2017-11-25 22:11:03', '2017-12-10 15:54:45', 12, '', 6, '', 'CQkvLyBBZGQgdGhlIENTUyBmb3IgRm9vdGFibGUNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjUuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTsNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTdHlsZVNoZWV0KEpVUkk6OnJvb3QoKSAuJ21lZGlhL2NvbV9bW1tjb21wb25lbnRdXV0vZm9vdGFibGUzL2Nzcy9mb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MnKTsNCgkJLy8gQWRkIHRoZSBKYXZhU2NyaXB0IGZvciBGb290YWJsZSAoYWRkaW5nIGFsbCBmdW50aW9ucykNCgkJJHRoaXMtPmRvY3VtZW50LT5hZGRTY3JpcHQoSlVSSTo6cm9vdCgpIC4nbWVkaWEvY29tX1tbW2NvbXBvbmVudF1dXS9mb290YWJsZTMvanMvZm9vdGFibGUubWluLmpzJyk7DQoJCS8vIHRvIGluaXRpYXRlIHRoZSB0YWJsZQ0KCQkkZm9vdGFibGUgPSAialF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgalF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcuZm9vdGFibGUnKS5mb290YWJsZSgpO30pO30pOyI7DQoJCSR0aGlzLT5kb2N1bWVudC0+YWRkU2NyaXB0RGVjbGFyYXRpb24oJGZvb3RhYmxlKTsgLy8gbWFrZSBzdXJlIHRvIGFkZCB0aGUgLmZvb3RhYmxlIGNsYXNzIHRvIHRoZSB0YWJsZQ==', '', '86829029-dc8a-424e-b046-b189a92565d9'); +INSERT INTO `#__componentbuilder_library` (`id`, `addconditions`, `description`, `type`, `how`, `name`, `php_setdocument`, `published`, `created`, `modified`, `version`, `hits`, `ordering`, `libraries`, `params`, `guid`) VALUES +(1, '', '', 1, '', 'No Library', '', 1, '2017-11-11 22:08:33', '2017-12-08 15:51:34', 4, '', 1, '', '', 'bc8e675d-7536-4a68-b186-fb4b988fa3e2'), +(2, '', '', 1, 1, 'Bootstrap v4', '', 1, '2017-11-12 02:08:39', '2017-12-17 09:04:10', 18, '', 2, '', '', '6f6650a5-ebff-4783-8508-f0285c0e98a6'), +(3, '{}', '', 1, 1, 'Uikit v3', '', 1, '2017-11-11 22:08:45', '2021-05-27 00:18:36', 20, '', 3, '', '', '5eeee148-cebd-4a92-bc0e-56efea3cffdc'), +(4, '', '', 1, 4, 'Uikit v2', '', 1, '2017-11-11 22:08:51', '2018-06-29 02:36:17', 6, '', 4, '', '', '367fbf66-890e-42a7-a82d-f780d2f86786'), +(5, '', '', 1, 4, 'FooTable v2', '', 1, '2017-11-11 22:08:57', '2017-12-11 20:07:32', 9, '', 5, '', '', 'a90edd5a-8521-4fb1-b6b3-9a21e9f56642'), +(6, '', '', 1, 4, 'FooTable v3', '', 1, '2017-11-25 22:11:03', '2017-12-10 15:54:45', 12, '', 6, '', '', '86829029-dc8a-424e-b046-b189a92565d9'); -- -- Dumping data for table `#__componentbuilder_snippet` @@ -2242,7 +2242,7 @@ INSERT INTO `#__componentbuilder_fieldtype` (`id`, `description`, `name`, `prope (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'), (5, 'Provides a color picker. Enter the color as #ff00ff or pick it from the palet.', 'Color', '{\"properties0\":{\"name\":\"type\",\"example\":\"color\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be color.\"},\"properties1\":{\"name\":\"name\",\"example\":\"backgroundcolor\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the parameter.\"},\"properties2\":{\"name\":\"default\",\"example\":\"#FFFFFF\",\"adjustable\":\"1\",\"description\":\"(optional) provides a color when not set.\"},\"properties3\":{\"name\":\"label\",\"example\":\"Background\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties4\":{\"name\":\"description\",\"example\":\"Select the background color here.\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) tooltip for the form field.\"},\"properties5\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"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 a color picker when clicking the input box.', '', 1, 5, '', '', '7f60f198-53e7-4fe9-813f-d1b6c553680e'), (6, 'The list form field type provides a drop down list or a list box of other current component table 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.', 'Custom', '{\"properties0\":{\"name\":\"type\",\"example\":\"subjects\",\"mandatory\":\"1\",\"description\":\"(mandatory) can be anything, just not the same as any other default Joomla field type. You can also not use the \\\"_\\\" (underscore) or \\\"-\\\" (hyphen) in the type name, and no spaces.\"},\"properties1\":{\"name\":\"name\",\"example\":\"subject\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select a Subject\",\"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\":\"default\",\"example\":\"0\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"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\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties11\":{\"name\":\"disabled\",\"example\":\"\",\"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) 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)\"},\"properties14\":{\"name\":\"extends\",\"example\":\"list\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"The JFormField sub class that should be extended. The options are (\'list\',\'radio\',\'checkboxes\')\"},\"properties15\":{\"name\":\"button\",\"example\":\"true\",\"adjustable\":\"1\",\"description\":\"(optional) to add new button next to field in edit view\"},\"properties16\":{\"name\":\"table\",\"example\":\"#__###component###_subject\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The table being linked to. The ###TABLE### placeholder holds the table in the php.\"},\"properties17\":{\"name\":\"component\",\"example\":\"com_###component###\",\"mandatory\":\"1\",\"description\":\"(mandatory) The name of the component where this table is found. Must be com_users\"},\"properties18\":{\"name\":\"view\",\"example\":\"subject\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The single view name if the place this field is added.\"},\"properties19\":{\"name\":\"views\",\"example\":\"subjects\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The list view name if the place this field is added.\"},\"properties20\":{\"name\":\"value_field\",\"example\":\"name\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The name of the text field in table linked to. The ###TEXT### placeholder holds the value_field in the php.\"},\"properties21\":{\"name\":\"key_field\",\"example\":\"id\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The field from the linked table to save in this table as the unique key. The ###ID### placeholder holds the key_field in the php.\"},\"properties22\":{\"name\":\"prime_php\",\"example\":\"1\",\"adjustable\":\"1\",\"description\":\"This field makes sure that the PHP used here is used to build the field type, and other are custom fields with the same field type are ignored. So to avoid that they over write the PHP added here. You should only have one prime per\\/type. To disable remove the field or set to 0\"},\"properties23\":{\"name\":\"type_php_1\",\"example\":\"\\/\\/ Get the user object.\\r\\n\\t\\t$user = Factory::getUser();\\r\\n\\t\\t\\/\\/ Get the databse object.\\r\\n\\t\\t$db = Factory::getDBO();\\r\\n\\t\\t$query = $db->getQuery(true);\\r\\n\\t\\t$query->select($db->quoteName(array(\'a.###ID###\',\'a.###TEXT###\'),array(\'###ID###\',\'###CODE_TEXT###\')));\\r\\n\\t\\t$query->from($db->quoteName(\'###TABLE###\', \'a\'));\\r\\n\\t\\t$query->where($db->quoteName(\'a.published\') . \' = 1\');\\r\\n\\t\\t$query->order(\'a.###TEXT### ASC\');\\r\\n\\t\\t\\/\\/ Implement View Level Access (if set in table)\\r\\n\\t\\tif (!$user->authorise(\'core.options\', \'[[[com_component]]]\'))\\r\\n\\t\\t{\\r\\n\\t\\t\\t$columns = $db->getTableColumns(\'###TABLE###\');\\r\\n\\t\\t\\tif(isset($columns[\'access\']))\\r\\n\\t\\t\\t{\\r\\n\\t\\t\\t\\t$groups = implode(\',\', $user->getAuthorisedViewLevels());\\r\\n\\t\\t\\t\\t$query->where(\'a.access IN (\' . $groups . \')\');\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t\\t$db->setQuery((string)$query);\\r\\n\\t\\t$items = $db->loadObjectList();\\r\\n\\t\\t$options = [];\\r\\n\\t\\tif ($items)\\r\\n\\t\\t{\\r\\n\\t\\t\\tif ($this->multiple === false)\\r\\n\\t\\t\\t{\\r\\n\\t\\t\\t\\t$options[] = Html::_(\'select.option\', \'\', Text::_(\'Select an option\'));\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\tforeach($items as $item)\\r\\n\\t\\t\\t{\\r\\n\\t\\t\\t\\t$options[] = Html::_(\'select.option\', $item->###ID###, $item->###CODE_TEXT###);\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t\\treturn $options;\",\"adjustable\":\"1\",\"description\":\"The php for the getOptions method.\"}}', 'provides a drop down list of items entries.', '', 1, 29, '', '', 'dd2e1f4b-f5db-45e8-85fa-efd27bae7b6a'), -(7, 'The a list of users that can be targeting one or more groups and excluded users that already belongs to an item in a view.', 'CustomUser', '{\"properties0\":{\"name\":\"type\",\"example\":\"staffusers\",\"mandatory\":\"1\",\"description\":\"(mandatory) can be anything, just not the same as any other default Joomla field type.\"},\"properties1\":{\"name\":\"name\",\"example\":\"staff\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Staff\",\"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\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'inputbox\'.\"},\"properties5\":{\"name\":\"multiple\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) is whether multiple items can be selected at the same time (true or false).\"},\"properties6\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties7\":{\"name\":\"readonly\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties8\":{\"name\":\"disabled\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties9\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"\"},\"properties10\":{\"name\":\"hint\",\"example\":\"select a user\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"\"},\"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\"},\"properties12\":{\"name\":\"extends\",\"example\":\"user\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"The JFormField sub class that should be extended. The options are (\'list\',\'radio\',\'checkboxes\')\"},\"properties13\":{\"name\":\"table\",\"example\":\"#__users\",\"mandatory\":\"1\",\"description\":\"(mandatory) The table being linked to. Must be #__users\"},\"properties14\":{\"name\":\"component\",\"example\":\"com_users\",\"mandatory\":\"1\",\"description\":\"(mandatory) The name of the component where this table is found. Must be com_users\"},\"properties15\":{\"name\":\"view\",\"example\":\"###view###\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The single view name if the place this field is added.\"},\"properties16\":{\"name\":\"views\",\"example\":\"###views###\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The list view name if the place this field is added.\"},\"properties17\":{\"name\":\"value_field\",\"example\":\"name\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The name of the text field in table linked to.\"},\"properties18\":{\"name\":\"key_field\",\"example\":\"id\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The field from the linked table to save in this table as the unique key.\"},\"properties19\":{\"name\":\"type_php_1\",\"example\":\"\\t\\t\\/\\/ set the groups array\\r\\n\\t\\treturn JComponentHelper::getParams(\'com_###component###\')->get(\'###type###\');\",\"adjustable\":\"1\",\"description\":\"The php for the getGroups method.\"},\"properties22\":{\"name\":\"type_phpx_1\",\"example\":\"\\t\\t\\/\\/ To ensure that there is only one record per user\\r\\n\\t\\t\\/\\/ Get a db connection.\\r\\n\\t\\t$db = Factory::getDbo();\\r\\n\\t\\t\\/\\/ Create a new query object.\\r\\n\\t\\t$query = $db->getQuery(true);\\r\\n\\t\\t\\/\\/ Select all records from the #__###component###_###view### table from ###CODE### column\\\".\\r\\n\\t\\t$query->select($db->quoteName(\'###CODE###\'));\\r\\n\\t\\t$query->from($db->quoteName(\'#__###component###_###view###\'));\\r\\n\\t\\t$db->setQuery($query);\\r\\n\\t\\t$db->execute();\\r\\n\\t\\t$found = $db->getNumRows();\\r\\n\\t\\tif ($found)\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\/\\/ return all users already used\\r\\n\\t\\t\\treturn array_unique($db->loadColumn());\\r\\n\\t\\t}\\r\\n\\t\\treturn null;\",\"adjustable\":\"1\",\"description\":\"The php for the getExcluded method.\"}}', 'Provides list of users.', '', 1, 6, '', '', 'a4a39f70-070f-459c-be4b-0ac103a29b9a'), +(7, 'The a list of users that can be targeting one or more groups and excluded users that already belongs to an item in a view.', 'CustomUser', '{\"properties0\":{\"name\":\"type\",\"example\":\"staffusers\",\"mandatory\":\"1\",\"description\":\"(mandatory) can be anything, just not the same as any other default Joomla field type.\"},\"properties1\":{\"name\":\"name\",\"example\":\"staff\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Staff\",\"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\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'inputbox\'.\"},\"properties5\":{\"name\":\"multiple\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) is whether multiple items can be selected at the same time (true or false).\"},\"properties6\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties7\":{\"name\":\"readonly\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties8\":{\"name\":\"disabled\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties9\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"\"},\"properties10\":{\"name\":\"hint\",\"example\":\"select a user\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"\"},\"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\"},\"properties12\":{\"name\":\"extends\",\"example\":\"user\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"The JFormField sub class that should be extended. The options are (\'list\',\'radio\',\'checkboxes\')\"},\"properties13\":{\"name\":\"table\",\"example\":\"#__users\",\"mandatory\":\"1\",\"description\":\"(mandatory) The table being linked to. Must be #__users\"},\"properties14\":{\"name\":\"component\",\"example\":\"com_users\",\"mandatory\":\"1\",\"description\":\"(mandatory) The name of the component where this table is found. Must be com_users\"},\"properties15\":{\"name\":\"view\",\"example\":\"###view###\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The single view name if the place this field is added.\"},\"properties16\":{\"name\":\"views\",\"example\":\"###views###\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The list view name if the place this field is added.\"},\"properties17\":{\"name\":\"value_field\",\"example\":\"name\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The name of the text field in table linked to.\"},\"properties18\":{\"name\":\"key_field\",\"example\":\"id\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) The field from the linked table to save in this table as the unique key.\"},\"properties19\":{\"name\":\"type_php_1\",\"example\":\"\\t\\t\\/\\/ set the groups array\\r\\n\\t\\treturn \\\\JComponentHelper::getParams(\'com_###component###\')->get(\'###type###\');\",\"adjustable\":\"1\",\"description\":\"The php for the getGroups method.\"},\"properties22\":{\"name\":\"type_phpx_1\",\"example\":\"\\t\\t\\/\\/ To ensure that there is only one record per user\\r\\n\\t\\t\\/\\/ Get a db connection.\\r\\n\\t\\t$db = Factory::getDbo();\\r\\n\\t\\t\\/\\/ Create a new query object.\\r\\n\\t\\t$query = $db->getQuery(true);\\r\\n\\t\\t\\/\\/ Select all records from the #__###component###_###view### table from ###CODE### column\\\".\\r\\n\\t\\t$query->select($db->quoteName(\'###CODE###\'));\\r\\n\\t\\t$query->from($db->quoteName(\'#__###component###_###view###\'));\\r\\n\\t\\t$db->setQuery($query);\\r\\n\\t\\t$db->execute();\\r\\n\\t\\t$found = $db->getNumRows();\\r\\n\\t\\tif ($found)\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\/\\/ return all users already used\\r\\n\\t\\t\\treturn array_unique($db->loadColumn());\\r\\n\\t\\t}\\r\\n\\t\\treturn null;\",\"adjustable\":\"1\",\"description\":\"The php for the getExcluded method.\"}}', 'Provides list of users.', '', 1, 6, '', '', 'a4a39f70-070f-459c-be4b-0ac103a29b9a'), (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'), diff --git a/admin/sql/updates/mysql/3.2.02.sql b/admin/sql/updates/mysql/3.2.02.sql new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/admin/sql/updates/mysql/3.2.02.sql @@ -0,0 +1 @@ + diff --git a/admin/views/admin_fields_relations/view.html.php b/admin/views/admin_fields_relations/view.html.php index 45cf3f09f..e7c155fe7 100644 --- a/admin/views/admin_fields_relations/view.html.php +++ b/admin/views/admin_fields_relations/view.html.php @@ -211,7 +211,7 @@ class ComponentbuilderViewAdmin_fields_relations extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/admin_view/view.html.php b/admin/views/admin_view/view.html.php index 757e7462d..9099eee10 100644 --- a/admin/views/admin_view/view.html.php +++ b/admin/views/admin_view/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewAdmin_view extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/class_extends/view.html.php b/admin/views/class_extends/view.html.php index 50bb9f6f0..6186cb7a2 100644 --- a/admin/views/class_extends/view.html.php +++ b/admin/views/class_extends/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewClass_extends extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/class_method/view.html.php b/admin/views/class_method/view.html.php index f74a7e496..d6b08d5dd 100644 --- a/admin/views/class_method/view.html.php +++ b/admin/views/class_method/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewClass_method extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/class_property/view.html.php b/admin/views/class_property/view.html.php index f3f83c784..30bc52109 100644 --- a/admin/views/class_property/view.html.php +++ b/admin/views/class_property/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewClass_property extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/component_dashboard/view.html.php b/admin/views/component_dashboard/view.html.php index af91eb2a0..415a2af0f 100644 --- a/admin/views/component_dashboard/view.html.php +++ b/admin/views/component_dashboard/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewComponent_dashboard extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/custom_admin_view/view.html.php b/admin/views/custom_admin_view/view.html.php index 3e9cf97bc..b9d054c8c 100644 --- a/admin/views/custom_admin_view/view.html.php +++ b/admin/views/custom_admin_view/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewCustom_admin_view extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/custom_code/view.html.php b/admin/views/custom_code/view.html.php index f6e38ee95..780bc45ac 100644 --- a/admin/views/custom_code/view.html.php +++ b/admin/views/custom_code/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewCustom_code extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); // need to add some language strings Text::script('COM_COMPONENTBUILDER_FUNCTION_NAME_ALREADY_TAKEN_PLEASE_TRY_AGAIN'); Text::script('COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_FUNCTION_NAME'); diff --git a/admin/views/dynamic_get/view.html.php b/admin/views/dynamic_get/view.html.php index 177d93740..580cef48a 100644 --- a/admin/views/dynamic_get/view.html.php +++ b/admin/views/dynamic_get/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewDynamic_get extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/field/view.html.php b/admin/views/field/view.html.php index 012e66f65..ff1604ebd 100644 --- a/admin/views/field/view.html.php +++ b/admin/views/field/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewField extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); // add the libs for subform (since not adding it via xml but ajax) Html::_('jquery.ui', array('core', 'sortable')); Html::_('script', 'system/subform-repeatable.js', array('version' => 'auto', 'relative' => true)); diff --git a/admin/views/fieldtype/view.html.php b/admin/views/fieldtype/view.html.php index 671812119..a8c97687f 100644 --- a/admin/views/fieldtype/view.html.php +++ b/admin/views/fieldtype/view.html.php @@ -268,7 +268,7 @@ class ComponentbuilderViewFieldtype extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/get_snippets/view.html.php b/admin/views/get_snippets/view.html.php index 857f0cbf7..ab0a72e75 100644 --- a/admin/views/get_snippets/view.html.php +++ b/admin/views/get_snippets/view.html.php @@ -180,7 +180,7 @@ class ComponentbuilderViewGet_snippets extends HtmlView $this->document->addScriptDeclaration("var snippetPath = '". ComponentbuilderHelper::$snippetPath ."';"); $this->document->addScriptDeclaration("var snippetsPath = '". ComponentbuilderHelper::$snippetsPath ."';"); // token - $this->document->addScriptDeclaration("var token = '". JSession::getFormToken() ."';"); + $this->document->addScriptDeclaration("var token = '". \JSession::getFormToken() ."';"); // add some global items buckets for bulk updating $this->document->addScriptDeclaration("var bulkItems = {};"); $this->document->addScriptDeclaration("bulkItems.new = [];"); diff --git a/admin/views/import_joomla_components/view.html.php b/admin/views/import_joomla_components/view.html.php index 0b09262c0..0f53e1766 100644 --- a/admin/views/import_joomla_components/view.html.php +++ b/admin/views/import_joomla_components/view.html.php @@ -165,7 +165,7 @@ class ComponentbuilderViewImport_joomla_components extends HtmlView $this->document->addScriptDeclaration("var expire = ". (int) $expire.";"); $this->document->addScriptDeclaration("var all_is_good = '".Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_THERE_IS_NO_NOTICE_AT_THIS_TIME')."';"); // add a token on the page for javascript - $this->document->addScriptDeclaration("var token = '".JSession::getFormToken()."';"); + $this->document->addScriptDeclaration("var token = '".\JSession::getFormToken()."';"); // add the Uikit v2 style sheets diff --git a/admin/views/joomla_component/view.html.php b/admin/views/joomla_component/view.html.php index 215914612..10eb75b79 100644 --- a/admin/views/joomla_component/view.html.php +++ b/admin/views/joomla_component/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewJoomla_component extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/joomla_module/view.html.php b/admin/views/joomla_module/view.html.php index 7798e76de..0f37e459b 100644 --- a/admin/views/joomla_module/view.html.php +++ b/admin/views/joomla_module/view.html.php @@ -221,7 +221,7 @@ class ComponentbuilderViewJoomla_module extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); // check if we should use browser storage $setBrowserStorage = $this->params->get('set_browser_storage', null); if ($setBrowserStorage) diff --git a/admin/views/joomla_plugin/view.html.php b/admin/views/joomla_plugin/view.html.php index c7db112df..1cd6ecaa9 100644 --- a/admin/views/joomla_plugin/view.html.php +++ b/admin/views/joomla_plugin/view.html.php @@ -222,7 +222,7 @@ class ComponentbuilderViewJoomla_plugin extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); // set some lang Text::script('COM_COMPONENTBUILDER_ALREADY_SELECTED_TRY_ANOTHER'); Text::script('COM_COMPONENTBUILDER_TYPE_OR_SELECT_SOME_OPTIONS'); diff --git a/admin/views/layout/view.html.php b/admin/views/layout/view.html.php index 9a9109204..1844d04b3 100644 --- a/admin/views/layout/view.html.php +++ b/admin/views/layout/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewLayout extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/libraries/tmpl/default_body.php b/admin/views/libraries/tmpl/default_body.php index a4a5ac50b..a4e98e3d4 100644 --- a/admin/views/libraries/tmpl/default_body.php +++ b/admin/views/libraries/tmpl/default_body.php @@ -77,7 +77,7 @@ $edit = "index.php?option=com_componentbuilder&view=libraries&task=library.edit" document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/placeholder/view.html.php b/admin/views/placeholder/view.html.php index 919be5161..db3a649cd 100644 --- a/admin/views/placeholder/view.html.php +++ b/admin/views/placeholder/view.html.php @@ -220,7 +220,7 @@ class ComponentbuilderViewPlaceholder extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/power/view.html.php b/admin/views/power/view.html.php index 98f595be3..83f7f664b 100644 --- a/admin/views/power/view.html.php +++ b/admin/views/power/view.html.php @@ -226,7 +226,7 @@ class ComponentbuilderViewPower extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); // set some lang Text::script('COM_COMPONENTBUILDER_ALREADY_SELECTED_TRY_ANOTHER'); Text::script('COM_COMPONENTBUILDER_TYPE_OR_SELECT_SOME_OPTIONS'); diff --git a/admin/views/search/tmpl/default.php b/admin/views/search/tmpl/default.php index 918e15c60..cb4860f38 100644 --- a/admin/views/search/tmpl/default.php +++ b/admin/views/search/tmpl/default.php @@ -27,7 +27,7 @@ Html::_('behavior.keepalive'); $this->app->input->set('hidemainmenu', false); // set the basu URL -$url_base = JUri::base() . 'index.php?option=com_componentbuilder'; +$url_base = \JUri::base() . 'index.php?option=com_componentbuilder'; $url_search = $url_base . '&view=search'; // get main search input field @@ -159,7 +159,7 @@ $search_value = $this->form->getField('search_value'); const searchTables = item['tables']); ?>; // the search Ajax URLs -const UrlAjax = '&format=json&raw=true&=1&task=ajax.'; +const UrlAjax = '&format=json&raw=true&=1&task=ajax.'; // the search URL const UrlSearch = ''; diff --git a/admin/views/site_view/view.html.php b/admin/views/site_view/view.html.php index 1e10a8e06..1451a92a7 100644 --- a/admin/views/site_view/view.html.php +++ b/admin/views/site_view/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewSite_view extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/template/view.html.php b/admin/views/template/view.html.php index 1a7f4a15c..6303f71ff 100644 --- a/admin/views/template/view.html.php +++ b/admin/views/template/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewTemplate extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/validation_rule/view.html.php b/admin/views/validation_rule/view.html.php index 521339084..e2307ab97 100644 --- a/admin/views/validation_rule/view.html.php +++ b/admin/views/validation_rule/view.html.php @@ -217,7 +217,7 @@ class ComponentbuilderViewValidation_rule extends HtmlView // add var key $this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';"); + $this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); // need to add some language strings Text::script('COM_COMPONENTBUILDER_VALIDATION_RULE_NAME_ALREADY_TAKEN_PLEASE_TRY_AGAIN'); Text::script('COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME'); diff --git a/componentbuilder.xml b/componentbuilder.xml index 51b4e069d..756d9f071 100644 --- a/componentbuilder.xml +++ b/componentbuilder.xml @@ -1,15 +1,15 @@ COM_COMPONENTBUILDER - 2nd March, 2024 + 4th March, 2024 Llewellyn van der Merwe joomla@vdm.io https://dev.vdm.io Copyright (C) 2015 Vast Development Method. All rights reserved. GNU General Public License version 2 or later; see LICENSE.txt - 3.2.0-beta1 + 3.2.0-beta2 Component Builder (v.3.2.0-beta1) +

Component Builder (v.3.2.0-beta2)

The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. diff --git a/componentbuilder_update_server.xml b/componentbuilder_update_server.xml index 3cfca4064..ef4e87623 100644 --- a/componentbuilder_update_server.xml +++ b/componentbuilder_update_server.xml @@ -1298,7 +1298,7 @@ 3.1.29 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1316,7 +1316,7 @@ 3.1.30 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1334,7 +1334,7 @@ 3.1.31 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1352,7 +1352,7 @@ 3.1.32 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1370,7 +1370,7 @@ 3.1.33 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1388,7 +1388,7 @@ 3.1.34 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1406,7 +1406,7 @@ 3.1.35 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1424,7 +1424,7 @@ 3.1.36 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1442,7 +1442,7 @@ 3.1.37 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1460,7 +1460,7 @@ 3.1.38 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1478,7 +1478,7 @@ 3.1.39 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1496,7 +1496,7 @@ 3.1.40 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1514,7 +1514,7 @@ 3.1.42 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1532,7 +1532,7 @@ 3.2.01 https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip beta @@ -1541,4 +1541,22 @@ https://dev.vdm.io + + Component Builder + Builds Complex Joomla Components + pkg_component_builder + package + site + 3.2.02 + https://dev.vdm.io + + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta2.zip + + + stable + + Llewellyn van der Merwe + https://dev.vdm.io + + \ No newline at end of file diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Creator/CustomFieldTypeFile.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Creator/CustomFieldTypeFile.php index c181df88d..e47ff3e13 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Creator/CustomFieldTypeFile.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Creator/CustomFieldTypeFile.php @@ -551,6 +551,7 @@ final class CustomFieldTypeFile $placeholders['JHtml::'] = 'Html::'; $placeholders['JText::'] = 'Text::'; $placeholders['JComponentHelper::'] = 'ComponentHelper::'; + $placeholders['\JComponentHelper::'] = 'ComponentHelper::'; } $this->placeholders = $placeholders; diff --git a/script.php b/script.php index 18d5604cb..001ba6027 100644 --- a/script.php +++ b/script.php @@ -9613,7 +9613,7 @@ class Com_ComponentbuilderInstallerScript echo '

-

Upgrade to Version 3.2.0-beta1 Was Successful! Let us know if anything is not working as expected.

'; +

Upgrade to Version 3.2.0-beta2 Was Successful! Let us know if anything is not working as expected.

'; // Set db if not set already. if (!isset($db)) diff --git a/site/controllers/api.php b/site/controllers/api.php index 268aaaa87..384b220da 100644 --- a/site/controllers/api.php +++ b/site/controllers/api.php @@ -68,7 +68,7 @@ class ComponentbuilderControllerApi extends FormController // get params first if (!isset($this->params) || !ObjectHelper::check($this->params)) { - $this->params = JComponentHelper::getParams('com_componentbuilder'); + $this->params = \JComponentHelper::getParams('com_componentbuilder'); } // get model $model = $this->getModel('api'); @@ -146,7 +146,7 @@ class ComponentbuilderControllerApi extends FormController // get params first if (!isset($this->params) || !ObjectHelper::check($this->params)) { - $this->params = JComponentHelper::getParams('com_componentbuilder'); + $this->params = \JComponentHelper::getParams('com_componentbuilder'); } // check if expansion is enabled $method = $this->params->get('development_method', 1); diff --git a/site/helpers/componentbuilder.php b/site/helpers/componentbuilder.php index 41e390406..dce990d08 100644 --- a/site/helpers/componentbuilder.php +++ b/site/helpers/componentbuilder.php @@ -2805,7 +2805,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } self::$gitHubAccessToken = self::$params->get('github_access_token', null); } @@ -3711,7 +3711,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } $folderPath = self::$params->get($target, $default); // create the folder if it does not exist @@ -4940,7 +4940,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -5052,7 +5052,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = JComponentHelper::getParams('com_componentbuilder'); + self::$params = \JComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -5489,7 +5489,7 @@ abstract class ComponentbuilderHelper // get global values if (self::$subformLayouts === false) { - self::$subformLayouts = JComponentHelper::getParams('com_componentbuilder')->get('subform_layouts', false); + self::$subformLayouts = \JComponentHelper::getParams('com_componentbuilder')->get('subform_layouts', false); } // check what we found (else) return default if (ObjectHelper::check(self::$subformLayouts))