diff --git a/README.md b/README.md index 32992199a..8d609f964 100644 --- a/README.md +++ b/README.md @@ -1,189 +1,189 @@ -# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com)) - -This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) - - ![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder") - -The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. - -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.1.12) 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) - -Once installed upgrades are quick and easy via the default [Joomla](https://extensions.joomla.org/extension/component-builder/) upgrade area. - -Some of the Features -==================== - -+ Fetch Code from IDE and place it back in component during next compilation. -+ Add [Joomla custom fields](https://www.youtube.com/watch?v=n5RBmP0uNCM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=75) in any of your components. -+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end. -+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept. -+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel. -+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](https://www.joomlacomponentbuilder.com) -+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](https://www.joomlacomponentbuilder.com). -+ Adding mySQL Dump to any View/Table. -+ Grab existing Table data and build a dynamic dump. -+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components. -+ Unlimited Tables/Views. -+ Reusing Views and Fields. -+ Runs on Your Own [Joomla](https://extensions.joomla.org/extension/component-builder/) Install. -+ Add Dynamic/custom back-end views that uses Table and Chart result sets. -+ Build data query of extreme complex nature to use in Dynamic/custom views. -+ Highly Dynamic/custom Front-end Structures. -+ Dynamically setup templates and layouts for Front-end design. -+ Integration of the excellent UIKIT lib. -+ Integration of the excellent FOOTABLE lib. -+ All [Joomla](https://extensions.joomla.org/extension/component-builder/) Standard Field Types (including subforms). -+ Strong Implementation of all [Joomla](https://extensions.joomla.org/extension/component-builder/) Form Security. -+ Load data via ajax with ease. -+ You can add an Update Server to Components you build. -+ Build advanced Dynamic front-end forms. -+ Dynamic data queries from multiple tables. -+ Place in local GIT folder, and publish to sales server. -+ Include any amount of custom files and folders during build. -+ Static helper class with smart methods already included. -+ Static helper methods Can easily be added. -+ Direct install from compiler view. -+ Integrative with native [Joomla](https://extensions.joomla.org/extension/component-builder/) Categories and Tags. -+ Fully Dynamic Search Friendly URL Auto Implementation. -+ Custom scripting options all over the MVC structure. -+ Permission implementation down to each view, item and field. -+ Easy extendible to include other libraries. -+ Can include SQL and visioning update link to distribute your component updates via [Joomla](https://extensions.joomla.org/extension/component-builder/) default upgrade of components. -+ Easy Export & Import addon to all backend-tables. -+ Overriding ability of import concepts in all backend-tables. -+ The Batch and Filter implementation on all backend-list views. -+ This and much much more are all possible with this component builder! - -Just Imagine -==================== - -+ Your Component Back-end can be more advanced then the [Joomla](https://extensions.joomla.org/extension/component-builder/) Article Manager. -+ Your Code as Perfectly Unified to the strict [Joomla](https://extensions.joomla.org/extension/component-builder/) Standards. -+ Adding Custom Scripting almost anywhere in the MVC structure. -+ Import and export feature to all backend-views. -+ Batch copy and move/update feature for all backend-views. -+ History tracking per/change made on any back-end item. -+ Dynamic field control, to show and hide fields in amazing ways. -+ Front-end freedom of design that allows for any library to be used. -+ This and much much more are all possible with this component builder! - -You are in Control -==================== - -+ You can change the licensing template for your components. -+ You can change/improve existing field types and add more. -+ Line numbers to show where in compiler was the code build. -+ You can improve the component since all code are open-source. -+ Free updates for the lifetime of the project. -+ You can dynamically add internal help structures to all component. -+ There is no limitations on how big or how much you want to build (server limitation only). -+ This is a complete factory kind of component that functions like a deployment hub. -+ Export any component completely mapped in [JCB](https://www.joomlacomponentbuilder.com) and import into another [JCB](https://www.joomlacomponentbuilder.com). -+ This and much much more are all possible with this component builder! - -Get More Demo Content -==================== - -> You can now get access to the WOW factor, [JCB](https://www.joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](https://www.joomlacomponentbuilder.com) mapped components. - -### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)! - -To install these packages [watch this tutorial](https://vdm.bz/how-to-install-jcb-packages). - - -Where can you get support and help? -==================== - -+ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE) -+ [German Basic Introduction](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7) -+ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) -+ [The JCB! Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki) -+ [Forum](https://vdm.bz/jcb-forum) -+ [Report a Security Issue](https://www.joomlacomponentbuilder.com/report-security-issues) -+ [Community Complaint](https://www.joomlacomponentbuilder.com/community-complaint) -+ [Open Issue On Gitea](https://git.vdm.dev/joomla/Component-Builder/issues) ^^ - -Since [JCB](https://www.joomlacomponentbuilder.com) has [become a community](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support. - -We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components. - -^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md). - -WHY GIVE IT AWAY LIKE THIS? -==================== - -> We are Open Source Enthusiast -> Who Support the [Joomla](https://extensions.joomla.org/extension/component-builder/) Community - -Our idea was to almost let this tool serve as a cheat sheet to how things can be done... and with the help of other developers end up formulating the way how things not only can, but must be done to insure secure, stable, scalable and maintainable code is produced. - -MAKING IT BETTER! -==================== - -Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](https://www.joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](https://www.joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas. - -TODO -====== - -- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](https://www.joomlacomponentbuilder.com). -- Team collaborative development across [JCB](https://www.joomlacomponentbuilder.com) installations offline and online. -- Documentation (maintained by the community) for [JCB](https://www.joomlacomponentbuilder.com). (help us select the best system for this) - -# Build Details - -+ *Community*: [Vast Development Method](https://dev.vdm.io) -+ *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*: 13th November, 2022 -+ *Version*: 3.1.12 -+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. -+ *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **334311** -+ *Field count*: **2004** -+ *File count*: **2183** -+ *Folder count*: **381** - -> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). -> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) - +# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com)) -## Contributors -This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder). - -[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors) - -### Backers -Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)] - -[![Our Backers on opencollective](https://opencollective.com/Joomla-Component-Builder/backers.svg?width=890)](https://opencollective.com/Joomla-Component-Builder#backers) - -### Sponsors -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)] - -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/0/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/0/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/1/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/1/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/2/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/2/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/3/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/3/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/4/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/4/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/5/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/5/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/10/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/10/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/11/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/11/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/12/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/12/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/13/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/13/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/14/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/14/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/15/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/15/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/16/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/16/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/17/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/17/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/18/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/18/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/19/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/19/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/20/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/20/website) \ No newline at end of file +This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) + + ![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder") + +The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. + +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.1.12) 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) + +Once installed upgrades are quick and easy via the default [Joomla](https://extensions.joomla.org/extension/component-builder/) upgrade area. + +Some of the Features +==================== + ++ Fetch Code from IDE and place it back in component during next compilation. ++ Add [Joomla custom fields](https://www.youtube.com/watch?v=n5RBmP0uNCM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=75) in any of your components. ++ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end. ++ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept. ++ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel. ++ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](https://www.joomlacomponentbuilder.com) ++ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](https://www.joomlacomponentbuilder.com). ++ Adding mySQL Dump to any View/Table. ++ Grab existing Table data and build a dynamic dump. ++ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components. ++ Unlimited Tables/Views. ++ Reusing Views and Fields. ++ Runs on Your Own [Joomla](https://extensions.joomla.org/extension/component-builder/) Install. ++ Add Dynamic/custom back-end views that uses Table and Chart result sets. ++ Build data query of extreme complex nature to use in Dynamic/custom views. ++ Highly Dynamic/custom Front-end Structures. ++ Dynamically setup templates and layouts for Front-end design. ++ Integration of the excellent UIKIT lib. ++ Integration of the excellent FOOTABLE lib. ++ All [Joomla](https://extensions.joomla.org/extension/component-builder/) Standard Field Types (including subforms). ++ Strong Implementation of all [Joomla](https://extensions.joomla.org/extension/component-builder/) Form Security. ++ Load data via ajax with ease. ++ You can add an Update Server to Components you build. ++ Build advanced Dynamic front-end forms. ++ Dynamic data queries from multiple tables. ++ Place in local GIT folder, and publish to sales server. ++ Include any amount of custom files and folders during build. ++ Static helper class with smart methods already included. ++ Static helper methods Can easily be added. ++ Direct install from compiler view. ++ Integrative with native [Joomla](https://extensions.joomla.org/extension/component-builder/) Categories and Tags. ++ Fully Dynamic Search Friendly URL Auto Implementation. ++ Custom scripting options all over the MVC structure. ++ Permission implementation down to each view, item and field. ++ Easy extendible to include other libraries. ++ Can include SQL and visioning update link to distribute your component updates via [Joomla](https://extensions.joomla.org/extension/component-builder/) default upgrade of components. ++ Easy Export & Import addon to all backend-tables. ++ Overriding ability of import concepts in all backend-tables. ++ The Batch and Filter implementation on all backend-list views. ++ This and much much more are all possible with this component builder! + +Just Imagine +==================== + ++ Your Component Back-end can be more advanced then the [Joomla](https://extensions.joomla.org/extension/component-builder/) Article Manager. ++ Your Code as Perfectly Unified to the strict [Joomla](https://extensions.joomla.org/extension/component-builder/) Standards. ++ Adding Custom Scripting almost anywhere in the MVC structure. ++ Import and export feature to all backend-views. ++ Batch copy and move/update feature for all backend-views. ++ History tracking per/change made on any back-end item. ++ Dynamic field control, to show and hide fields in amazing ways. ++ Front-end freedom of design that allows for any library to be used. ++ This and much much more are all possible with this component builder! + +You are in Control +==================== + ++ You can change the licensing template for your components. ++ You can change/improve existing field types and add more. ++ Line numbers to show where in compiler was the code build. ++ You can improve the component since all code are open-source. ++ Free updates for the lifetime of the project. ++ You can dynamically add internal help structures to all component. ++ There is no limitations on how big or how much you want to build (server limitation only). ++ This is a complete factory kind of component that functions like a deployment hub. ++ Export any component completely mapped in [JCB](https://www.joomlacomponentbuilder.com) and import into another [JCB](https://www.joomlacomponentbuilder.com). ++ This and much much more are all possible with this component builder! + +Get More Demo Content +==================== + +> You can now get access to the WOW factor, [JCB](https://www.joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](https://www.joomlacomponentbuilder.com) mapped components. + +### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)! + +To install these packages [watch this tutorial](https://vdm.bz/how-to-install-jcb-packages). + + +Where can you get support and help? +==================== + ++ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE) ++ [German Basic Introduction](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7) ++ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) ++ [The JCB! Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki) ++ [Forum](https://vdm.bz/jcb-forum) ++ [Report a Security Issue](https://www.joomlacomponentbuilder.com/report-security-issues) ++ [Community Complaint](https://www.joomlacomponentbuilder.com/community-complaint) ++ [Open Issue On Gitea](https://git.vdm.dev/joomla/Component-Builder/issues) ^^ + +Since [JCB](https://www.joomlacomponentbuilder.com) has [become a community](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support. + +We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components. + +^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md). + +WHY GIVE IT AWAY LIKE THIS? +==================== + +> We are Open Source Enthusiast +> Who Support the [Joomla](https://extensions.joomla.org/extension/component-builder/) Community + +Our idea was to almost let this tool serve as a cheat sheet to how things can be done... and with the help of other developers end up formulating the way how things not only can, but must be done to insure secure, stable, scalable and maintainable code is produced. + +MAKING IT BETTER! +==================== + +Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](https://www.joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](https://www.joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas. + +TODO +====== + +- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](https://www.joomlacomponentbuilder.com). +- Team collaborative development across [JCB](https://www.joomlacomponentbuilder.com) installations offline and online. +- Documentation (maintained by the community) for [JCB](https://www.joomlacomponentbuilder.com). (help us select the best system for this) + +# Build Details + ++ *Community*: [Vast Development Method](https://dev.vdm.io) ++ *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*: 20th November, 2022 ++ *Version*: 3.1.12 ++ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. ++ *License*: GNU General Public License version 2 or later; see LICENSE.txt ++ *Line count*: **334395** ++ *Field count*: **2004** ++ *File count*: **2186** ++ *Folder count*: **382** + +> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). +> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + + +## Contributors +This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder). + +[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors) + +### Backers +Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)] + +[![Our Backers on opencollective](https://opencollective.com/Joomla-Component-Builder/backers.svg?width=890)](https://opencollective.com/Joomla-Component-Builder#backers) + +### Sponsors +Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)] + +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/0/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/0/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/1/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/1/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/2/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/2/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/3/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/3/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/4/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/4/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/5/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/5/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/10/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/10/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/11/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/11/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/12/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/12/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/13/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/13/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/14/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/14/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/15/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/15/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/16/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/16/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/17/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/17/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/18/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/18/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/19/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/19/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/20/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/20/website) diff --git a/admin/README.txt b/admin/README.txt index 32992199a..8d609f964 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -1,189 +1,189 @@ -# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com)) - -This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) - - ![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder") - -The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. - -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.1.12) 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) - -Once installed upgrades are quick and easy via the default [Joomla](https://extensions.joomla.org/extension/component-builder/) upgrade area. - -Some of the Features -==================== - -+ Fetch Code from IDE and place it back in component during next compilation. -+ Add [Joomla custom fields](https://www.youtube.com/watch?v=n5RBmP0uNCM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=75) in any of your components. -+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end. -+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept. -+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel. -+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](https://www.joomlacomponentbuilder.com) -+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](https://www.joomlacomponentbuilder.com). -+ Adding mySQL Dump to any View/Table. -+ Grab existing Table data and build a dynamic dump. -+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components. -+ Unlimited Tables/Views. -+ Reusing Views and Fields. -+ Runs on Your Own [Joomla](https://extensions.joomla.org/extension/component-builder/) Install. -+ Add Dynamic/custom back-end views that uses Table and Chart result sets. -+ Build data query of extreme complex nature to use in Dynamic/custom views. -+ Highly Dynamic/custom Front-end Structures. -+ Dynamically setup templates and layouts for Front-end design. -+ Integration of the excellent UIKIT lib. -+ Integration of the excellent FOOTABLE lib. -+ All [Joomla](https://extensions.joomla.org/extension/component-builder/) Standard Field Types (including subforms). -+ Strong Implementation of all [Joomla](https://extensions.joomla.org/extension/component-builder/) Form Security. -+ Load data via ajax with ease. -+ You can add an Update Server to Components you build. -+ Build advanced Dynamic front-end forms. -+ Dynamic data queries from multiple tables. -+ Place in local GIT folder, and publish to sales server. -+ Include any amount of custom files and folders during build. -+ Static helper class with smart methods already included. -+ Static helper methods Can easily be added. -+ Direct install from compiler view. -+ Integrative with native [Joomla](https://extensions.joomla.org/extension/component-builder/) Categories and Tags. -+ Fully Dynamic Search Friendly URL Auto Implementation. -+ Custom scripting options all over the MVC structure. -+ Permission implementation down to each view, item and field. -+ Easy extendible to include other libraries. -+ Can include SQL and visioning update link to distribute your component updates via [Joomla](https://extensions.joomla.org/extension/component-builder/) default upgrade of components. -+ Easy Export & Import addon to all backend-tables. -+ Overriding ability of import concepts in all backend-tables. -+ The Batch and Filter implementation on all backend-list views. -+ This and much much more are all possible with this component builder! - -Just Imagine -==================== - -+ Your Component Back-end can be more advanced then the [Joomla](https://extensions.joomla.org/extension/component-builder/) Article Manager. -+ Your Code as Perfectly Unified to the strict [Joomla](https://extensions.joomla.org/extension/component-builder/) Standards. -+ Adding Custom Scripting almost anywhere in the MVC structure. -+ Import and export feature to all backend-views. -+ Batch copy and move/update feature for all backend-views. -+ History tracking per/change made on any back-end item. -+ Dynamic field control, to show and hide fields in amazing ways. -+ Front-end freedom of design that allows for any library to be used. -+ This and much much more are all possible with this component builder! - -You are in Control -==================== - -+ You can change the licensing template for your components. -+ You can change/improve existing field types and add more. -+ Line numbers to show where in compiler was the code build. -+ You can improve the component since all code are open-source. -+ Free updates for the lifetime of the project. -+ You can dynamically add internal help structures to all component. -+ There is no limitations on how big or how much you want to build (server limitation only). -+ This is a complete factory kind of component that functions like a deployment hub. -+ Export any component completely mapped in [JCB](https://www.joomlacomponentbuilder.com) and import into another [JCB](https://www.joomlacomponentbuilder.com). -+ This and much much more are all possible with this component builder! - -Get More Demo Content -==================== - -> You can now get access to the WOW factor, [JCB](https://www.joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](https://www.joomlacomponentbuilder.com) mapped components. - -### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)! - -To install these packages [watch this tutorial](https://vdm.bz/how-to-install-jcb-packages). - - -Where can you get support and help? -==================== - -+ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE) -+ [German Basic Introduction](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7) -+ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) -+ [The JCB! Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki) -+ [Forum](https://vdm.bz/jcb-forum) -+ [Report a Security Issue](https://www.joomlacomponentbuilder.com/report-security-issues) -+ [Community Complaint](https://www.joomlacomponentbuilder.com/community-complaint) -+ [Open Issue On Gitea](https://git.vdm.dev/joomla/Component-Builder/issues) ^^ - -Since [JCB](https://www.joomlacomponentbuilder.com) has [become a community](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support. - -We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components. - -^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md). - -WHY GIVE IT AWAY LIKE THIS? -==================== - -> We are Open Source Enthusiast -> Who Support the [Joomla](https://extensions.joomla.org/extension/component-builder/) Community - -Our idea was to almost let this tool serve as a cheat sheet to how things can be done... and with the help of other developers end up formulating the way how things not only can, but must be done to insure secure, stable, scalable and maintainable code is produced. - -MAKING IT BETTER! -==================== - -Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](https://www.joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](https://www.joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas. - -TODO -====== - -- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](https://www.joomlacomponentbuilder.com). -- Team collaborative development across [JCB](https://www.joomlacomponentbuilder.com) installations offline and online. -- Documentation (maintained by the community) for [JCB](https://www.joomlacomponentbuilder.com). (help us select the best system for this) - -# Build Details - -+ *Community*: [Vast Development Method](https://dev.vdm.io) -+ *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*: 13th November, 2022 -+ *Version*: 3.1.12 -+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. -+ *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **334311** -+ *Field count*: **2004** -+ *File count*: **2183** -+ *Folder count*: **381** - -> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). -> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) - +# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com)) -## Contributors -This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder). - -[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors) - -### Backers -Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)] - -[![Our Backers on opencollective](https://opencollective.com/Joomla-Component-Builder/backers.svg?width=890)](https://opencollective.com/Joomla-Component-Builder#backers) - -### Sponsors -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)] - -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/0/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/0/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/1/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/1/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/2/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/2/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/3/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/3/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/4/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/4/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/5/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/5/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/10/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/10/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/11/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/11/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/12/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/12/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/13/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/13/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/14/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/14/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/15/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/15/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/16/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/16/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/17/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/17/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/18/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/18/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/19/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/19/website) -[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/20/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/20/website) \ No newline at end of file +This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) + + ![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder") + +The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. + +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.1.12) 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) + +Once installed upgrades are quick and easy via the default [Joomla](https://extensions.joomla.org/extension/component-builder/) upgrade area. + +Some of the Features +==================== + ++ Fetch Code from IDE and place it back in component during next compilation. ++ Add [Joomla custom fields](https://www.youtube.com/watch?v=n5RBmP0uNCM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=75) in any of your components. ++ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end. ++ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept. ++ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel. ++ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](https://www.joomlacomponentbuilder.com) ++ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](https://www.joomlacomponentbuilder.com). ++ Adding mySQL Dump to any View/Table. ++ Grab existing Table data and build a dynamic dump. ++ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components. ++ Unlimited Tables/Views. ++ Reusing Views and Fields. ++ Runs on Your Own [Joomla](https://extensions.joomla.org/extension/component-builder/) Install. ++ Add Dynamic/custom back-end views that uses Table and Chart result sets. ++ Build data query of extreme complex nature to use in Dynamic/custom views. ++ Highly Dynamic/custom Front-end Structures. ++ Dynamically setup templates and layouts for Front-end design. ++ Integration of the excellent UIKIT lib. ++ Integration of the excellent FOOTABLE lib. ++ All [Joomla](https://extensions.joomla.org/extension/component-builder/) Standard Field Types (including subforms). ++ Strong Implementation of all [Joomla](https://extensions.joomla.org/extension/component-builder/) Form Security. ++ Load data via ajax with ease. ++ You can add an Update Server to Components you build. ++ Build advanced Dynamic front-end forms. ++ Dynamic data queries from multiple tables. ++ Place in local GIT folder, and publish to sales server. ++ Include any amount of custom files and folders during build. ++ Static helper class with smart methods already included. ++ Static helper methods Can easily be added. ++ Direct install from compiler view. ++ Integrative with native [Joomla](https://extensions.joomla.org/extension/component-builder/) Categories and Tags. ++ Fully Dynamic Search Friendly URL Auto Implementation. ++ Custom scripting options all over the MVC structure. ++ Permission implementation down to each view, item and field. ++ Easy extendible to include other libraries. ++ Can include SQL and visioning update link to distribute your component updates via [Joomla](https://extensions.joomla.org/extension/component-builder/) default upgrade of components. ++ Easy Export & Import addon to all backend-tables. ++ Overriding ability of import concepts in all backend-tables. ++ The Batch and Filter implementation on all backend-list views. ++ This and much much more are all possible with this component builder! + +Just Imagine +==================== + ++ Your Component Back-end can be more advanced then the [Joomla](https://extensions.joomla.org/extension/component-builder/) Article Manager. ++ Your Code as Perfectly Unified to the strict [Joomla](https://extensions.joomla.org/extension/component-builder/) Standards. ++ Adding Custom Scripting almost anywhere in the MVC structure. ++ Import and export feature to all backend-views. ++ Batch copy and move/update feature for all backend-views. ++ History tracking per/change made on any back-end item. ++ Dynamic field control, to show and hide fields in amazing ways. ++ Front-end freedom of design that allows for any library to be used. ++ This and much much more are all possible with this component builder! + +You are in Control +==================== + ++ You can change the licensing template for your components. ++ You can change/improve existing field types and add more. ++ Line numbers to show where in compiler was the code build. ++ You can improve the component since all code are open-source. ++ Free updates for the lifetime of the project. ++ You can dynamically add internal help structures to all component. ++ There is no limitations on how big or how much you want to build (server limitation only). ++ This is a complete factory kind of component that functions like a deployment hub. ++ Export any component completely mapped in [JCB](https://www.joomlacomponentbuilder.com) and import into another [JCB](https://www.joomlacomponentbuilder.com). ++ This and much much more are all possible with this component builder! + +Get More Demo Content +==================== + +> You can now get access to the WOW factor, [JCB](https://www.joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](https://www.joomlacomponentbuilder.com) mapped components. + +### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)! + +To install these packages [watch this tutorial](https://vdm.bz/how-to-install-jcb-packages). + + +Where can you get support and help? +==================== + ++ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE) ++ [German Basic Introduction](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7) ++ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) ++ [The JCB! Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki) ++ [Forum](https://vdm.bz/jcb-forum) ++ [Report a Security Issue](https://www.joomlacomponentbuilder.com/report-security-issues) ++ [Community Complaint](https://www.joomlacomponentbuilder.com/community-complaint) ++ [Open Issue On Gitea](https://git.vdm.dev/joomla/Component-Builder/issues) ^^ + +Since [JCB](https://www.joomlacomponentbuilder.com) has [become a community](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support. + +We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components. + +^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md). + +WHY GIVE IT AWAY LIKE THIS? +==================== + +> We are Open Source Enthusiast +> Who Support the [Joomla](https://extensions.joomla.org/extension/component-builder/) Community + +Our idea was to almost let this tool serve as a cheat sheet to how things can be done... and with the help of other developers end up formulating the way how things not only can, but must be done to insure secure, stable, scalable and maintainable code is produced. + +MAKING IT BETTER! +==================== + +Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](https://www.joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](https://www.joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas. + +TODO +====== + +- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](https://www.joomlacomponentbuilder.com). +- Team collaborative development across [JCB](https://www.joomlacomponentbuilder.com) installations offline and online. +- Documentation (maintained by the community) for [JCB](https://www.joomlacomponentbuilder.com). (help us select the best system for this) + +# Build Details + ++ *Community*: [Vast Development Method](https://dev.vdm.io) ++ *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*: 20th November, 2022 ++ *Version*: 3.1.12 ++ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. ++ *License*: GNU General Public License version 2 or later; see LICENSE.txt ++ *Line count*: **334395** ++ *Field count*: **2004** ++ *File count*: **2186** ++ *Folder count*: **382** + +> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). +> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + + +## Contributors +This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder). + +[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors) + +### Backers +Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)] + +[![Our Backers on opencollective](https://opencollective.com/Joomla-Component-Builder/backers.svg?width=890)](https://opencollective.com/Joomla-Component-Builder#backers) + +### Sponsors +Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)] + +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/0/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/0/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/1/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/1/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/2/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/2/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/3/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/3/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/4/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/4/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/5/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/5/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/10/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/10/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/11/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/11/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/12/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/12/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/13/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/13/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/14/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/14/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/15/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/15/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/16/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/16/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/17/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/17/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/18/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/18/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/19/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/19/website) +[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/20/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/20/website) diff --git a/admin/assets/js/search.js b/admin/assets/js/search.js index e22ca075c..2ee64d300 100644 --- a/admin/assets/js/search.js +++ b/admin/assets/js/search.js @@ -613,6 +613,10 @@ const buttonUpdateAllStyleDisplay = async (value) => { * JS Function to execute (A) on search/replace text change , (B) on search options changes */ const startSearch = (field, forced = false) => { + // check if we have an Enter click + if (field && typeof field.code !== 'undefined' && field.code === "Enter") { + forced = true; + } // get replace value if set const replaceValue = replaceObject.value; if (replaceValue.length > 0) { diff --git a/admin/views/search/tmpl/default.php b/admin/views/search/tmpl/default.php index 7fde608d7..71a747461 100644 --- a/admin/views/search/tmpl/default.php +++ b/admin/views/search/tmpl/default.php @@ -329,8 +329,8 @@ document.addEventListener('DOMContentLoaded', function () { tableLengthObject = document.getElementById("search_results_table_length"); showSearch(); -urlvalues['search_value']) > 2): ?> - startSearch(); +urlvalues['search_value']) > 0): ?> + startSearch(null, true); }); diff --git a/componentbuilder.xml b/componentbuilder.xml index e71978109..890501578 100644 --- a/componentbuilder.xml +++ b/componentbuilder.xml @@ -1,7 +1,7 @@ COM_COMPONENTBUILDER - 13th November, 2022 + 20th November, 2022 Llewellyn van der Merwe joomla@vdm.io https://dev.vdm.io @@ -11,8 +11,8 @@ Component Builder (v.3.1.12)
-

