From 43cdc68e34d3dc573738f39b8c588d39e42423c5 Mon Sep 17 00:00:00 2001 From: aB0t Date: Sat, 27 Apr 2024 15:45:07 +0200 Subject: [PATCH] Release of v3.2.1-rc1 Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. --- CHANGELOG.md | 6 + README.md | 10 +- admin/README.txt | 10 +- admin/compiler/joomla_3/Helper.php | 7 +- admin/compiler/joomla_3/Helper_site.php | 7 +- admin/compiler/joomla_3/component_admin.php | 7 +- admin/compiler/joomla_3/component_site.php | 7 +- .../compiler/joomla_4/ADMIN_HELPER_CLASS.php | 7 +- admin/compiler/joomla_4/ADMIN_PROVIDER.php | 7 +- admin/compiler/joomla_4/SITE_HELPER_CLASS.php | 7 +- admin/componentbuilder.php | 2 +- admin/controllers/admin_views.php | 5 +- admin/controllers/compiler.php | 11 +- admin/controllers/custom_codes.php | 5 +- admin/controllers/dynamic_gets.php | 5 +- admin/controllers/fields.php | 5 +- admin/controllers/joomla_components.php | 5 +- admin/controllers/joomla_plugins.php | 7 +- admin/controllers/powers.php | 5 +- admin/controllers/validation_rules.php | 5 +- admin/helpers/componentbuilder.php | 15 +- admin/helpers/powerloader.php | 2 +- admin/models/ajax.php | 11 +- admin/models/forms/joomla_component.xml | 3 +- admin/models/languages.php | 3 +- admin/sql/install.mysql.utf8.sql | 27 ++- admin/sql/updates/mysql/3.2.1-beta3.sql | 1 + .../admin_fields_relations/view.html.php | 2 +- admin/views/admin_view/view.html.php | 2 +- admin/views/class_extends/view.html.php | 2 +- admin/views/class_method/view.html.php | 2 +- admin/views/class_property/view.html.php | 2 +- admin/views/component_dashboard/view.html.php | 2 +- admin/views/custom_admin_view/view.html.php | 2 +- admin/views/custom_code/view.html.php | 2 +- admin/views/dynamic_get/view.html.php | 2 +- admin/views/field/view.html.php | 2 +- admin/views/fieldtype/view.html.php | 2 +- admin/views/get_snippets/tmpl/default.php | 2 +- admin/views/get_snippets/view.html.php | 3 +- .../import_joomla_components/view.html.php | 3 +- .../tmpl/default.php | 2 +- admin/views/joomla_component/view.html.php | 2 +- admin/views/joomla_module/view.html.php | 2 +- admin/views/joomla_plugin/view.html.php | 2 +- admin/views/layout/view.html.php | 2 +- admin/views/libraries/tmpl/default_body.php | 3 +- admin/views/library/view.html.php | 2 +- admin/views/placeholder/view.html.php | 2 +- admin/views/power/view.html.php | 2 +- admin/views/search/tmpl/default.php | 5 +- admin/views/site_view/view.html.php | 2 +- admin/views/template/view.html.php | 2 +- admin/views/validation_rule/view.html.php | 2 +- componentbuilder.xml | 6 +- componentbuilder_update_server.xml | 18 ++ .../VDM.Joomla/src/Abstraction/Schema.php | 74 ++++---- .../src/Componentbuilder/Compiler/Config.php | 25 ++- .../Compiler/Creator/CustomFieldTypeFile.php | 4 + .../Compiler/Helper/Compiler.php | 2 +- .../Compiler/Helper/Infusion.php | 4 +- .../Compiler/Language/Extractor.php | 11 +- .../Compiler/Power/Autoloader.php | 167 +++++------------- .../Compiler/Templatelayout/Data.php | 44 +++-- script.php | 4 +- site/componentbuilder.php | 2 +- site/controllers/api.php | 5 +- site/helpers/componentbuilder.php | 15 +- site/helpers/powerloader.php | 2 +- 69 files changed, 316 insertions(+), 319 deletions(-) create mode 100644 admin/sql/updates/mysql/3.2.1-beta3.sql diff --git a/CHANGELOG.md b/CHANGELOG.md index f9cb19948..c588683eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# v3.2.1-rc1 + +- Improved the Schema Table update engine (more) +- Fix autoloader timing, and loading. +- Implement the Joomla Powers in JCB code, to move away from JClasses. + # v3.2.1-beta3 - Fix version_update column size. diff --git a/README.md b/README.md index 1162ef525..9cc32291f 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.1-beta3) 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.1-rc1) 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*: 24th April, 2024 -+ *Version*: 3.2.1-beta3 ++ *Last Build*: 27th April, 2024 ++ *Version*: 3.2.1-rc1 + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **764955** ++ *Line count*: **764912** + *Field count*: **2097** -+ *File count*: **5382** ++ *File count*: **5383** + *Folder count*: **471** > 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 1162ef525..9cc32291f 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.1-beta3) 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.1-rc1) 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*: 24th April, 2024 -+ *Version*: 3.2.1-beta3 ++ *Last Build*: 27th April, 2024 ++ *Version*: 3.2.1-rc1 + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **764955** ++ *Line count*: **764912** + *Field count*: **2097** -+ *File count*: **5382** ++ *File count*: **5383** + *Folder count*: **471** > 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/compiler/joomla_3/Helper.php b/admin/compiler/joomla_3/Helper.php index 5df959fc1..72aa952ad 100644 --- a/admin/compiler/joomla_3/Helper.php +++ b/admin/compiler/joomla_3/Helper.php @@ -17,12 +17,7 @@ defined('_JEXEC') or die('Restricted access'); // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project admin area. -$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/helpers/powerloader.php'; -if (file_exists($power_autoloader)) -{ - require_once $power_autoloader; -} +###CUSTOM_POWER_AUTOLOADER### ###ADMIN_HELPER_CLASS_HEADER### diff --git a/admin/compiler/joomla_3/Helper_site.php b/admin/compiler/joomla_3/Helper_site.php index d773a70df..d4a7811e4 100644 --- a/admin/compiler/joomla_3/Helper_site.php +++ b/admin/compiler/joomla_3/Helper_site.php @@ -17,12 +17,7 @@ defined('_JEXEC') or die('Restricted access'); // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project site area. -$power_autoloader = JPATH_SITE . '/components/com_###component###/helpers/powerloader.php'; -if (file_exists($power_autoloader)) -{ - require_once $power_autoloader; -} +###SITE_CUSTOM_POWER_AUTOLOADER### ###SITE_HELPER_CLASS_HEADER### diff --git a/admin/compiler/joomla_3/component_admin.php b/admin/compiler/joomla_3/component_admin.php index f4f64bed3..b422d08cb 100644 --- a/admin/compiler/joomla_3/component_admin.php +++ b/admin/compiler/joomla_3/component_admin.php @@ -17,12 +17,7 @@ defined('_JEXEC') or die('Restricted access'); // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project admin area. -$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/helpers/powerloader.php'; -if (file_exists($power_autoloader)) -{ - require_once $power_autoloader; -} +###CUSTOM_POWER_AUTOLOADER### ###ADMIN_COMPONENT_HEADER### diff --git a/admin/compiler/joomla_3/component_site.php b/admin/compiler/joomla_3/component_site.php index 99dd26f53..e95ccf8ef 100644 --- a/admin/compiler/joomla_3/component_site.php +++ b/admin/compiler/joomla_3/component_site.php @@ -17,12 +17,7 @@ defined('_JEXEC') or die('Restricted access'); // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project site area. -$power_autoloader = JPATH_SITE . '/components/com_###component###/helpers/powerloader.php'; -if (file_exists($power_autoloader)) -{ - require_once $power_autoloader; -} +###SITE_CUSTOM_POWER_AUTOLOADER### ###SITE_COMPONENT_HEADER### diff --git a/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php b/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php index 3318da99a..cb34191e0 100644 --- a/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php +++ b/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php @@ -15,12 +15,7 @@ defined('_JCB_TEMPLATE') or die; ###BOM### namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator\Helper; -// The power autoloader for this project admin area. -$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/src/Helper/PowerloaderHelper.php'; -if (file_exists($power_autoloader)) -{ - require_once $power_autoloader; -} +###CUSTOM_POWER_AUTOLOADER### ###ADMIN_HELPER_CLASS_HEADER### diff --git a/admin/compiler/joomla_4/ADMIN_PROVIDER.php b/admin/compiler/joomla_4/ADMIN_PROVIDER.php index 4bd2aa763..69377b780 100644 --- a/admin/compiler/joomla_4/ADMIN_PROVIDER.php +++ b/admin/compiler/joomla_4/ADMIN_PROVIDER.php @@ -14,12 +14,7 @@ defined('_JCB_TEMPLATE') or die; ?> ###BOM### -// The power autoloader for this project admin area. -$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/src/Helper/PowerloaderHelper.php'; -if (file_exists($power_autoloader)) -{ - require_once $power_autoloader; -} +###CUSTOM_POWER_AUTOLOADER### // (soon) use Joomla\CMS\Association\AssociationExtensionInterface; use Joomla\CMS\Categories\CategoryFactoryInterface; diff --git a/admin/compiler/joomla_4/SITE_HELPER_CLASS.php b/admin/compiler/joomla_4/SITE_HELPER_CLASS.php index 7dad6f100..0ab20f8f2 100644 --- a/admin/compiler/joomla_4/SITE_HELPER_CLASS.php +++ b/admin/compiler/joomla_4/SITE_HELPER_CLASS.php @@ -15,12 +15,7 @@ defined('_JCB_TEMPLATE') or die; ###BOM### namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\Helper; -// The power autoloader for this project site area. -$power_autoloader = JPATH_SITE . '/components/com_###component###/src/Helper/PowerloaderHelper.php'; -if (file_exists($power_autoloader)) -{ - require_once $power_autoloader; -} +###SITE_CUSTOM_POWER_AUTOLOADER### ###SITE_HELPER_CLASS_HEADER### diff --git a/admin/componentbuilder.php b/admin/componentbuilder.php index 73a661884..b845430d9 100644 --- a/admin/componentbuilder.php +++ b/admin/componentbuilder.php @@ -12,7 +12,7 @@ // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project admin area. +// The power autoloader for this project (JPATH_ADMINISTRATOR) area. $power_autoloader = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/powerloader.php'; if (file_exists($power_autoloader)) { diff --git a/admin/controllers/admin_views.php b/admin/controllers/admin_views.php index 8b95dbb06..8c99d98c7 100644 --- a/admin/controllers/admin_views.php +++ b/admin/controllers/admin_views.php @@ -21,6 +21,7 @@ use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\ObjectHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Admin_views Admin Controller @@ -127,7 +128,7 @@ class ComponentbuilderControllerAdmin_views extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=admin_views', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=admin_views', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -136,7 +137,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(Uri::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 e46145a32..622c810f9 100644 --- a/admin/controllers/compiler.php +++ b/admin/controllers/compiler.php @@ -22,6 +22,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Factory as CFactory; use Joomla\CMS\Version; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Compiler Admin Controller @@ -127,7 +128,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 = Uri::root() . substr($model->compiler->filepath['component'], $pos + 1); } // check if we have plugins $add_plugin_install = UtilitiesArrayHelper::check($model->compiler->filepath['plugins'], true); @@ -210,7 +211,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] = Uri::root() . substr($module_path, $pos + 1); $message[] = 'Module URL: ' . $module_urls[$module_id] . '
'; } } @@ -226,7 +227,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] = Uri::root() . substr($plugin_path, $pos + 1); $message[] = 'Plugin URL: ' . $plugin_urls[$plugin_id] . '
'; } } @@ -532,7 +533,7 @@ class ComponentbuilderControllerCompiler extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=compiler', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=compiler', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -541,7 +542,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(Uri::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 efa3af237..84b7c9a61 100644 --- a/admin/controllers/custom_codes.php +++ b/admin/controllers/custom_codes.php @@ -21,6 +21,7 @@ use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\ObjectHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Custom_codes Admin Controller @@ -127,7 +128,7 @@ class ComponentbuilderControllerCustom_codes extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=custom_codes', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=custom_codes', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -136,7 +137,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(Uri::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 8c49894be..e9fa22845 100644 --- a/admin/controllers/dynamic_gets.php +++ b/admin/controllers/dynamic_gets.php @@ -21,6 +21,7 @@ use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\ObjectHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Dynamic_gets Admin Controller @@ -127,7 +128,7 @@ class ComponentbuilderControllerDynamic_gets extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=dynamic_gets', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=dynamic_gets', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -136,7 +137,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(Uri::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 acaa65876..79da8d760 100644 --- a/admin/controllers/fields.php +++ b/admin/controllers/fields.php @@ -21,6 +21,7 @@ use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\ObjectHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Fields Admin Controller @@ -127,7 +128,7 @@ class ComponentbuilderControllerFields extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=fields', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=fields', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -136,7 +137,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(Uri::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 42091f0b5..1d6062886 100644 --- a/admin/controllers/joomla_components.php +++ b/admin/controllers/joomla_components.php @@ -22,6 +22,7 @@ use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\ObjectHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Joomla_components Admin Controller @@ -128,7 +129,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=joomla_components', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -137,7 +138,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(Uri::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 bdc218298..0c23e39d4 100644 --- a/admin/controllers/joomla_plugins.php +++ b/admin/controllers/joomla_plugins.php @@ -19,6 +19,7 @@ use Joomla\Utilities\ArrayHelper; use Joomla\CMS\Router\Route; use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Joomla_plugins Admin Controller @@ -62,7 +63,7 @@ class ComponentbuilderControllerJoomla_plugins extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=joomla_plugins', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=joomla_plugins', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -71,7 +72,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(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); // is there a message returned if (!is_numeric($result) && StringHelper::check($result)) { @@ -102,7 +103,7 @@ class ComponentbuilderControllerJoomla_plugins extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=joomla_plugins', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=joomla_plugins', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_GET_BOILERPLATE_MODULE'); // check if this user has the right to run expansion diff --git a/admin/controllers/powers.php b/admin/controllers/powers.php index 15907cc25..c66cfcd6e 100644 --- a/admin/controllers/powers.php +++ b/admin/controllers/powers.php @@ -21,6 +21,7 @@ use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\StringHelper; use VDM\Joomla\Componentbuilder\Power\Factory as PowerFactory; use VDM\Joomla\Utilities\GetHelper; +use Joomla\CMS\Uri\Uri; /** * Powers Admin Controller @@ -64,7 +65,7 @@ class ComponentbuilderControllerPowers extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=powers', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -73,7 +74,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(Uri::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 69c81f4d9..f2f78f12d 100644 --- a/admin/controllers/validation_rules.php +++ b/admin/controllers/validation_rules.php @@ -21,6 +21,7 @@ use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\ObjectHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Uri\Uri; /** * Validation_rules Admin Controller @@ -127,7 +128,7 @@ class ComponentbuilderControllerValidation_rules extends AdminController // check if user has the right $user = Factory::getUser(); // set page redirect - $redirect_url = \JRoute::_('index.php?option=com_componentbuilder&view=validation_rules', false); + $redirect_url = Route::_('index.php?option=com_componentbuilder&view=validation_rules', false); // set massage $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); // check if this user has the right to run expansion @@ -136,7 +137,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(Uri::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 b1a970aff..620e4d854 100644 --- a/admin/helpers/componentbuilder.php +++ b/admin/helpers/componentbuilder.php @@ -12,7 +12,7 @@ // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project admin area. +// The power autoloader for this project (JPATH_ADMINISTRATOR) area. $power_autoloader = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/powerloader.php'; if (file_exists($power_autoloader)) { @@ -61,6 +61,7 @@ use VDM\Joomla\Utilities\String\PluginHelper; use VDM\Joomla\Utilities\GuidHelper; use VDM\Joomla\Utilities\Component\Helper; use VDM\Joomla\Utilities\FormHelper; +use Joomla\CMS\Router\Route; /** * Componentbuilder component helper. @@ -2751,7 +2752,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } self::$gitHubAccessToken = self::$params->get('github_access_token', null); } @@ -3254,7 +3255,7 @@ abstract class ComponentbuilderHelper $script['view'][] = PHP_EOL . ""; $script['view'][] = ""; $script['view'][] = PHP_EOL . "
"; - $script['view'][] = "
\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">"; + $script['view'][] = "\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">"; $script['view'][] = ""; $script['view'][] = PHP_EOL . self::_t(1) . "sidebar)) : ?>"; $script['view'][] = self::_t(2) . "
"; @@ -3657,7 +3658,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } $folderPath = self::$params->get($target, $default); // create the folder if it does not exist @@ -4886,7 +4887,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -4998,7 +4999,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -5104,7 +5105,7 @@ abstract class ComponentbuilderHelper // set the edit link if ($jRoute) { - return \JRoute::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref); + return Route::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref); } return "index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref; } diff --git a/admin/helpers/powerloader.php b/admin/helpers/powerloader.php index f95d8a694..d9adcc38a 100644 --- a/admin/helpers/powerloader.php +++ b/admin/helpers/powerloader.php @@ -20,7 +20,7 @@ if (file_exists($composer_autoloader)) } // register additional namespace -\spl_autoload_register(function ($class) { +spl_autoload_register(function ($class) { // project-specific base directories and namespace prefix $search = [ 'libraries/vendor_jcb/VDM.Joomla.Gitea' => 'VDM\\Joomla\\Gitea', diff --git a/admin/models/ajax.php b/admin/models/ajax.php index ea8e4c8d5..dd2403887 100644 --- a/admin/models/ajax.php +++ b/admin/models/ajax.php @@ -30,6 +30,7 @@ use VDM\Joomla\Utilities\GetHelper; use VDM\Joomla\Utilities\GuidHelper; use VDM\Joomla\Utilities\Base64Helper; use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper; +use Joomla\CMS\Uri\Uri; /** * Componentbuilder Ajax List Model @@ -168,7 +169,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') . ' ' ; @@ -206,11 +207,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 "' .Uri::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 "' .Uri::root() . 'index.php?option=com_componentbuilder&task=api.backup" >/dev/null 2>&1'; } $result['path'] = '' . $path . ''; } @@ -219,11 +220,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 "' .Uri::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 "' .Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand" >/dev/null 2>&1'; } $result['path'] = '' . $path . ''; } diff --git a/admin/models/forms/joomla_component.xml b/admin/models/forms/joomla_component.xml index 51eecaf69..d428b658d 100644 --- a/admin/models/forms/joomla_component.xml +++ b/admin/models/forms/joomla_component.xml @@ -203,8 +203,8 @@ syntax="php" editor="codemirror|none" filter="raw" - required="add_admin_event:1" validate="code" + showon="add_admin_event:1" /> @@ -640,6 +640,7 @@ editor="codemirror|none" filter="raw" validate="code" + showon="add_css_site:1" /> getUpdateSite(); - $http = new JHttp; + $http = new Http; try { diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql index 079faf6f5..18795dff9 100644 --- a/admin/sql/install.mysql.utf8.sql +++ b/admin/sql/install.mysql.utf8.sql @@ -2054,9 +2054,30 @@ INSERT INTO `#__componentbuilder_joomla_component` (`id`, `add_admin_event`, `ad 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+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), +(24, '', '', '', '', 1, '', '', '', '', '', '', '', '', 1, 'Add Access Token to easy update [[[Component]]]', '{}', '29ac30d2-1c1a-4b9e-9cfa-c5fcb08caa01', 'dXNlIEpvb21sYVxDTVNcQXBwbGljYXRpb25cQ01TQXBwbGljYXRpb247DQp1c2UgSm9vbWxhXENNU1xQbHVnaW5cQ01TUGx1Z2luOw==', 12, '{\"method_selection0\":{\"method\":\"103\"}}', 'CS8qKg0KCSAqIEFwcGxpY2F0aW9uIG9iamVjdA0KCSAqDQoJICogQHZhciAgICBDTVNBcHBsaWNhdGlvbg0KCSAqIEBzaW5jZSAgMS4wLjANCgkgKi8NCglwcm90ZWN0ZWQgICRhcHA7DQoNCgkvKioNCgkgKiBBZmZlY3RzIGNvbnN0cnVjdG9yIGJlaGF2aW9yLiBJZiB0cnVlLCBsYW5ndWFnZSBmaWxlcyB3aWxsIGJlIGxvYWRlZCBhdXRvbWF0aWNhbGx5Lg0KCSAqDQoJICogQHZhciAgICBib29sZWFuDQoJICogQHNpbmNlICAxLjAuMA0KCSAqLw0KCXByb3RlY3RlZCAgJGF1dG9sb2FkTGFuZ3VhZ2UgPSB0cnVlOw0KDQoJLyoqDQoJICogb25JbnN0YWxsZXJCZWZvcmVQYWNrYWdlRG93bmxvYWQuDQoJICoNCgkgKiBGb3IgbW9kaWZpY2F0aW9uIG9mIFVSTCBhbmQgaGVhZGVycyBiZWZvcmUgcGFja2FnZSBkb3dubG9hZA0KCSAqDQoJICogQHJldHVybiAgdm9pZA0KCSAqDQoJICogQHNpbmNlICAgMS4wDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIG9uSW5zdGFsbGVyQmVmb3JlUGFja2FnZURvd25sb2FkKCYkdXJsLCAmJGhlYWRlcnMpDQoJew0KCQkvLyBzZXQgdGhlIFVSSSBvYmplY3QNCgkJJHVyaSA9IEpvb21sYV9fX2VlY2MxNDNlX2I1Y2ZfNGMzM19iYTRkXzk3ZGExZGY2MTQyMl9fX1Bvd2VyOjpnZXRJbnN0YW5jZSgkdXJsKTsNCgkJJHBhcnRzID0gZXhwbG9kZSgnLycsICR1cmktPmdldFBhdGgoKSk7DQoNCgkJLy8gY2hlY2sgdGhhdCB0aGlzIGlzIG91ciBBUEkNCgkJaWYgKCR1cmktPmdldEhvc3QoKSA9PSAnW1tbZ2l0ZWFfdXJsXV1dJyAmJiBpbl9hcnJheSgnW1tbZ2l0ZWFfcGFja2FnZV9uYW1lXV1dJywgJHBhcnRzKSkNCgkJew0KCQkJLy8gZ2V0IHRoZSB0b2tlbiBpZiBzZXQNCgkJCSR0b2tlbiA9IEpvb21sYV9fX2FlYjhlNDYzXzI5MWZfNDQ0NV85YWM0XzM0YjYzN2MxMmRiZF9fX1Bvd2VyOjpnZXRQYXJhbXMoJ2NvbV9bW1tjb21wb25lbnRdXV0nKS0+Z2V0KCdnaXRlYV90b2tlbicsIGZhbHNlKTsNCgkJCS8vIG9ubHkgYWRkIGlmIHRva2VuIGlzIHNldA0KCQkJaWYgKCR0b2tlbikNCgkJCXsNCgkJCQkvLyBhZGQgdGhlIHRva2VuDQoJCQkJJHVyaS0+c2V0VmFyKCdhY2Nlc3NfdG9rZW4nLCAkdG9rZW4pOw0KCQkJCS8vIHVwZGF0ZSB0aGUgVVJMDQoJCQkJJHVybCA9ICR1cmktPnRvU3RyaW5nKCk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJLy8gc2V0IHRoZSByZXR1cm4gVVJMDQoJCQkJJHJldHVybiA9IHVybGVuY29kZShiYXNlNjRfZW5jb2RlKChzdHJpbmcpIEpvb21sYV9fX2VlY2MxNDNlX2I1Y2ZfNGMzM19iYTRkXzk3ZGExZGY2MTQyMl9fX1Bvd2VyOjpnZXRJbnN0YW5jZSgpKSk7DQoJCQkJLy8gc2V0IHRoZSB1cmxzDQoJCQkJJGdldF9hY2Nlc3NfdG9rZW5fdXJsID0gJyJodHRwczovL1tbW2dpdGVhX3VybF1dXS91c2VyL3NldHRpbmdzL2FwcGxpY2F0aW9ucyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSInIC4gVGV4dDo6XygnR2V0IEFjY2VzcyBUb2tlbicpIC4gJyInOw0KCQkJCSRzZXRfYWNjZXNzX3Rva2VuX3VybCA9ICciJyAuIEpvb21sYV9fX2VlY2MxNDNlX2I1Y2ZfNGMzM19iYTRkXzk3ZGExZGY2MTQyMl9fX1Bvd2VyOjpyb290KCkgLiAnYWRtaW5pc3RyYXRvci9pbmRleC5waHA/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); +-- +-- Dumping data for table `#__componentbuilder_joomla_power` +-- + +INSERT INTO `#__componentbuilder_joomla_power` (`id`, `description`, `guid`, `settings`, `system_name`, `params`, `published`, `created`, `modified`, `version`, `hits`, `access`, `ordering`) VALUES +(1, 'The Joomla Factory class', '39403062-84fb-46e0-bac4-0023f766e827', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Factory\",\"joomla_version\":\"0\"}}', 'JFactory', '', 1, '2024-04-09 15:00:24', '0000-00-00 00:00:00', 1, '', 1, 1), +(2, 'The core Joomla Text class.', 'ba6326ef-cb79-4348-80f4-ab086082e3c5', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Language\\\\Text\",\"joomla_version\":\"0\"}}', 'JText', '', 1, '2024-04-09 15:01:16', '0000-00-00 00:00:00', 1, '', 1, 2), +(3, 'The Joomla core component helper class.', 'aeb8e463-291f-4445-9ac4-34b637c12dbd', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Component\\\\ComponentHelper\",\"joomla_version\":\"0\"}}', 'JComponentHelper', '', 1, '2024-04-09 15:02:09', '0000-00-00 00:00:00', 1, '', 1, 3), +(4, 'The Joomla core session class.', '5ba38513-5c4f-4b0d-935e-49e986a6bce8', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Session\\\\Session\",\"joomla_version\":\"0\"}}', 'JSession', '', 1, '2024-04-09 15:03:18', '0000-00-00 00:00:00', 1, '', 1, 4), +(5, 'The Joomla core uri class.', 'eecc143e-b5cf-4c33-ba4d-97da1df61422', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Uri\\\\Uri\",\"joomla_version\":\"0\"}}', 'JUri', '', 1, '2024-04-09 15:04:32', '0000-00-00 00:00:00', 1, '', 1, 5), +(6, 'HTTP client class.', '8417ac0e-2abd-4452-91fd-4ca6493d55f2', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Http\\\\Http\",\"joomla_version\":\"0\"}}', 'JHttp', '', 1, '2024-04-27 11:59:57', '0000-00-00 00:00:00', 1, '', 1, 6), +(7, 'Route handling class', 'd4c76099-4c32-408a-8701-d0a724484dfd', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Router\\\\Route\",\"joomla_version\":\"0\"}}', 'JRoute', '', 1, '2024-04-27 12:01:46', '0000-00-00 00:00:00', 1, '', 1, 7), +(8, 'Class to create and parse routes', '4efa4c21-5114-472a-b1f8-48aa9bd14900', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Router\\\\Router\",\"joomla_version\":\"0\"}}', 'JRouter', '', 1, '2024-04-27 12:02:16', '0000-00-00 00:00:00', 1, '', 1, 7), +(9, 'This is an abstracted input class used to manage retrieving data from the application environment.', '59106b64-dd51-4280-be0a-1b9b9ebb7161', '{\"settings0\":{\"namespace\":\"Joomla\\\\Input\\\\Input\",\"joomla_version\":\"0\"}}', 'JInput', '', 1, '2024-04-27 12:04:55', '0000-00-00 00:00:00', 1, '', 1, 8), +(10, 'Helper to render a Layout object, storing a base path', '7ab82272-0b3d-4bb1-af35-e63a096cfe0b', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Layout\\\\LayoutHelper\",\"joomla_version\":\"0\"}}', 'JLayoutHelper', '', 1, '2024-04-27 12:06:33', '0000-00-00 00:00:00', 1, '', 1, 9), +(11, 'Utility class for all HTML drawing classes', '34690c75-1090-47eb-8c06-7228dc7eedd6', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\HTML\\\\HTMLHelper\",\"joomla_version\":\"0\"}}', 'JHtml', '', 1, '2024-04-27 12:07:27', '0000-00-00 00:00:00', 1, '', 1, 10), +(12, 'Class that handles all access authorisation routines.', '2d513d69-8c7c-4dab-bb84-c5ecafb91a9d', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Access\\\\Access\",\"joomla_version\":\"0\"}}', 'JAccess', '', 1, '2024-04-27 12:56:41', '0000-00-00 00:00:00', 1, '', 1, 11), +(13, 'Access rules class.', '80425d73-1789-4f59-b49d-1a712611a77a', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Access\\\\Rules\",\"joomla_version\":\"0\"}}', 'JRules', '', 1, '2024-04-27 12:57:12', '0000-00-00 00:00:00', 1, '', 1, 11), +(14, 'Rule class.', 'b07d4be5-bbbe-48c9-a2ab-843090a1c0de', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Access\\\\Rule\",\"joomla_version\":\"0\"}}', 'JRule', '', 1, '2024-04-27 12:57:34', '0000-00-00 00:00:00', 1, '', 1, 11), +(15, 'JDate is a class that stores a date and provides logic to manipulate and render that date in a variety of formats.', '3864fa33-ab10-48d5-98ea-5e1397e6a191', '{\"settings0\":{\"namespace\":\"Joomla\\\\CMS\\\\Date\\\\Date\",\"joomla_version\":\"0\"}}', 'JDate', '', 1, '2024-04-27 12:58:11', '0000-00-00 00:00:00', 1, '', 1, 11); + -- -- Dumping data for table `#__componentbuilder_admin_view` -- @@ -2077,7 +2098,7 @@ INSERT INTO `#__componentbuilder_site_view` (`id`, `add_css_document`, `add_css` -- INSERT INTO `#__componentbuilder_dynamic_get` (`id`, `add_php_after_getitem`, `add_php_before_getitem`, `add_php_after_getitems`, `add_php_before_getitems`, `add_php_getlistquery`, `php_after_getitem`, `php_before_getitem`, `php_before_getitems`, `php_getlistquery`, `php_after_getitems`, `pagination`, `addcalculation`, `db_selection`, `db_table_main`, `filter`, `getcustom`, `gettype`, `global`, `join_db_table`, `join_view_table`, `main_source`, `name`, `order`, `php_calculation`, `php_custom_get`, `view_selection`, `view_table_main`, `where`, `php_router_parse`, `group`, `params`, `published`, `version`, `hits`, `ordering`, `guid`) VALUES -(36, '', '', 1, '', '', '', '', '', '', 'CQkvLyBkbyBhIHF1aWNrIGJ1aWxkIG9mIGFsbCBlZGl0IGxpbmtzIGxpbmtzDQoJCWlmIChpc3NldCgkaXRlbXMpICYmICRpdGVtcykNCgkJew0KCQkJZm9yZWFjaCAoJGl0ZW1zIGFzICRuciA9PiAmJGl0ZW0pDQoJCQl7DQoJCQkJJGNhbkRvID0gW1tbQ29tcG9uZW50XV1dSGVscGVyOjpnZXRBY3Rpb25zKCdsb29rJywkaXRlbSwnbG9va3MnKTsNCgkJCQlpZiAoJGNhbkRvLT5nZXQoJ2xvb2suZWRpdCcpKQ0KCQkJCXsNCgkJCQkJJGl0ZW0tPmVkaXRMaW5rID0gJzxiciAvPjxiciAvPjxhIGNsYXNzPSJ1ay1idXR0b24gdWstYnV0dG9uLXByaW1hcnkgdWstd2lkdGgtMS0xIiBocmVmPSInOw0KCQkJCQkkaXRlbS0+ZWRpdExpbmsgLj0gXEpSb3V0ZTo6XygnaW5kZXgucGhwP29wdGlvbj1jb21fW1tbY29tcG9uZW50XV1dJnZpZXc9bG9vayZ0YXNrPWxvb2suZWRpdCZpZD0nIC4gJGl0ZW0tPmlkKTsNCgkJCQkJJGl0ZW0tPmVkaXRMaW5rIC49ICciPjxpIGNsYXNzPSJ1ay1pY29uLXBlbmNpbCI+PC9pPjxzcGFuIGNsYXNzPSJ1ay1oaWRkZW4tc21hbGwiPic7DQoJCQkJCSRpdGVtLT5lZGl0TGluayAuPSBUZXh0OjpfKCdFZGl0IExvb2snKTsNCgkJCQkJJGl0ZW0tPmVkaXRMaW5rIC49ICc8L3NwYW4+PC9hPic7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCSRpdGVtLT5lZGl0TGluayA9ICcnOw0KCQkJCX0NCgkJCX0NCgkJfQ==', 1, '', '', '', '', '', 2, '', '', '', 1, 'Looks', '{\"order0\":{\"table_key\":\"a.name\",\"direction\":\"ASC\"}}', '', '', 'a.*', 109, '{\"where0\":{\"table_key\":\"a.published\",\"operator\":\"1\",\"value_key\":\"1\"}}', '', '', '', 1, 12, '', 13, '32b3ae7d-8aa8-47f1-ab2e-30076ddaa029'), +(36, '', '', 1, '', '', '', '', '', '', 'CQkvLyBkbyBhIHF1aWNrIGJ1aWxkIG9mIGFsbCBlZGl0IGxpbmtzIGxpbmtzDQoJCWlmIChpc3NldCgkaXRlbXMpICYmICRpdGVtcykNCgkJew0KCQkJZm9yZWFjaCAoJGl0ZW1zIGFzICRuciA9PiAmJGl0ZW0pDQoJCQl7DQoJCQkJJGNhbkRvID0gW1tbQ29tcG9uZW50XV1dSGVscGVyOjpnZXRBY3Rpb25zKCdsb29rJywkaXRlbSwnbG9va3MnKTsNCgkJCQlpZiAoJGNhbkRvLT5nZXQoJ2xvb2suZWRpdCcpKQ0KCQkJCXsNCgkJCQkJJGl0ZW0tPmVkaXRMaW5rID0gJzxiciAvPjxiciAvPjxhIGNsYXNzPSJ1ay1idXR0b24gdWstYnV0dG9uLXByaW1hcnkgdWstd2lkdGgtMS0xIiBocmVmPSInOw0KCQkJCQkkaXRlbS0+ZWRpdExpbmsgLj0gSm9vbWxhX19fZDRjNzYwOTlfNGMzMl80MDhhXzg3MDFfZDBhNzI0NDg0ZGZkX19fUG93ZXI6Ol8oJ2luZGV4LnBocD9vcHRpb249Y29tX1tbW2NvbXBvbmVudF1dXSZ2aWV3PWxvb2smdGFzaz1sb29rLmVkaXQmaWQ9JyAuICRpdGVtLT5pZCk7DQoJCQkJCSRpdGVtLT5lZGl0TGluayAuPSAnIj48aSBjbGFzcz0idWstaWNvbi1wZW5jaWwiPjwvaT48c3BhbiBjbGFzcz0idWstaGlkZGVuLXNtYWxsIj4nOw0KCQkJCQkkaXRlbS0+ZWRpdExpbmsgLj0gVGV4dDo6XygnRWRpdCBMb29rJyk7DQoJCQkJCSRpdGVtLT5lZGl0TGluayAuPSAnPC9zcGFuPjwvYT4nOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkkaXRlbS0+ZWRpdExpbmsgPSAnJzsNCgkJCQl9DQoJCQl9DQoJCX0=', 1, '', '', '', '', '', 2, '', '', '', 1, 'Looks', '{\"order0\":{\"table_key\":\"a.name\",\"direction\":\"ASC\"}}', '', '', 'a.*', 109, '{\"where0\":{\"table_key\":\"a.published\",\"operator\":\"1\",\"value_key\":\"1\"}}', '', '', '', 1, 12, '', 13, '32b3ae7d-8aa8-47f1-ab2e-30076ddaa029'), (39, '', '', '', '', '', '', '', '', '', '', 1, '', '', '', '{\"filter0\":{\"filter_type\":\"1\",\"state_key\":\"id\",\"operator\":\"1\",\"table_key\":\"a.id\"}}', '', 1, '', '', '', 1, 'Looking', '', '', '', 'a.id AS id\r\na.name AS name\r\na.alias AS alias\r\na.description AS description\r\na.add AS add\r\na.email AS email\r\na.mobile_phone AS mobile_phone\r\na.dateofbirth AS dateofbirth\r\na.image AS image\r\na.website AS website\r\na.published AS published\r\na.hits AS hits\r\na.created_by AS created_by', 109, '', '', '', '', 1, 8, '', '', '98e6ea56-0911-4d89-b1f4-8f0bb1e4aa5a'); -- @@ -2278,7 +2299,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\'.\"},\"properties24\":{\"name\":\"layout\",\"example\":\"joomla.form.field.list-fancy-select\",\"adjustable\":\"1\",\"description\":\"(optional) New layout field added in Joomla 4\"},\"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, 30, '', '', '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 ComponentHelper::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.1-beta3.sql b/admin/sql/updates/mysql/3.2.1-beta3.sql new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/admin/sql/updates/mysql/3.2.1-beta3.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 e7c155fe7..ee2fedc29 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) Uri::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 9099eee10..b55c63e8c 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) Uri::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 6186cb7a2..a489ba826 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) Uri::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 d6b08d5dd..919e3e572 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) Uri::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 30bc52109..3008dfa85 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) Uri::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 415a2af0f..9a67c942d 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) Uri::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 b9d054c8c..a3da61381 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) Uri::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 780bc45ac..4c045c4df 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) Uri::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 580cef48a..8c9759ec7 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) Uri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/field/view.html.php b/admin/views/field/view.html.php index 1b225e3d0..f1e9fc84d 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) Uri::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 34770e972..ec85b0896 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) Uri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/get_snippets/tmpl/default.php b/admin/views/get_snippets/tmpl/default.php index e997c5562..53b65fc13 100644 --- a/admin/views/get_snippets/tmpl/default.php +++ b/admin/views/get_snippets/tmpl/default.php @@ -36,7 +36,7 @@ Html::_('behavior.keepalive'); } - + diff --git a/admin/views/get_snippets/view.html.php b/admin/views/get_snippets/view.html.php index ab0a72e75..69a64ae6c 100644 --- a/admin/views/get_snippets/view.html.php +++ b/admin/views/get_snippets/view.html.php @@ -23,6 +23,7 @@ use Joomla\CMS\Toolbar\ToolbarHelper; use Joomla\CMS\Filesystem\File; use VDM\Joomla\Utilities\ArrayHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Session\Session; /** * Componentbuilder Html View class for the Get_snippets @@ -180,7 +181,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 = '". Session::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 0f53e1766..8e5b012c4 100644 --- a/admin/views/import_joomla_components/view.html.php +++ b/admin/views/import_joomla_components/view.html.php @@ -22,6 +22,7 @@ use Joomla\CMS\HTML\HTMLHelper as Html; use VDM\Joomla\Utilities\FormHelper as UtilitiesFormHelper; use VDM\Joomla\Utilities\ArrayHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Session\Session; /** * Componentbuilder Import_joomla_components Html View @@ -165,7 +166,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 = '".Session::getFormToken()."';"); // add the Uikit v2 style sheets diff --git a/admin/views/import_language_translations/tmpl/default.php b/admin/views/import_language_translations/tmpl/default.php index 6b9158ea8..da8a83652 100644 --- a/admin/views/import_language_translations/tmpl/default.php +++ b/admin/views/import_language_translations/tmpl/default.php @@ -140,7 +140,7 @@ jQuery(document).ready(function($) {
-
+ sidebar)) : ?> diff --git a/admin/views/joomla_component/view.html.php b/admin/views/joomla_component/view.html.php index 98b2ef178..2b041efac 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->getDocument()->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';"); // add return_here - $this->getDocument()->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) \JUri::getInstance())) . "';"); + $this->getDocument()->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) Uri::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 0f37e459b..ea379e54b 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) Uri::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 a02ab095c..058d69e08 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) Uri::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 1844d04b3..60ce12375 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) Uri::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 a4e98e3d4..a332e0c5c 100644 --- a/admin/views/libraries/tmpl/default_body.php +++ b/admin/views/libraries/tmpl/default_body.php @@ -17,6 +17,7 @@ use Joomla\CMS\Language\Text; use Joomla\CMS\HTML\HTMLHelper as Html; use VDM\Joomla\Utilities\ArrayHelper; use VDM\Joomla\Utilities\GetHelper; +use Joomla\CMS\Uri\Uri; $edit = "index.php?option=com_componentbuilder&view=libraries&task=library.edit"; @@ -77,7 +78,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) Uri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/placeholder/view.html.php b/admin/views/placeholder/view.html.php index db3a649cd..00dfb99d2 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) Uri::getInstance())) . "';"); Text::script('view not acceptable. Error'); } diff --git a/admin/views/power/view.html.php b/admin/views/power/view.html.php index 83f7f664b..ccc5e4719 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) Uri::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 d3faf5f51..43918432d 100644 --- a/admin/views/search/tmpl/default.php +++ b/admin/views/search/tmpl/default.php @@ -23,12 +23,13 @@ Html::_('formbehavior.chosen', 'select'); Html::_('behavior.keepalive'); use Joomla\CMS\Session\Session; use VDM\Joomla\Utilities\ArrayHelper; +use Joomla\CMS\Uri\Uri; // allow main menu selection $this->app->input->set('hidemainmenu', false); // set the basu URL -$url_base = \JUri::base() . 'index.php?option=com_componentbuilder'; +$url_base = Uri::base() . 'index.php?option=com_componentbuilder'; $url_search = $url_base . '&view=search'; // get main search input field @@ -59,7 +60,7 @@ $search_value = $this->form->getField('search_value');
form): ?> -
'; // Set db if not set already. if (!isset($db)) @@ -11793,7 +11793,7 @@ class Com_ComponentbuilderInstallerScript if (!class_exists($nameClass, true)) { // The power autoloader for this project admin area. - $power_autoloader = JPATH_ADMINISTRATOR . '/componenents/com_componentbuilder/helpers/powerload.php'; + $power_autoloader = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/powerloader.php'; if (file_exists($power_autoloader)) { require_once $power_autoloader; diff --git a/site/componentbuilder.php b/site/componentbuilder.php index ed2bfbefd..7f15e5b16 100644 --- a/site/componentbuilder.php +++ b/site/componentbuilder.php @@ -12,7 +12,7 @@ // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project site area. +// The power autoloader for this project (JPATH_SITE) area. $power_autoloader = JPATH_SITE . '/components/com_componentbuilder/helpers/powerloader.php'; if (file_exists($power_autoloader)) { diff --git a/site/controllers/api.php b/site/controllers/api.php index 384b220da..9e54da1bf 100644 --- a/site/controllers/api.php +++ b/site/controllers/api.php @@ -23,6 +23,7 @@ use Joomla\CMS\Uri\Uri; use VDM\Joomla\Utilities\ObjectHelper; use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper; use VDM\Joomla\Utilities\StringHelper; +use Joomla\CMS\Component\ComponentHelper; /** * Componentbuilder Api Form Controller @@ -68,7 +69,7 @@ class ComponentbuilderControllerApi extends FormController // get params first if (!isset($this->params) || !ObjectHelper::check($this->params)) { - $this->params = \JComponentHelper::getParams('com_componentbuilder'); + $this->params = ComponentHelper::getParams('com_componentbuilder'); } // get model $model = $this->getModel('api'); @@ -146,7 +147,7 @@ class ComponentbuilderControllerApi extends FormController // get params first if (!isset($this->params) || !ObjectHelper::check($this->params)) { - $this->params = \JComponentHelper::getParams('com_componentbuilder'); + $this->params = ComponentHelper::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 96a44b0bd..37a31417e 100644 --- a/site/helpers/componentbuilder.php +++ b/site/helpers/componentbuilder.php @@ -12,7 +12,7 @@ // No direct access to this file defined('_JEXEC') or die('Restricted access'); -// The power autoloader for this project site area. +// The power autoloader for this project (JPATH_SITE) area. $power_autoloader = JPATH_SITE . '/components/com_componentbuilder/helpers/powerloader.php'; if (file_exists($power_autoloader)) { @@ -58,6 +58,7 @@ use VDM\Joomla\Utilities\String\PluginHelper; use VDM\Joomla\Utilities\GuidHelper; use VDM\Joomla\Utilities\Component\Helper; use VDM\Joomla\Utilities\FormHelper; +use Joomla\CMS\Router\Route; /** * Componentbuilder component helper @@ -2748,7 +2749,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } self::$gitHubAccessToken = self::$params->get('github_access_token', null); } @@ -3251,7 +3252,7 @@ abstract class ComponentbuilderHelper $script['view'][] = PHP_EOL . ""; $script['view'][] = ""; $script['view'][] = PHP_EOL . "
"; - $script['view'][] = "\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">"; + $script['view'][] = "\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">"; $script['view'][] = ""; $script['view'][] = PHP_EOL . self::_t(1) . "sidebar)) : ?>"; $script['view'][] = self::_t(2) . "
"; @@ -3654,7 +3655,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } $folderPath = self::$params->get($target, $default); // create the folder if it does not exist @@ -4883,7 +4884,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -4995,7 +4996,7 @@ abstract class ComponentbuilderHelper // get the global settings if (!ObjectHelper::check(self::$params)) { - self::$params = \JComponentHelper::getParams('com_componentbuilder'); + self::$params = ComponentHelper::getParams('com_componentbuilder'); } // get UIKIT version $uikit = self::$params->get('uikit_version', 2); @@ -5101,7 +5102,7 @@ abstract class ComponentbuilderHelper // set the edit link if ($jRoute) { - return \JRoute::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref); + return Route::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref); } return "index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref; } diff --git a/site/helpers/powerloader.php b/site/helpers/powerloader.php index f95d8a694..d9adcc38a 100644 --- a/site/helpers/powerloader.php +++ b/site/helpers/powerloader.php @@ -20,7 +20,7 @@ if (file_exists($composer_autoloader)) } // register additional namespace -\spl_autoload_register(function ($class) { +spl_autoload_register(function ($class) { // project-specific base directories and namespace prefix $search = [ 'libraries/vendor_jcb/VDM.Joomla.Gitea' => 'VDM\\Joomla\\Gitea',