From af4b12a82b723e00bfb9d510b430308db7d50072 Mon Sep 17 00:00:00 2001 From: aB0t Date: Wed, 25 Jun 2025 10:16:52 +0000 Subject: [PATCH] Release of v5.1.1-beta4 Fix the FieldXML interface mismatch. #1228. Adds Initialize, Reset, and Push functionality to the Repository entities. --- CHANGELOG.md | 12 +- ComponentbuilderInstallerScript.php | 4 +- README.md | 6 +- admin/README.txt | 6 +- admin/access.xml | 3 + admin/assets/js/initialization_selection.js | 1 + admin/forms/repository.xml | 6 +- .../en-GB/en-GB.com_componentbuilder.ini | 27 +- .../en-GB/en-GB.com_componentbuilder.sys.ini | 6 + admin/layouts/reposelectioncardbody.php | 7 + admin/sql/install.mysql.utf8.sql | 10 +- .../src/Controller/RepositoriesController.php | 243 ++++++++++++++++++ admin/src/Controller/RepositoryController.php | 197 ++++++++++++++ admin/src/Model/AjaxModel.php | 5 +- .../Model/Initialization_selectionModel.php | 5 +- admin/src/Model/RepositoriesModel.php | 7 +- admin/src/View/Repositories/HtmlView.php | 15 ++ admin/src/View/Repository/HtmlView.php | 20 ++ .../default_selectionheader.php | 3 +- componentbuilder.xml | 6 +- componentbuilder_update_server.xml | 6 +- .../VDM.Joomla/src/Abstraction/Grep.php | 10 +- .../VDM.Joomla/src/Abstraction/Remote/Set.php | 4 +- .../Compiler/Creator/FieldXML.php | 6 +- .../Interfaces/Creator/Fieldtypeinterface.php | 2 +- .../src/Componentbuilder/Compiler/Power.php | 2 +- .../Compiler/Service/JoomlaPower.php | 2 +- .../Compiler/Service/Power.php | 2 +- .../src/Componentbuilder/Fieldtype/Grep.php | 95 +------ .../Fieldtype/Service/Fieldtype.php | 2 +- .../src/Componentbuilder/JoomlaPower/Grep.php | 95 +------ .../JoomlaPower/Service/JoomlaPower.php | 2 +- .../src/Componentbuilder/Package/Grep.php | 153 +---------- .../Componentbuilder/Package/GrepContent.php | 31 +-- .../Package/Remote/CustomCode/Set.php | 2 +- .../Package/Remote/DynamicGet/Set.php | 2 +- .../Package/Remote/SetContent.php | 4 +- .../Package/Service/AdminView.php | 4 +- .../Package/Service/Component.php | 4 +- .../Package/Service/CustomAdminView.php | 4 +- .../Package/Service/CustomCode.php | 2 +- .../Package/Service/Dependencies.php | 4 +- .../Package/Service/DynamicGet.php | 2 +- .../Package/Service/Field.php | 4 +- .../Package/Service/JoomlaModule.php | 4 +- .../Package/Service/JoomlaPlugin.php | 4 +- .../Package/Service/Layout.php | 4 +- .../Package/Service/Library.php | 4 +- .../Package/Service/SiteView.php | 4 +- .../Package/Service/Template.php | 4 +- .../src/Componentbuilder/Power/Grep.php | 2 +- .../Componentbuilder/Power/Service/Power.php | 2 +- .../{Power => }/Remote/Get.php | 4 +- .../src/Componentbuilder/Remote/Grep.php | 144 +++++++++++ .../{Package => }/Remote/Set.php | 4 +- .../Remote/SetDependenciesTrait.php | 70 +++++ .../Componentbuilder/Repository/Config.php | 147 +++++++++++ .../Componentbuilder/Repository/Factory.php | 74 ++++++ .../src/Componentbuilder/Repository/Grep.php | 60 +++++ .../Repository/Readme/Item.php | 191 ++++++++++++++ .../Repository/Readme/Main.php | 139 ++++++++++ .../Remote => Repository/Readme}/index.html | 0 .../Repository/Remote/Config.php | 50 ++++ .../Repository/Remote/index.html | 1 + .../Repository/Service/Repository.php | 204 +++++++++++++++ .../Repository/Service/index.html | 1 + .../Componentbuilder/Repository/index.html | 1 + .../src/Componentbuilder/Snippet/Grep.php | 143 +---------- .../Snippet/Service/Snippet.php | 4 +- 69 files changed, 1721 insertions(+), 577 deletions(-) rename libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/{Power => }/Remote/Get.php (86%) create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Remote/Grep.php rename libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/{Package => }/Remote/Set.php (95%) create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Remote/SetDependenciesTrait.php create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Config.php create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Factory.php create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Grep.php create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Readme/Item.php create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Readme/Main.php rename libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/{Package/Remote => Repository/Readme}/index.html (100%) create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Remote/Config.php create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Remote/index.html create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Service/Repository.php create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/Service/index.html create mode 100644 libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Repository/index.html diff --git a/CHANGELOG.md b/CHANGELOG.md index cd7965ac6..b0ccd54e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,7 @@ -# v5.1.1-beta3 +# v5.1.1-beta4 -- Fixes issue with loading the Component Builder Wiki. -- Adds advanced version update notice to the Component Builder Dashboard. -- Completely refactors the class that builds the Component Dashboard. #1134 +- Fix the FieldXML interface mismatch. #1228 +- Adds Initialize, Reset, and Push functionality to the Repository entities. # v5.1.1-beta @@ -22,7 +21,10 @@ - Refactor the Creator Builders class. - Refactor the FieldString and FieldXML classes. - Add JCB new package engine. -- Enhance operator support in dynamic get system. Relates to issue #1226. +- Enhance operator support in dynamic get system. Relates to issue #1226. +- Fixes issue with loading the Component Builder Wiki. +- Adds advanced version update notice to the Component Builder Dashboard. +- Completely refactors the class that builds the Component Dashboard. #1134 # v5.1.0 diff --git a/ComponentbuilderInstallerScript.php b/ComponentbuilderInstallerScript.php index 806b5ccfe..27267f0b3 100644 --- a/ComponentbuilderInstallerScript.php +++ b/ComponentbuilderInstallerScript.php @@ -1516,7 +1516,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface // Fix the assets table rules column size. - $this->setDatabaseAssetsRulesFix(100960, "MEDIUMTEXT"); + $this->setDatabaseAssetsRulesFix(101440, "MEDIUMTEXT"); // Install the global extension params. $this->setExtensionsParams( '{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","subform_layouts":{"subform_layouts0":{"view_field":"default","layout":"repeatablejcbjfive"}},"editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","super_powers_documentation":"0","powers_repository":"0","super_powers_repositories":"0","builder_gif_size":"480-272","compiler_plugin":["componentbuilderactionlogcompiler","componentbuilderfieldorderingcompiler","componentbuilderheaderscompiler","componentbuilderpowersautoloadercompiler","componentbuilderprivacycompiler"],"add_menu_prefix":"1","menu_prefix":"»","namespace_prefix":"JCB","minify":"0","language":"en-GB","percentagelanguageadd":"30","assets_table_fix":"2","compiler_field_builder_type":"2","field_name_builder":"2","type_name_builder":"2","import_guid_only":"1","export_language_strings":"1","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_company":"Vast Development Method","export_owner":"Llewellyn van der Merwe","export_email":"joomla@vdm.io","export_website":"https://dev.vdm.io/","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","add_jquery_framework":"1","uikit_load":"1","uikit_min":"","uikit_style":""}' @@ -3292,7 +3292,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface echo '
-

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