The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. - +

The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. + 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!

Created by Llewellyn van der Merwe
Development started 30th April, 2015

]]>
@@ -124,4 +124,4 @@ Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/compo https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/componentbuilder_update_server.xml -
\ No newline at end of file + diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Abstraction/BaseRegistry.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Abstraction/BaseRegistry.php index 105b818a0..97eb954ba 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Abstraction/BaseRegistry.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Abstraction/BaseRegistry.php @@ -29,11 +29,11 @@ abstract class BaseRegistry extends JoomlaRegistry implements \JsonSerializable, * * @param string $path Registry path (e.g. joomla.content.showauthor) * - * @return \ArrayIterator This object represented as an ArrayIterator. + * @return \ArrayIterator|null This object represented as an ArrayIterator. * * @since 3.4.0 */ - public function _($path) + public function _(string $path): ?\ArrayIterator { $data = $this->extract($path); diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Factory.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Factory.php index 135c4b9d4..eb7a0ceff 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Factory.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Factory.php @@ -23,6 +23,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Service\Power; use VDM\Joomla\Componentbuilder\Compiler\Service\Component; use VDM\Joomla\Componentbuilder\Compiler\Service\Extension; use VDM\Joomla\Componentbuilder\Compiler\Service\Field; +use VDM\Joomla\Componentbuilder\Interfaces\Factoryinterface; /** @@ -30,7 +31,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Service\Field; * * @since 3.2.0 */ -abstract class Factory +abstract class Factory implements Factoryinterface { /** * Global Compiler Container diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/Factoryinterface.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/Factoryinterface.php new file mode 100644 index 000000000..ae9bc0ab1 --- /dev/null +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/Factoryinterface.php @@ -0,0 +1,42 @@ + + * @git Joomla Component Builder + * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved. + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +namespace VDM\Joomla\Componentbuilder\Interfaces; + + +use Joomla\DI\Container; + + +/** + * The Basic Factory Interface + */ +interface Factoryinterface +{ + /** + * Get any class from the compiler container + * + * @param string $key The container class key + * + * @return Mixed + * @since 3.2.0 + */ + public static function _(string $key); + + /** + * Get a the global compiler container + * + * @return Container + * @since 3.2.0 + */ + public static function getContainer(): Container; + +} + diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/Tableinterface.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/Tableinterface.php new file mode 100644 index 000000000..8acb8b163 --- /dev/null +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/Tableinterface.php @@ -0,0 +1,89 @@ + + * @git Joomla Component Builder + * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved. + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +namespace VDM\Joomla\Componentbuilder\Interfaces; + + +/** + * The Table Interface + */ +interface Tableinterface +{ + /** + * Get any value from a item/field/column of an area/view/table + * Example: $this->get('table_name', 'field_name', 'value_key'); + * Get an item/field/column of an area/view/table + * Example: $this->get('table_name', 'field_name'); + * Get all items/fields/columns of an area/view/table + * Example: $this->get('table_name'); + * Get all areas/views/tables with all their item/field/column details + * Example: $this->get(); + * + * @param string $table The table + * @param string|null $field The field + * @param string|null $key The value key + * + * @return mixed + * @since 3.2.0 + */ + public function get(string $table, ?string $field = null, ?string $key = null); + + /** + * Get title field from an area/view/table + * + * @param string|null $table The area + * + * @return ?array + * @since 3.2.0 + */ + public function title(string $table): ?array; + + /** + * Get title field name + * + * @param string|null $table The area + * + * @return string + * @since 3.2.0 + */ + public function titleName(string $table): string; + + /** + * Get all tables + * + * @return array + * @since 3.2.0 + */ + public function tables(): array; + + /** + * Check if a table (and field) exist + * + * @param string|null $table The area + * @param string|null $field The area + * + * @return bool + * @since 3.2.0 + */ + public function exist(string $table, ?string $field = null): bool; + + /** + * Get all fields of an area/view/table + * + * @param string|null $table The area + * + * @return ?array + * @since 3.2.0 + */ + public function fields(string $table): ?array; + +} + diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/index.html b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/index.html new file mode 100644 index 000000000..fa6d84e80 --- /dev/null +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Interfaces/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Abstraction/Model.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Abstraction/Model.php index 1b6cfebb2..59a789516 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Abstraction/Model.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Abstraction/Model.php @@ -16,7 +16,7 @@ use VDM\Joomla\Utilities\StringHelper; use VDM\Joomla\Utilities\ArrayHelper; use VDM\Joomla\Componentbuilder\Search\Factory; use VDM\Joomla\Componentbuilder\Search\Config; -use VDM\Joomla\Componentbuilder\Search\Table; +use VDM\Joomla\Componentbuilder\Table; /** diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Agent.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Agent.php index 8932b02e0..6eebb94e3 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Agent.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Agent.php @@ -21,7 +21,7 @@ use VDM\Joomla\Componentbuilder\Search\Agent\Find; use VDM\Joomla\Componentbuilder\Search\Agent\Replace; use VDM\Joomla\Componentbuilder\Search\Agent\Search; use VDM\Joomla\Componentbuilder\Search\Agent\Update; -use VDM\Joomla\Componentbuilder\Search\Table; +use VDM\Joomla\Componentbuilder\Table; /** diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Get.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Get.php index ac0b71bcc..02686ac43 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Get.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Get.php @@ -15,7 +15,7 @@ namespace VDM\Joomla\Componentbuilder\Search\Database; use Joomla\CMS\Factory as JoomlaFactory; use VDM\Joomla\Componentbuilder\Search\Factory; use VDM\Joomla\Componentbuilder\Search\Config; -use VDM\Joomla\Componentbuilder\Search\Table; +use VDM\Joomla\Componentbuilder\Table; use VDM\Joomla\Componentbuilder\Search\Model\Get as Model; use VDM\Joomla\Componentbuilder\Search\Interfaces\GetInterface; diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Set.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Set.php index 4da678870..326a6f36f 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Set.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Database/Set.php @@ -15,7 +15,7 @@ namespace VDM\Joomla\Componentbuilder\Search\Database; use Joomla\CMS\Factory as JoomlaFactory; use VDM\Joomla\Componentbuilder\Search\Factory; use VDM\Joomla\Componentbuilder\Search\Config; -use VDM\Joomla\Componentbuilder\Search\Table; +use VDM\Joomla\Componentbuilder\Table; use VDM\Joomla\Componentbuilder\Search\Model\Set as Model; use VDM\Joomla\Utilities\ArrayHelper; use VDM\Joomla\Componentbuilder\Search\Interfaces\SetInterface; diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Factory.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Factory.php index 54c2e9e18..c4bad5d4f 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Factory.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Factory.php @@ -17,6 +17,7 @@ use VDM\Joomla\Componentbuilder\Search\Service\Search; use VDM\Joomla\Componentbuilder\Search\Service\Model; use VDM\Joomla\Componentbuilder\Search\Service\Database; use VDM\Joomla\Componentbuilder\Search\Service\Agent; +use VDM\Joomla\Componentbuilder\Interfaces\Factoryinterface; /** @@ -24,7 +25,7 @@ use VDM\Joomla\Componentbuilder\Search\Service\Agent; * * @since 3.2.0 */ -abstract class Factory +abstract class Factory implements Factoryinterface { /** * Global Compiler Container @@ -42,7 +43,7 @@ abstract class Factory * @return Mixed * @since 3.2.0 */ - public static function _($key) + public static function _(string $key) { return self::getContainer()->get($key); } diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Service/Search.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Service/Search.php index 0ad634810..2ba396339 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Service/Search.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Service/Search.php @@ -15,7 +15,7 @@ namespace VDM\Joomla\Componentbuilder\Search\Service; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use VDM\Joomla\Componentbuilder\Search\Config; -use VDM\Joomla\Componentbuilder\Search\Table; +use VDM\Joomla\Componentbuilder\Table; use VDM\Joomla\Componentbuilder\Search\Interfaces\SearchTypeInterface as SearchEngine; use VDM\Joomla\Componentbuilder\Search\Engine\Regex; use VDM\Joomla\Componentbuilder\Search\Engine\Basic; @@ -85,9 +85,7 @@ class Search implements ServiceProviderInterface */ public function getTable(Container $container): Table { - return new Table( - $container->get('Config') - ); + return new Table(); } /** diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Table.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Table.php similarity index 97% rename from libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Table.php rename to libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Table.php index f30bb7c26..a5b45b2ca 100644 --- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Search/Table.php +++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Table.php @@ -9,22 +9,21 @@ * @license GNU General Public License version 2 or later; see LICENSE.txt */ -namespace VDM\Joomla\Componentbuilder\Search; +namespace VDM\Joomla\Componentbuilder; -use VDM\Joomla\Componentbuilder\Search\Factory; -use VDM\Joomla\Componentbuilder\Search\Config; +use VDM\Joomla\Componentbuilder\Interfaces\Tableinterface; /** - * Search Table + * JCB Tables * * @since 3.2.0 */ -class Table +class Table implements Tableinterface { /** - * All areas/views/tables with their field details to SEARCH + * All areas/views/tables with their field details * * @var array * @since 3.2.0 @@ -2832,26 +2831,6 @@ class Table ], ]; - /** - * Search Config - * - * @var Config - * @since 3.2.0 - */ - protected Config $config; - - /** - * Constructor - * - * @param Config|null $config The search config object. - * - * @since 3.2.0 - */ - public function __construct(?Config $config = null) - { - $this->config = $config ?: Factory::_('Config'); - } - /** * Get any value from a item/field/column of an area/view/table * Example: $this->get('table_name', 'field_name', 'value_key'); @@ -2860,23 +2839,17 @@ class Table * Get all items/fields/columns of an area/view/table * Example: $this->get('table_name'); * Get all areas/views/tables with all their item/field/column details - * Example: $this->get(); + * Example: $this->get('All'); * - * @param string|null $table The table + * @param string $table The table * @param string|null $field The field * @param string|null $key The value key * * @return mixed * @since 3.2.0 */ - public function get(?string $table = null, ?string $field = null, ?string $key = null) + public function get(string $table, ?string $field = null, ?string $key = null) { - // load the table - if (empty($table) && is_string($field)) - { - $table = $this->config->table_name; - } - // return the item/field/column of an area/view/table if (is_string($field) && is_string($key)) { @@ -2897,7 +2870,7 @@ class Table return null; } // return an area/view/table - elseif (is_string($table)) + elseif ($table !== 'All') { if (isset($this->tables[$table])) { @@ -2913,19 +2886,13 @@ class Table /** * Get title field from an area/view/table * - * @param string|null $table The area + * @param string $table The area * * @return ?array * @since 3.2.0 */ - public function title(?string $table = null): ?array + public function title(string $table): ?array { - // load the table - if (empty($table)) - { - $table = $this->config->table_name; - } - // return the title item/field/column of an area/view/table if (($table = $this->get($table)) !== null) { @@ -2945,20 +2912,14 @@ class Table /** * Get title field name * - * @param string|null $table The area + * @param string $table The area * * @return string * @since 3.2.0 */ - public function titleName(?string $table = null): string + public function titleName(string $table): string { - // load the table - if (empty($table)) - { - $table = $this->config->table_name; - } - - // return the title name of an area/view/table + // return the title name of an area/view/table if (($field = $this->title($table)) !== null) { return $field['name']; @@ -2983,21 +2944,15 @@ class Table /** * Check if a table (and field) exist * - * @param string|null $table The area + * @param string $table The area * @param string|null $field The area * * @return bool * @since 3.2.0 */ - public function exist(?string $table = null, ?string $field = null): bool + public function exist(string $table, ?string $field = null): bool { - // load the table - if (empty($table)) - { - $table = $this->config->table_name; - } - - if (is_string($table) && isset($this->tables[$table])) + if (isset($this->tables[$table])) { // if we have a field if (is_string($field)) @@ -3019,19 +2974,13 @@ class Table /** * Get all fields of an area/view/table * - * @param string|null $table The area + * @param string $table The area * * @return ?array * @since 3.2.0 */ - public function fields(?string $table = null): ?array + public function fields(string $table): ?array { - // load the table - if (empty($table)) - { - $table = $this->config->table_name; - } - // return all fields of an area/view/table if (($table = $this->get($table)) !== null) {