'; +

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

'; // Add/Update component in the action logs extensions table. $this->setActionLogsExtensions(); diff --git a/README.md b/README.md index 5b810745a..ed49e0b93 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This is a professional-grade [Joomla 5.x](https://extensions.joomla.org/extensio JCB generates native Joomla components, plugins, and modules for Joomla 3.x, 4.x, and 5.x — and is already prepared for Joomla 6. Every compiled project is tailored for the specific version without needing backward compatibility plugins. With integrated version-aware compiling, smart boilerplating, and Git-powered project syncing, JCB is much more than a code generator—it's a **full-stack development pipeline for Joomla extensions**. -You can install this component easily. The latest release (**5.1.1-beta3**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/releases) and updated frequently with full source access. +You can install this component easily. The latest release (**5.1.1-beta4**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/releases) and updated frequently with full source access. Upgrades are seamless through Joomla’s built-in extension update mechanism. @@ -229,9 +229,9 @@ JCB is developed by developers for developers. Its purpose is to democratize hig * **Company:** [Vast Development Method](https://dev.vdm.io) * **Author:** [Llewellyn van der Merwe](mailto:joomla@vdm.io) * **Component:** [Component Builder](https://git.vdm.dev/joomla/Component-Builder) -* **Created:** 30th April, 2015 · **Last Build:** 23rd June, 2025 · **Version:** 5.1.1-beta3 +* **Created:** 30th April, 2015 · **Last Build:** 25th June, 2025 · **Version:** 5.1.1-beta4 * **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved. -* **Lines:** 1090382 · **Fields:** 2096 · **Files:** 7450 · **Folders:** 725 +* **Lines:** 1093361 · **Fields:** 2096 · **Files:** 7498 · **Folders:** 728 > Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions. diff --git a/admin/README.txt b/admin/README.txt index 5b810745a..ed49e0b93 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -9,7 +9,7 @@ This is a professional-grade [Joomla 5.x](https://extensions.joomla.org/extensio JCB generates native Joomla components, plugins, and modules for Joomla 3.x, 4.x, and 5.x — and is already prepared for Joomla 6. Every compiled project is tailored for the specific version without needing backward compatibility plugins. With integrated version-aware compiling, smart boilerplating, and Git-powered project syncing, JCB is much more than a code generator—it's a **full-stack development pipeline for Joomla extensions**. -You can install this component easily. The latest release (**5.1.1-beta3**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/releases) and updated frequently with full source access. +You can install this component easily. The latest release (**5.1.1-beta4**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/releases) and updated frequently with full source access. Upgrades are seamless through Joomla’s built-in extension update mechanism. @@ -229,9 +229,9 @@ JCB is developed by developers for developers. Its purpose is to democratize hig * **Company:** [Vast Development Method](https://dev.vdm.io) * **Author:** [Llewellyn van der Merwe](mailto:joomla@vdm.io) * **Component:** [Component Builder](https://git.vdm.dev/joomla/Component-Builder) -* **Created:** 30th April, 2015 · **Last Build:** 23rd June, 2025 · **Version:** 5.1.1-beta3 +* **Created:** 30th April, 2015 · **Last Build:** 25th June, 2025 · **Version:** 5.1.1-beta4 * **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved. -* **Lines:** 1090382 · **Fields:** 2096 · **Files:** 7450 · **Folders:** 725 +* **Lines:** 1093361 · **Fields:** 2096 · **Files:** 7498 · **Folders:** 728 > Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions. diff --git a/admin/access.xml b/admin/access.xml index 69c857a56..2ebee42b6 100644 --- a/admin/access.xml +++ b/admin/access.xml @@ -521,6 +521,9 @@ + + + diff --git a/admin/assets/js/initialization_selection.js b/admin/assets/js/initialization_selection.js index e9e0e952c..fd84fb16f 100644 --- a/admin/assets/js/initialization_selection.js +++ b/admin/assets/js/initialization_selection.js @@ -166,6 +166,7 @@ class InitializationManager { const powers = [ 'Joomla.Fieldtype', 'Joomla.Power', + 'Repository', 'Power' ]; diff --git a/admin/forms/repository.xml b/admin/forms/repository.xml index 1357e0e5d..62ba898be 100644 --- a/admin/forms/repository.xml +++ b/admin/forms/repository.xml @@ -155,15 +155,17 @@ + COM_COMPONENTBUILDER_REPOSITORY_PACKAGES + COM_COMPONENTBUILDER_REPOSITORY_FIELD_TYPES + base ?? null; $path = $displayData['repo']->path ?? null; +$type = $displayData['repo']->type ?? 0; $url = "#"; if (!empty($base) && !empty($path)) { + // if the type is GitHub = 2 + if ($type == 2) + { + $base = 'https://github.com'; + } + $url = "{$base}/{$path}"; } $name = $displayData['name'] ?? 'error'; diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql index f92a879d2..51a865fb1 100644 --- a/admin/sql/install.mysql.utf8.sql +++ b/admin/sql/install.mysql.utf8.sql @@ -2824,7 +2824,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`, (3413, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Allowed Media Formats', 'NULL', '', 'dd2e1f4b-f5db-45e8-85fa-efd27bae7b6a', '\"\"', 1, '2020-09-08 00:08:13', '2024-09-15 22:56:57', 10, '', 1072, 'fd936809-37c1-4016-a4ee-a4d016343725', '', '', '', '', ''), (3414, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Allowed File Formats', 'NULL', '', 'dd2e1f4b-f5db-45e8-85fa-efd27bae7b6a', '\"\"', 1, '2020-09-08 00:09:04', '2024-09-15 22:55:34', 8, '', 1072, 'ca8f38cb-f930-4976-a76b-c1d6cd18652d', '', '', '', '', ''), (3415, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'More Details', 'NULL', 6, '7139f2c8-a70a-46a6-bbe3-4eefe54ca515', '\"\"', 1, '2020-09-08 00:26:48', '2024-09-19 22:00:03', 11, '', 1073, 'd763ecd7-8d72-418e-8010-706c0785baab', 'W1tbZmllbGRdXV0gPSBTdXBlcl9fXzlkNzZiOGRjXzM4ODNfNDc1NV9iMTFjXzEzMWQxOWNhOGE1M19fX1Bvd2VyOjpfKCdEYXRhLlN1YmZvcm0nKS0+dGFibGUoJ2RldGFpbCcpLT5nZXQoJGl0ZW0tPmd1aWQgPz8gJycgLCdlbnRpdHknLCAnbW9yZScsIFsnZ3VpZCcsJ2VtYWlsJywnbW9iaWxlX3Bob25lJywnZGF0ZW9mYmlydGgnLCd3ZWJzaXRlJywnZW50aXR5X3R5cGUnXSk7', 'U3VwZXJfX185ZDc2YjhkY18zODgzXzQ3NTVfYjExY18xMzFkMTljYThhNTNfX19Qb3dlcjo6XygnRGF0YS5TdWJmb3JtJyktPnRhYmxlKCdkZXRhaWwnKS0+c2V0KFtbW2ZpZWxkXV1dID8/IFtdLCAnZ3VpZCcsICdlbnRpdHknLCAkZGF0YVsnZ3VpZCddID8/ICcnKTs=', '', '', ''), -(3416, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Look Groups', 'NULL', '', 'e2f31181-fbb3-4c3a-859d-72b6b0cff308', '\"\"', 1, '2020-09-08 02:37:42', '2024-09-07 02:40:32', 3, '', 1074, '104f8410-a07e-4cf8-aad5-2b4db7c6864c', '', '', '', '', ''), +(3416, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Look Groups', 'NULL', '', 'e2f31181-fbb3-4c3a-859d-72b6b0cff308', '\"\"', 1, '2020-09-08 02:37:42', '2025-06-24 08:42:29', 4, '', 1074, '104f8410-a07e-4cf8-aad5-2b4db7c6864c', '', '', '', '', ''), (3417, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Note VDM File Uploader', 'NOT NULL', '', 'f9ecacd0-8481-4157-8c71-d7aaefc2b7c3', '\"\\r\\n <\\/span>\\r\\n Attach file<\\/span> by dropping them here or<\\/span>\\r\\n
\\r\\n \\r\\n selecting one<\\/span> <\\/span>\\r\\n <\\/div>\\r\\n<\\/div>\\r\\n\\r\\n