Compare commits

..

76 Commits

Author SHA1 Message Date
c0aeb798db Release of v5.1.2-alpha3
Migrates view HTML classes to use getModel() directly instead of the deprecated magic get() calls to model methods. Refactores event handling (contentPrepare, titlePrepare, contentBeforeDisplay, contentAfterDisplay) to use Joomla 5’s native event dispatcher via the model’s new getDispatcher() method. Updates table classes to properly support NULL values, both in the store() method and in table variable definitions. #1245. Extractes the setAutoCheckIn() and setCheckInCall() logic into a dedicated CheckInNow class for cleaner design. Replace all direct $app->input property calls with the recommended $app->getInput() method across the entire codebase.
2025-09-03 20:34:41 +00:00
129cdfe8da Release of v5.1.2-alpha2
Add native module builder for Joomla 4/5. Refactor dynamic get methods into dedicated classes. Move Joomla DB handling into compiler injector flow. Fix auto-check(in) method for Joomla 4/5 compatibility.
2025-09-02 13:01:13 +00:00
45453f7330 Release of v5.1.2-alpha1
Fix the template and layout linker for packages.
2025-07-15 08:05:13 +00:00
e097540a7d Release of v5.1.1
Move all banners to GitHub. Adds library phpspreadsheet to JCB. Adds import item example to demo component. Updates the Superpower class with the GetRemote class in the plugin. Ensures the super power autoloader triggers the correct repositories. Adds the ModalSelect fieldtype to Joomla Component Builder - J5. Adds the Data Import Function to the Demo Component. Adds new country related tables and fields to the Demo Component. Resolves the Database Updating issue in the compiler. #1212,#1209. Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets. Add edit and create options to the ModalSelect Field (in Joomla 5). Add all needed Powers to the release package, to speed-up the build of the demo component. Refactor initialization flow to accommodate future scalability and integration with all designated areas. 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. 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. Completely refactors the SQL tweaks and SQL dump classes. Fix bug in the filter of Languages by linked entities. #1230. Adds option to export Language Translations.
2025-07-03 23:03:13 +00:00
087e3a7c19 Release of v5.1.1-rc1
Move all banners to GitHub. Adds library phpspreadsheet to JCB. Adds import item example to demo component. Updates the Superpower class with the GetRemote class in the plugin. Ensures the super power autoloader triggers the correct repositories. Adds the ModalSelect fieldtype to Joomla Component Builder - J5. Adds the Data Import Function to the Demo Component. Adds new country related tables and fields to the Demo Component. Resolves the Database Updating issue in the compiler. #1212,#1209. Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets. Add edit and create options to the ModalSelect Field (in Joomla 5). Add all needed Powers to the release package, to speed-up the build of the demo component. Refactor initialization flow to accommodate future scalability and integration with all designated areas. 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. 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. Completely refactors the SQL tweaks and SQL dump classes. Fix bug in the filter of Languages by linked entities. #1230.
2025-07-02 19:03:37 +00:00
1702bd1f0c Release of v5.1.1-beta6
Fix bug in the filter of Languages by linked entities. #1230.
2025-07-01 15:21:42 +00:00
cf681b2b16 Release of v5.1.1-beta5
Completely refactors the SQL tweaks and SQL dump classes.
2025-06-25 20:14:59 +00:00
af4b12a82b Release of v5.1.1-beta4
Fix the FieldXML interface mismatch. #1228. Adds Initialize, Reset, and Push functionality to the Repository entities.
2025-06-25 10:16:52 +00:00
dbebb5663c Release of v5.1.1-beta3
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.
2025-06-23 17:02:17 +00:00
3c1057a830 Release of v5.1.1-beta2
Enhance operator support in dynamic get system. Relates to issue #1226.
2025-06-19 15:47:12 +00:00
70718936b4 Release of v5.1.1-beta1
Add JCB new package engine.
2025-06-18 19:49:35 +00:00
3b502eb09b Release of v5.1.1-alpha5
Refactor initialization flow to accommodate future scalability and integration with all designated areas. Refactor the Creator Builders class. Refactor the FieldString and FieldXML classes.
2025-05-13 13:39:32 +00:00
0b7e68d14e Release of v5.1.1-alpha4
Add all needed Powers to the release package, to speed-up the build of the demo component.
2025-03-30 21:42:51 +00:00
b9f38943aa Release of v5.1.1-alpha3
Add edit and create options to the ModalSelect Field (in Joomla 5).
2025-03-30 19:52:28 +00:00
8342c5bb9f Release of v5.1.1-alpha2
Adds the ModalSelect fieldtype to Joomla Component Builder - J5. Adds the Data Import Function to the Demo Component. Adds new country related tables and fields to the Demo Component. Resolves the Database Updating issue in the compiler. #1212,#1209. Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets.
2025-03-28 13:15:25 +00:00
06185f8c3a Release of v5.1.1-alpha1
Move all banners to GitHub. Adds library phpspreadsheet to JCB. Adds import item example to demo component. Updates the Superpower class with the GetRemote class in the plugin. Ensures the super power autoloader triggers the correct repositories.
2025-03-04 21:50:18 +00:00
442263e387 Release of v5.1.0
Add [AllowDynamicProperties] in the base view class for J5. Move the _prepareDocument  above the display call in the base view class. Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run. Added new import powers for custom import of spreadsheets. Move the setDocument and _prepareDocument above the display in the site view and custom admin view. Update the trashhelper layout to work in Joomla 5. Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues. Fix Save failed issue in dynamicGet. #1148. Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]. Add the DateHelper class and improve the date methods. Add simple SessionHelper class. Add first classes for the new import engine. Improve the [VDM Registry] to be Joomla Registry Compatible. Move all registries to the [VDM Registry] class. Fix Checked Out to be null and not 0. (#1194). Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194). Update all core date fields in table class. (#1188). Update created_by, modified_by, checked_out fields in table class. Implementation of the decentralized Super-Power CORE repository network. (#1190). Fix the noticeboard to display Llewellyn's Joomla Social feed. Started compiling JCB5 on Joomla 5 with PHP 8.2. Add init_defaults option for dynamic form selection setup (to int new items with default values dynamically). Update all JCB 5 tables to utf8mb4_unicode_ci collation if misaligned. Move all internal ID linking to GUID inside of JCB 5. Updated the admin-tab-fields in add-fields view. #1205. Remove Custom Import Tab from admin view. Improved the customcode and placeholder search features.
2025-02-14 22:55:55 +02:00
82922eca5a Release of v5.0.3
Add [push] option to powers area. Fix error in [Save As Copy] functionality for the library. #1162. Fix error when no components exist. #1164. Fix search page error caused by File class. Fix UserGroupList compiler triggers. #1100. Add power integration field type with [init, reset, push] options. Fix default database fields to allow NULL values. #1169. Fix power list field to support search functionality. #1167. Expand Demo component in JCB v4 to include advanced features. Fix missing working path in zip creation. Fix dynamic retrieval for the demo site view. Fix demo site view to display files. Fix field type initialization message. Fix type-agnostic comparisons by casting to CHAR in dynamic get joins. Fix dynamic download for site area to use correct namespace. Fix missing edit button on fields in related views. Fix dashboard display issues. Restore search option in the [use] field for related views. Fix namespace issue causing linker to break.
2024-09-20 03:27:22 +02:00
9256633b37 Release of v5.0.3-beta3
Fix the missing edit button on fields in the related views. Fix the dashboard display. Place the search option back in the use field of the related views. Fix the namespace issue that broken the linker.
2024-09-20 03:01:45 +02:00
8ebeb56d3e Release of v5.0.3-beta2
Fix the demo site view to also display files. Fix the message of field type init. Fix to ensure type-agnostic comparisons by casting to CHAR in joins in dynamic get. Fix dynamic download for site area to have correct namespace.
2024-09-19 05:50:09 +02:00
f71c689d46 Release of v5.0.3-beta1
Fix zip missing working path. Fix demo site view dynamic get.
2024-09-18 23:21:16 +02:00
0603c39cc1 Release of v5.0.3-alpha4
Fix database default fields to allow NULL. #1169. Fix the power list field to allow search. #1167. Expanded the Demo component in JCB v4 to include more advance features.
2024-09-18 04:40:33 +02:00
fc8fabe298 Release of v5.0.3-alpha3
Fix usergrouplist compiler triggers. #1100. Add field type power integration [init, reset, push].
2024-08-23 20:00:42 +02:00
045e6df2e2 Release of v5.0.3-alpha2
Fix library save as copy error. #1162. Fix the error when no components exists. #1164. Fix search page error due to File class.
2024-08-21 21:37:52 +02:00
29fef2cbea Release of v5.0.3-alpha1
Add push option to powers area.
2024-08-20 22:34:47 +02:00
2fab51f611 Release of v5.0.2
Fix site view form missing classes in J4+. Fix permissions tab in items in J4+. Fix site display controller checkEditId function in J4+. Add class methods to the HtmlView classes in J4+. Fix broken toolbar call in HtmlView in J4+. Fix missing scripts and styles fields and methods in the site admin view model. Update subform field layout across JCB for cleaner look. Remove expansion feature. Fix helper area. Fix database mySql update in J4+. Remove phpspreadsheet completely from Joomla 4+. Add option to use powers in preflight event in the installer class. Fix abstract schema class function check default index warring. Fix dynamicGet so that the table values will load again. #1155. Add more pure JS to the dynamic get area. Add native plugin builder for Joomla 4 & 5. Add basic API for admin views.
2024-08-16 19:22:12 +02:00
22aa94ad9c Release of v5.0.2-beta4
Add native plugin builder for Joomla 4 & 5.
2024-08-15 01:35:23 +02:00
6d24fcfd2b Release of v5.0.2-beta3
Add more pure JS to the dynamic get area.
2024-08-01 23:01:42 +02:00
04ebefe98d Release of v5.0.2-beta2
Fix dynamicGet so that the table values will load again. #1155.
2024-08-01 18:08:40 +02:00
6a96c3b2c1 Release of v5.0.2-beta1
Fix abstract schema class function check default index warring.
2024-08-01 10:06:30 +02:00
c8b65b3b0b Release of v5.0.2-alpha3
Fix database mySql update in J4+. Remove phpspreadsheet completely from Joomla 4+. Add option to use powers in preflight event in the installer class.
2024-07-27 22:55:29 +02:00
0cbe573fe0 Release of v5.0.2-alpha2
Fix missing scripts and styles fields and methods in the site admin view model. Update subform field layout across JCB for cleaner look. Remove expansion feature. Fix helper area.
2024-07-26 18:34:11 +02:00
9f05fb090f Release of v5.0.2-alpha1
Fix site view form missing classes in J4+. Fix permissions tab in items in J4+. Fix site display controller checkEditId function in J4+. Add class methods to the HtmlView classes in J4+. Fix broken toolbar call in HtmlView in J4+.
2024-07-26 15:35:23 +02:00
e4d8b043c2 Release of v5.0.1
Fix auto build from SQL in Joomla 5. Fix permission issue for admin views. Add in JCB gitea push feature to help maintain JCB core features. Add extending options to interfaces. Change the extendsinterfaces field to allow null, #1139. Update the Schema class to also update null mismatching if needed. Add repositories for better integration with gitea. Refactored the Data classes. Add new Data classes. Add new subform classes. Fix registry class methods return type. Update all list and custom fields to use the new layouts. Add push options to Joomla Power. Complete the Joomla Power Init and Reset features. Fix Gitea Contents class functions. Fix subform set methods. Improved the Joomla Power Push path. Fix the metadata, metadesc, metakey database issue. Fix function mismatch call in the compiler power class. Fix init feature to only add missing powers. Fix controller postSaveHook function, for correct model class in Joomla 4 and 5. Fix app instances (mismatch) in the install script and schema class when installing from CLI. Add option to use placeholders in Joomla Power namespaces. Fix subform layout of uikit in JCB.
2024-07-20 22:40:37 +02:00
c6a6e8266a Release of v5.0.1-rc1
Final testing for stable release!.
2024-07-19 17:28:07 +02:00
25b59990b3 Release of v5.0.1-beta5
Add option to use placeholders in Joomla Power namespaces.
2024-07-19 12:35:14 +02:00
9db186ef73 Update on v5.0.1-beta4 (changes towards the next release)
Here's an update on the current version, which includes changes towards the next release still in development.
2024-07-18 21:12:31 +02:00
b9860f7718 Release of v5.0.1-beta4
Fix app instances (mismatch) in the install script and schema class when installing from CLI.
2024-07-18 20:47:33 +02:00
dbe4c858fd Release of v5.0.1-beta3
Fix init feature to only add missing powers. Fix controller postSaveHook function, for correct model class in Joomla 4 and 5.
2024-07-18 17:10:48 +02:00
9284115e8d Update on v5.0.1-beta2 (changes towards the next release)
Here's an update on the current version, which includes changes towards the next release still in development.
2024-07-18 14:57:59 +02:00
92a14a44f5 Release of v5.0.1-beta2
Fix function mismatch call in the compiler power class.
2024-07-17 16:02:47 +02:00
a4a4a2ab9a Release of v5.0.1-beta1
Fix subform set methods. Improved the Joomla Power Push path. Fix the metadata, metadesc, metakey database issue.
2024-07-17 02:30:54 +02:00
18545c5b8d Release of v5.0.1-alpha7
Add push options to Joomla Power. Complete the Joomla Power Init and Reset features. Fix Gitea Contents class functions. Last Alpha release (feature block).
2024-07-08 22:55:12 +02:00
0cbf3c0e71 Release of v5.0.1-alpha6
Add new subform classes. Fix registry class methods return type. Update all list and custom fields to use the new layouts.
2024-06-28 03:50:52 +02:00
c51ef999a9 Release of v5.0.1-alpha5
Add repositories for better integration with gitea. Refactored the Data classes. Add new Data classes.
2024-06-21 03:25:28 +02:00
fc6b04cb5c Release of v5.0.1-alpha4
Change the extendsinterfaces field to allow null, #1139. Update the Schema class to also update null mismatching if needed.
2024-06-07 23:21:05 +02:00
0c9a098335 Release of v5.0.1-alpha3
Add in JCB gitea push feature to help maintain JCB core features. Add extending options to interfaces.
2024-06-05 17:08:34 +02:00
aba1267f8e Release of v5.0.1-alpha2
Fix permission issue for admin views.
2024-05-16 16:07:17 +02:00
54d94753b4 Release of v5.0.1-alpha1
Fix auto build from SQL in Joomla 5.
2024-05-13 12:21:17 +02:00
b3199d2abb Release of v5.0.0
Fix the plug-in installer script builder bug #1067. Fix Event triggers for Joomla 4 and 5 builds. Add fix to the update script, so that upgrading JCB from Joomla 4 to 5 will not fail. Fix plugin field selection. Fix plugin params tab layout. Add issue templates. Force autoloader to always load. Fix repeatable layout #1076. Add Factory class to the J5 Event class. #1093. Fix customfilelist field to conform to the new namespacing conventions. #1094. Add menus for languages, servers, get snippets to J5 #1095. Fix [Set String Value] in placeholder table to store the value as a base64 string. Fix the search area layout. Fix the search area code line selection. Fix the input edit button for custom fields. Add the new layout to list fields (GUI UPDATE). Start fixing the field view in Joomla 5. #1096. Add power path override option on component level. Fix the sql build feature. #1032. Add the compiler menu back. Fix the CustomfolderlistField #1094. Add view list and single name fix. Add component code name fix. Add reset list of powers. Add Joomla powers for namespace dynamic management. Add fallback option to ensure that all JCB tables and fields exist. Move the powers autoloader to its own file. Fix the media field size limitation. #1109. Add dynamic datatype update to schema field check. Fix version_update column size. Improved the Schema Table update engine. Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion. Fix the admin.css file loading on dashboard. #1112. Fix dynamic get data-type default to 0. #1110. Fix the missing model call. #1114. Fix the wrong $date call. #1115. Add the BaseDatabaseModel use statement to custom site view controller. #1119. Fix the customfolderlist field. #1120.
2024-05-10 18:39:24 +02:00
b37c57611f Release of v5.0.0-rc6
Fix the customfolderlist field. #1120.
2024-05-06 07:48:49 +02:00
827641a3d4 Release of v5.0.0-rc5
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion. Fix the admin.css file loading on dashboard. #1112. Fix dynamic get data-type default to 0. #1110. Fix the missing model call. #1114. Fix the wrong $date call. #1115. Add the BaseDatabaseModel use statement to custom site view controller. #1119.
2024-05-03 07:47:48 +02:00
a24b5a0757 Release of v5.0.0-rc3
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion. Fix the admin.css file loading on dashboard. #1112. Fix dynamic get data-type default to 0. #1110.
2024-04-30 19:21:28 +02:00
8ab5f2daf4 Release of v5.0.0-rc2
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion.
2024-04-30 12:29:37 +02:00
2a9a66b8a7 Release of v5.0.0-rc1
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses.
2024-04-27 16:00:36 +02:00
59af18e13a Release of v5.0.0-beta5
Fix the media field size limitation. #1109. Add dynamic datatype update to schema field check. Fix version_update column size. Improved the Schema Table update engine.
2024-04-24 21:38:12 +02:00
0193ab735c Release of v5.0.0-beta4
Add fallback option to ensure that all JCB tables and fields exist. Move the powers autoloader to its own file.
2024-04-22 01:15:03 +02:00
00f14c3bba Release of v5.0.0-beta3
Add Joomla powers for namespace dynamic management.
2024-04-16 20:26:48 +02:00
25b751a935 Takes away a unnecessary question from the issue_template's a-bug.yml. 2024-04-09 19:21:50 +02:00
b2c9daa455 Release of v5.0.0-beta2
Add view list and single name fix. Add component code name fix. Add reset list of powers.
2024-04-09 13:54:59 +02:00
b988010b79 Release of v5.0.0-beta1
Add the compiler menu back. Fix the CustomfolderlistField #1094.
2024-04-07 12:01:31 +02:00
2b7b8f90e1 Release of v5.0.0-alpha8
Add power path override option on component level. Fix the sql build feature. #1032.
2024-04-06 23:41:34 +02:00
2f64eec95b Release of v5.0.0-alpha7
Fix the search area layout. Fix the search area code line selection. Fix the input edit button for custom fields. Add the new layout to list fields (GUI UPDATE). Start fixing the field view in Joomla 5. #1096.
2024-03-26 22:51:07 +02:00
8548530b6d Release of v5.0.0-alpha6
Fix [Set String Value] in placeholder table to store the value as a base64 string.
2024-03-20 15:36:42 +02:00
ac3e230272 Release of v5.0.0-alpha5
Add Factory class to the J5 Event class. #1093. Fix customfilelist field to conform to the new namespacing conventions. #1094. Add menus for languages, servers, get snippets to J5 #1095.
2024-03-20 14:22:10 +02:00
8deb178d7c Release of v5.0.0-alpha4
Fix plugin field selection. Fix plugin params tab layout. Add issue templates. Force autoloader to always load. Fix repeatable layout #1076.
2024-03-15 12:26:29 +02:00
4ef96e9931 Adds g-security.yml to Component Builder v5.x 2024-03-14 14:15:15 +00:00
4116d87799 Adds e-performance.yml to Component Builder v5.x 2024-03-14 14:15:15 +00:00
1e286a7f6e Adds c-task.yml to Component Builder v5.x 2024-03-14 14:15:15 +00:00
e77ebd8e27 Adds a-bug.yml to Component Builder v5.x 2024-03-14 14:15:15 +00:00
ece14672d1 Adds an issue template for reporting the refactoring of specific locations in JCB. 2024-03-14 10:22:04 +02:00
87706b19bc Adds an issue template for the improvement of documentation in JCB. 2024-03-14 10:21:14 +02:00
ecc51c4871 Adds a issue template for reporting enhancements to JCB. 2024-03-14 10:19:10 +02:00
44dacc36a0 Release of v5.0.0-alpha3
Add fix to the update script, so that upgrading JCB from Joomla 4 to 5 will not fail.
2024-03-12 12:56:41 +02:00
a920cb429b Stable release of v5.0.0-alpha2
Fix the plug-in installer script builder bug #1067. Fix Event triggers for Joomla 4 and 5 builds.
2024-03-11 18:30:57 +02:00
87cd4305bb Stable release of v5.0.0-alpha1
First alpha release of Component Builder towards Joomla 5 (very unstable...).
2024-03-09 21:52:51 +02:00
568 changed files with 16054 additions and 7577 deletions

View File

@@ -1,39 +1,48 @@
# v4.1.2-alpha2
# v5.1.2-alpha3
- Migrates view HTML classes to use getModel() directly instead of the deprecated magic get() calls to model methods.
- Refactores event handling (contentPrepare, titlePrepare, contentBeforeDisplay, contentAfterDisplay) to use Joomla 5s native event dispatcher via the models new getDispatcher() method.
- Updates table classes to properly support NULL values, both in the store() method and in table variable definitions. #1245
- Extractes the setAutoCheckIn() and setCheckInCall() logic into a dedicated CheckInNow class for cleaner design.
- Replace all direct $app->input property calls with the recommended $app->getInput() method across the entire codebase.
# v5.1.2-alpha
- Fix the template and layout linker for packages.
- Add native module builder for Joomla 4/5
- Refactor dynamic get methods into dedicated classes
- Move Joomla DB handling into compiler injector flow
- Fix auto-check(in) method for Joomla 4/5 compatibility
# v4.1.2-alpha
- Fix the template and layout linker for packages.
# v4.1.1
# v5.1.1
- Move all banners to GitHub.
- Adds library phpspreadsheet to JCB.
- Add import item example to demo component.
- Adds import item example to demo component.
- Updates the Superpower class with the GetRemote class in the plugin.
- Ensures the super power autoloader triggers the correct repositories.
- Adds the Import Function to the Demo Component.
- Adds the ModalSelect fieldtype to Joomla Component Builder - J5
- Adds the Data Import Function to the Demo Component.
- Adds new country related tables and fields to the Demo Component.
- Resolves the Database Updating issue in the compiler. #1212,#1209
- Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets.
- Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets.
- Add edit and create options to the ModalSelect Field (in Joomla 5)
- Add all needed Powers to the release package, to speed-up the build of the demo component.
- Refactored initialization flow to accommodate future scalability and integration with all designated areas.
- Refactor initialization flow to accommodate future scalability and integration with all designated areas.
- Refactor the Creator Builders class.
- Adds new JCB package engine.
- Fix issue with loading the Component Builder Wiki.
- Refactor the FieldString and FieldXML classes.
- Add JCB new package engine.
- 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
- Fix the FieldXML interface mismatch. #1228
- Adds Initialize, Reset, and Push functionality to the Repository entities.
- Completely refactors the SQL teaks and SQL dump classes.
- Changes J4 fields to allow NULL.
- Fix a bug in Dynamic Get JavaScript that causes table columns to not load.
- Refactor the FieldString and FieldXML classes.
- Completely refactors the SQL tweaks and SQL dump classes.
- Fix bug in the filter of Languages by linked entities. #1230
- Adds option to export Language Translations.
# v4.1.0
# v5.1.0
- Add [AllowDynamicProperties] in the base view class for J5
- Move the _prepareDocument above the display call in the base view class
@@ -55,37 +64,37 @@
- Update created_by, modified_by, checked_out fields in table class.
- Implementation of the decentralized Super-Power CORE repository network. (#1190)
- Fix the noticeboard to display Llewellyn's Joomla Social feed
- Started compiling JCB4 on Joomla 5 with PHP 8.2
- Started compiling JCB5 on Joomla 5 with PHP 8.2
- Add init_defaults option for dynamic form selection setup (to int new items with default values dynamically)
- Update all JCB 4 tables to utf8mb4_unicode_ci collation if misaligned
- Move all internal ID linking to GUID inside of JCB 4
- Update all JCB 5 tables to utf8mb4_unicode_ci collation if misaligned
- Move all internal ID linking to GUID inside of JCB 5
- Updated the admin-tab-fields in add-fields view. #1205
- Remove Custom Import Tab from admin view
- Improved the customcode and placeholder search features
# v4.0.3
# v5.0.3
- Add [push] option to powers area.
- Fix [Save as Copy] error in library. #1162
- Fix error in [Save As Copy] functionality for the library. #1162
- Fix error when no components exist. #1164
- Fix search page error caused by File class.
- Fix usergrouplist compiler triggers. #1100
- Add power field type integration [init, reset, push].
- Fix default database fields to allow NULL. #1169
- Fix power list field to enable search. #1167
- Expand the Demo component in JCB v4 to include more advanced features.
- Fix missing working path in zip process.
- Fix dynamic get issue in demo site view.
- Fix UserGroupList compiler triggers. #1100
- Add power integration field type with [init, reset, push] options.
- Fix default database fields to allow NULL values. #1169
- Fix power list field to support search functionality. #1167
- Expand Demo component in JCB v4 to include advanced features.
- Fix missing working path in zip creation.
- Fix dynamic retrieval for the demo site view.
- Fix demo site view to display files.
- Fix field type init message.
- Ensure type-agnostic comparisons by casting to CHAR in joins for dynamic get.
- Fix dynamic download for site area with correct namespace.
- Fix field type initialization message.
- Fix type-agnostic comparisons by casting to CHAR in dynamic get joins.
- Fix dynamic download for site area to use correct namespace.
- Fix missing edit button on fields in related views.
- Fix dashboard display.
- Restore search option in [use] field of related views.
- Fix namespace issue that broke the linker.
- Fix dashboard display issues.
- Restore search option in the [use] field for related views.
- Fix namespace issue causing linker to break.
# v4.0.2
# v5.0.2
- Fix site view form missing classes in J4+
- Fix permissions tab in items in J4+
@@ -105,9 +114,9 @@
- Add native plugin builder for Joomla 4 & 5
- Add basic API for admin views
# v4.0.1
# v5.0.1
- Fix auto build from SQL in Joomla 4.
- Fix auto build from SQL in Joomla 5.
- Fix permission issue for admin views.
- Add in JCB gitea push feature to help maintain JCB core features.
- Add extending options to interfaces.
@@ -132,25 +141,25 @@
- Add option to use placeholders in Joomla Power namespaces.
- Fix subform layout of uikit in JCB
# v4.0.0
# v5.0.0
- Fix the plug-in installer script builder bug #1067
- Fix Event triggers for Joomla 4 and 5 builds.
- Add fix to the update script, so that upgrading JCB from Joomla 3 to 4 will not fail.
- Add fix to the update script, so that upgrading JCB from Joomla 4 to 5 will not fail.
- Fix plugin field selection
- Fix plugin params tab layout
- Add issue templates
- Force autoloader to always load.
- Force autoloader to always load
- Fix repeatable layout #1076
- Add Factory class to the J5 Event class. #1093
- Fix customfilelist field to conform to the new namespacing conventions. #1094
- Add menus for languages, servers, get snippets to J4 #1095
- Add menus for languages, servers, get snippets to J5 #1095
- Fix [Set String Value] in placeholder table to store the value as a base64 string.
- Fix the search area layout.
- Fix the search area code line selection.
- Fix the input edit button for custom fields.
- Add the new layout to list fields (GUI UPDATE)
- Start fixing the field view in Joomla 4. #1096
- Start fixing the field view in Joomla 5. #1096
- Add power path override option on component level.
- Fix the sql build feature. #1032
- Add the compiler menu back.
@@ -176,6 +185,30 @@
- Add the BaseDatabaseModel use statement to custom site view controller. #1119
- Fix the customfolderlist field. #1120
# v4.1.1
- Move all banners to GitHub.
- Adds library phpspreadsheet to JCB.
- Add import item example to demo component.
- Updates the Superpower class with the GetRemote class in the plugin.
- Ensures the super power autoloader triggers the correct repositories.
- Adds the Import Function to the Demo Component.
- Resolves the Database Updating issue in the compiler. #1212,#1209
- Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets.
- Add all needed Powers to the release package, to speed-up the build of the demo component.
- Refactored initialization flow to accommodate future scalability and integration with all designated areas.
- Refactor the Creator Builders class.
- Adds new JCB package engine.
- Fix 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
- Adds Initialize, Reset, and Push functionality to the Repository entities.
- Completely refactors the SQL teaks and SQL dump classes.
- Changes J4 fields to allow NULL.
- Fix a bug in Dynamic Get JavaScript that causes table columns to not load.
- Refactor the FieldString and FieldXML classes.
- Adds option to export Language Translations.
# v3.2.5
- Add [AllowDynamicProperties] in the base view class for J5

View File

@@ -3292,7 +3292,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://dev.vdm.io" title="Component Builder">
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
</a>
<h3>Upgrade to Version 4.1.2-alpha2 Was Successful! Let us know if anything is not working as expected.</h3></div>';
<h3>Upgrade to Version 5.1.2-alpha3 Was Successful! Let us know if anything is not working as expected.</h3></div>';
// Add/Update component in the action logs extensions table.
$this->setActionLogsExtensions();

View File

@@ -3,13 +3,13 @@
![Component Builder Banner](https://raw.githubusercontent.com/joomengine/Joomla-Component-Builder/refs/heads/5.x/admin/assets/images/jcb-banner.jpg "Component Builder")
This is a professional-grade [Joomla 4.x](https://extensions.joomla.org/extension/component-builder/) component, created with [Joomla Component Builder (JCB)](https://www.joomlacomponentbuilder.com)—a uniquely advanced development engine for building and maintaining complete Joomla extensions.
This is a professional-grade [Joomla 5.x](https://extensions.joomla.org/extension/component-builder/) component, created with [Joomla Component Builder (JCB)](https://www.joomlacomponentbuilder.com)—a uniquely advanced development engine for building and maintaining complete Joomla extensions.
> 🎥 [Original... Quick Hello World Demo](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45), yes JCB has been around for over a decade.
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 (**4.1.2-alpha2**) 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.2-alpha3**) 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:** 2nd September, 2025 · **Version:** 4.1.2-alpha2
* **Created:** 30th April, 2015 · **Last Build:** 3rd September, 2025 · **Version:** 5.1.2-alpha3
* **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved.
* **Lines:** 1146427 · **Fields:** 2085 · **Files:** 7667 · **Folders:** 724
* **Lines:** 1156347 · **Fields:** 2091 · **Files:** 7831 · **Folders:** 740
> Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions.

View File

@@ -3,13 +3,13 @@
![Component Builder Banner](https://raw.githubusercontent.com/joomengine/Joomla-Component-Builder/refs/heads/5.x/admin/assets/images/jcb-banner.jpg "Component Builder")
This is a professional-grade [Joomla 4.x](https://extensions.joomla.org/extension/component-builder/) component, created with [Joomla Component Builder (JCB)](https://www.joomlacomponentbuilder.com)—a uniquely advanced development engine for building and maintaining complete Joomla extensions.
This is a professional-grade [Joomla 5.x](https://extensions.joomla.org/extension/component-builder/) component, created with [Joomla Component Builder (JCB)](https://www.joomlacomponentbuilder.com)—a uniquely advanced development engine for building and maintaining complete Joomla extensions.
> 🎥 [Original... Quick Hello World Demo](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45), yes JCB has been around for over a decade.
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 (**4.1.2-alpha2**) 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.2-alpha3**) 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:** 2nd September, 2025 · **Version:** 4.1.2-alpha2
* **Created:** 30th April, 2015 · **Last Build:** 3rd September, 2025 · **Version:** 5.1.2-alpha3
* **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved.
* **Lines:** 1146427 · **Fields:** 2085 · **Files:** 7667 · **Folders:** 724
* **Lines:** 1156347 · **Fields:** 2091 · **Files:** 7831 · **Folders:** 740
> Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions.

View File

@@ -62,7 +62,7 @@ class ###Component###Model###SView### extends ItemModel
protected function populateState()
{
$this->app = Factory::getApplication();
$this->input = $this->app->input;
$this->input = method_exists($this->app, 'getInput') ? $this->app->getInput() : $this->app->input;
// Get the item main id
$id = $this->input->getInt('id', null);
$this->setState('###sview###.id', $id);

View File

@@ -62,7 +62,7 @@ class ###Component###Model###SView### extends ItemModel
protected function populateState()
{
$this->app = Factory::getApplication();
$this->input = $this->app->input;
$this->input = method_exists($this->app, 'getInput') ? $this->app->getInput() : $this->app->input;
// Get the itme main id
$id = $this->input->getInt('id', null);
$this->setState('###sview###.id', $id);

View File

@@ -50,9 +50,10 @@ class ###Component###Model###Views### extends ListModel
protected function populateState($ordering = null, $direction = null)
{
$app = Factory::getApplication();
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
if ($layout = $input->get('layout'))
{
$this->context .= '.' . $layout;
}###POPULATESTATE###

View File

@@ -66,7 +66,7 @@ class AjaxController extends BaseController
// get the user for later use
$user = $this->app->getIdentity();
// get the input values
$jinput = $this->input ?? $this->app->input;
$jinput = $this->input ?? (method_exists($this->app, 'getInput') ? $this->app->getInput() : $this->app->input);
// check if we should return raw (DEFAULT TRUE SINCE J4)
$returnRaw = $jinput->get('raw', true, 'BOOLEAN');
// return to a callback function

View File

@@ -41,8 +41,9 @@ class HelpController extends BaseController
public function help()
{
$user = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getIdentity();
$jinput = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->input;
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$user = $app->getIdentity();
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Check Token!
$token = Joomla___5ba38513_5c4f_4b0d_935e_49e986a6bce8___Power::getFormToken();
$call_token = $jinput->get('token', 0, 'ALNUM');

View File

@@ -90,7 +90,8 @@ class ImportModel extends BaseDatabaseModel
$package = null;
$continue = false;
// get import type
$this->getType = $app->input->getString('gettype', NULL);
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
$this->getType = $input->getString('gettype', NULL);
// get import type
$this->dataType = $session->get('dataType_VDM_IMPORTINTO', NULL);
@@ -196,7 +197,7 @@ class ImportModel extends BaseDatabaseModel
{
// Get the uploaded file information
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$input = $app->input;
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Do not change the filter type 'raw'. We need this to let files containing PHP code to upload. See JInputFiles::get.
$userfile = $input->files->get('import_package', null, 'raw');
@@ -256,7 +257,7 @@ class ImportModel extends BaseDatabaseModel
protected function _getPackageFromFolder()
{
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$input = $app->input;
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Get the path to the package to import
$p_dir = $input->getString('import_directory');
@@ -301,7 +302,7 @@ class ImportModel extends BaseDatabaseModel
protected function _getPackageFromUrl()
{
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$input = $app->input;
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Get the URL of the package to import
$url = $input->getString('import_url');

View File

@@ -86,7 +86,7 @@ class ###View###importModel extends BaseDatabaseModel
{
// Get the uploaded file information
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$input = $app->input;
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Do not change the filter type 'raw'. We need this to let files containing PHP code to upload. See JInputFiles::get.
$userfile = $input->files->get('import_package', null, 'raw');
@@ -146,7 +146,7 @@ class ###View###importModel extends BaseDatabaseModel
protected function _getPackageFromFolder()
{
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$input = $app->input;
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Get the path to the package to import
$p_dir = $input->getString('import_directory');
@@ -191,7 +191,7 @@ class ###View###importModel extends BaseDatabaseModel
protected function _getPackageFromUrl()
{
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$input = $app->input;
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Get the URL of the package to import
$url = $input->getString('import_url');

View File

@@ -111,12 +111,13 @@ class HtmlView extends BaseHtmlView
*/
public function display($tpl = null): void
{
// Assign data to the view
$this->items = $this->get('Items');
$this->pagination = $this->get('Pagination');
$this->state = $this->get('State');
$this->styles = $this->get('Styles');
$this->scripts = $this->get('Scripts');
// Load module values
$model = $this->getModel();
$this->items = $model->getItems();
$this->pagination = $model->getPagination();
$this->state = $model->getState();
$this->styles = $model->getStyles();
$this->scripts = $model->getScripts();
$this->user ??= $this->getCurrentUser();###ADMIN_DIPLAY_METHOD###
$this->saveOrder = $this->listOrder == 'a.ordering';
// set the return here value

View File

@@ -23,12 +23,14 @@ defined('_JEXEC') or die;###LICENSE_LOCKED_DEFINED###
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
if ($app->isClient('site')) {
if ($app->isClient('site'))
{
Joomla___5ba38513_5c4f_4b0d_935e_49e986a6bce8___Power::checkToken('get') or die(Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
$this->modalTitleKey = $input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();

View File

@@ -93,9 +93,10 @@ class ###Views###Model extends ListModel
protected function populateState($ordering = null, $direction = null)
{
$app = $this->app;
$input = $this->app->getInput();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
if ($layout = $input->get('layout'))
{
$this->context .= '.' . $layout;
}###POPULATESTATE###

View File

@@ -36,6 +36,14 @@ class HtmlView extends BaseHtmlView
*/
public mixed $item;
/**
* The app class
*
* @var Joomla___a6ee04f5_33c7_4a9b_aa6d_6a03f3715a88___Power
* @since 5.2.1
*/
public Joomla___a6ee04f5_33c7_4a9b_aa6d_6a03f3715a88___Power $app;
/**
* The input class
*
@@ -138,16 +146,19 @@ class HtmlView extends BaseHtmlView
// set params
$this->params = Joomla___aeb8e463_291f_4445_9ac4_34b637c12dbd___Power::getParams('com_###component###');
$this->useCoreUI = true;
// Assign the variables
$this->form ??= $this->get('Form');
$this->item = $this->get('Item');
$this->styles = $this->get('Styles');
$this->scripts = $this->get('Scripts');
$this->state = $this->get('State');
// Load module values
$model = $this->getModel();
$this->form ??= $model->getForm();
$this->item = $model->getItem();
$this->styles = $model->getStyles();
$this->scripts = $model->getScripts();
$this->state = $model->getState();
// get action permissions
$this->canDo = ###Component###Helper::getActions('###view###', $this->item);
// get application
$this->app ??= Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
// get input
$this->input ??= Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->input;
$this->input ??= method_exists($this->app, 'getInput') ? $this->app->getInput() : $this->app->input;
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
$return = $this->input->get('return', null, 'base64');

View File

@@ -67,7 +67,7 @@ class ###View###Table extends Table implements VersionableTableInterface, Taggab
$this->_jsonEncode = ['params', 'metadata'];
// Indicates that columns fully support the NULL value in the database
// $this->_supportNullValue = true; // hmmm will keep an eye on this ;)
$this->_supportNullValue = true;
parent::__construct('#__###component###_###view###', 'id', $db, $dispatcher);###LICENSE_LOCKED_CHECK###
}
@@ -105,7 +105,7 @@ class ###View###Table extends Table implements VersionableTableInterface, Taggab
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
public function store($updateNulls = true)
{
$date = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getDate()->toSql();
$userId = $this->getCurrentUser()->id;

View File

@@ -79,8 +79,10 @@ class HtmlView extends BaseHtmlView
$this->user ??= $this->getCurrentUser();
// get global action permissions
$this->canDo = ###Component###Helper::getActions('###sview###');
$this->styles = $this->get('Styles') ?? [];
$this->scripts = $this->get('Scripts') ?? [];###CUSTOM_ADMIN_DIPLAY_METHOD###
// Load module values
$model = $this->getModel();
$this->styles = $model->getStyles() ?? [];
$this->scripts = $model->getScripts() ?? [];###CUSTOM_ADMIN_DIPLAY_METHOD###
// Set the html view document stuff
$this->_prepareDocument();

View File

@@ -47,8 +47,10 @@ class HtmlView extends BaseHtmlView
$this->user ??= Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getIdentity();
// get global action permissions
$this->canDo = ###Component###Helper::getActions('###sview###');
$this->styles = $this->get('Styles');
$this->scripts = $this->get('Scripts');###CUSTOM_ADMIN_DIPLAY_METHOD###
// Load module values
$model = $this->getModel();
$this->styles = $model->getStyles();
$this->scripts = $model->getScripts();###CUSTOM_ADMIN_DIPLAY_METHOD###
// Set the html view document stuff
$this->_prepareDocument();

View File

@@ -120,16 +120,17 @@ class HtmlView extends BaseHtmlView
// set params
$this->params = Joomla___aeb8e463_291f_4445_9ac4_34b637c12dbd___Power::getParams('com_###component###');
$this->useCoreUI = true;
// Assign the variables
$this->form ??= $this->get('Form');
$this->item = $this->get('Item');
$this->state = $this->get('State');
$this->styles = $this->get('Styles') ?? [];
$this->scripts = $this->get('Scripts') ?? [];
// Load module values
$model = $this->getModel();
$this->form ??= $model->getForm();
$this->item = $model->getItem();
$this->state = $model->getState();
$this->styles = $model->getStyles() ?? [];
$this->scripts = $model->getScripts() ?? [];
// get action permissions
$this->canDo = ###Component###Helper::getActions('###view###', $this->item);
// get input
$jinput = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->input;
$jinput = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getInput();
$this->ref = $jinput->get('ref', 0, 'word');
$this->refid = $jinput->get('refid', 0, 'int');
$return = $jinput->get('return', null, 'base64');

View File

@@ -449,8 +449,9 @@ class ###View###Model extends AdminModel
*/
public function save($data)
{
$input = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->input;
$filter = InputFilter::getInstance();
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$input = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
$filter = Joomla___193deb3e_0c3e_4610_8e55_450e463095b4___Power::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))

View File

@@ -61,7 +61,7 @@ class AjaxController extends BaseController
// get the user for later use
$user = $this->app->getIdentity();
// get the input values
$jinput = $this->input ?? $this->app->input;
$jinput = $this->input ?? (method_exists($this->app, 'getInput') ? $this->app->getInput() : $this->app->input);
// check if we should return raw (DEFAULT TRUE SINCE J4)
$returnRaw = $jinput->get('raw', true, 'BOOLEAN');
// return to a callback function

View File

@@ -41,8 +41,9 @@ class HelpController extends BaseController
public function help()
{
$user = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getIdentity();
$jinput = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->input;
$app = Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$user = $app->getIdentity();
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Check Token!
$token = Joomla___5ba38513_5c4f_4b0d_935e_49e986a6bce8___Power::getFormToken();
$call_token = $jinput->get('token', 0, 'ALNUM');

View File

@@ -90,8 +90,10 @@ class HtmlView extends BaseHtmlView
$this->app ??= Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$this->params = $this->app->getParams();
$this->menu = $this->app->getMenu()->getActive();
$this->styles = $this->get('Styles');
$this->scripts = $this->get('Scripts');
// Load module values
$model = $this->getModel();
$this->styles = $model->getStyles() ?? [];
$this->scripts = $model->getScripts() ?? [];
// get the user object
$this->user ??= $this->app->getIdentity();###SITE_DIPLAY_METHOD###

View File

@@ -74,8 +74,10 @@ class HtmlView extends BaseHtmlView
$this->app ??= Joomla___39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();
$this->params = $this->app->getParams();
$this->menu = $this->app->getMenu()->getActive();
$this->styles = $this->get('Styles') ?? [];
$this->scripts = $this->get('Scripts') ?? [];
// Load module values
$model = $this->getModel();
$this->styles = $model->getStyles() ?? [];
$this->scripts = $model->getScripts() ?? [];
// get the user object
$this->user ??= $this->getCurrentUser();###SITE_DIPLAY_METHOD###

View File

@@ -122,16 +122,28 @@
icon="list"
min="1">
<form hidden="true" name="list_addfields_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<!-- Field Field. Type: Modalselect. (custom) -->
<field
type="fields"
type="ModalSelect"
name="field"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_field"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=fields&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=field.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=field.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_TITLESELECT"
iconSelect="icon-lamp"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_DESCRIPTION"
hint="COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_HINT"
/>
<!-- List Field. Type: List. (joomla) -->
<field

View File

@@ -702,16 +702,28 @@
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ADDLINKED_VIEWS_DESCRIPTION"
icon="list">
<form hidden="true" name="list_addlinked_views_modal" repeat="true">
<!-- Adminview Field. Type: Adminviews. (custom) -->
<!-- Adminview Field. Type: Modalselect. (custom) -->
<field
type="adminviews"
type="ModalSelect"
name="adminview"
label="COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_admin_view"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=admin_views&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=admin_view.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=admin_view.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_TITLESELECT"
iconSelect="icon-stack"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_DESCRIPTION"
hint="COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_HINT"
/>
<!-- Tab Field. Type: Integer. (joomla) -->
<field

View File

@@ -203,17 +203,30 @@
hint="COM_COMPONENTBUILDER_CLASS_METHOD_COMMENT_HINT"
required="false"
/>
<!-- Joomla_plugin_group Field. Type: Joomlaplugingroups. (custom) -->
<!-- Joomla_plugin_group Field. Type: Modalselect. (custom) -->
<field
type="joomlaplugingroups"
type="ModalSelect"
name="joomla_plugin_group"
label="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
required="true"
button="true"
sql_title_table="#__componentbuilder_joomla_plugin_group"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=joomla_plugin_groups&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=joomla_plugin_group.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=joomla_plugin_group.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="true"
edit="true"
clear="true"
class="input-large"
description="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_DESCRIPTION"
hint="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_HINT"
showon="extension_type:plugins"
/>
<!-- Arguments Field. Type: Text. (joomla) -->
<field

View File

@@ -187,17 +187,30 @@
hint="COM_COMPONENTBUILDER_CLASS_PROPERTY_COMMENT_HINT"
required="false"
/>
<!-- Joomla_plugin_group Field. Type: Joomlaplugingroups. (custom) -->
<!-- Joomla_plugin_group Field. Type: Modalselect. (custom) -->
<field
type="joomlaplugingroups"
type="ModalSelect"
name="joomla_plugin_group"
label="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
required="true"
button="true"
sql_title_table="#__componentbuilder_joomla_plugin_group"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=joomla_plugin_groups&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=joomla_plugin_group.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=joomla_plugin_group.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="true"
edit="true"
clear="true"
class="input-large"
description="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_DESCRIPTION"
hint="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_HINT"
showon="extension_type:plugins"
/>
<!-- Default Field. Type: Textarea. (joomla) -->
<field

View File

@@ -135,16 +135,28 @@
icon="list"
min="1">
<form hidden="true" name="list_addadmin_views_modal" repeat="true">
<!-- Adminview Field. Type: Adminviews. (custom) -->
<!-- Adminview Field. Type: Modalselect. (custom) -->
<field
type="adminviews"
type="ModalSelect"
name="adminview"
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_admin_view"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=admin_views&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=admin_view.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=admin_view.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_TITLESELECT"
iconSelect="icon-stack"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_DESCRIPTION"
hint="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_HINT"
/>
<!-- Icomoon Field. Type: List. (joomla) -->
<field

View File

@@ -134,16 +134,28 @@
default=""
icon="list">
<form hidden="true" name="list_addconfig_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<!-- Field Field. Type: Modalselect. (custom) -->
<field
type="fields"
type="ModalSelect"
name="field"
label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_field"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=fields&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=field.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=field.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_TITLESELECT"
iconSelect="icon-lamp"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_DESCRIPTION"
hint="COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_HINT"
/>
<!-- Custom_value Field. Type: Textarea. (joomla) -->
<field

View File

@@ -133,16 +133,28 @@
default=""
icon="list">
<form hidden="true" name="list_addcustom_admin_views_modal" repeat="true">
<!-- Customadminview Field. Type: Customadminviews. (custom) -->
<!-- Customadminview Field. Type: Modalselect. (custom) -->
<field
type="customadminviews"
type="ModalSelect"
name="customadminview"
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_custom_admin_view"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=custom_admin_views&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=custom_admin_view.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=custom_admin_view.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_TITLESELECT"
iconSelect="icon-screen"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_DESCRIPTION"
hint="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_HINT"
/>
<!-- Icomoon Field. Type: List. (joomla) -->
<field

View File

@@ -134,16 +134,28 @@
default=""
icon="list">
<form hidden="true" name="list_addsite_views_modal" repeat="true">
<!-- Siteview Field. Type: Siteviews. (custom) -->
<!-- Siteview Field. Type: Modalselect. (custom) -->
<field
type="siteviews"
type="ModalSelect"
name="siteview"
label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_site_view"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=site_views&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=site_view.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=site_view.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_TITLESELECT"
iconSelect="icon-palette"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_DESCRIPTION"
hint="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_HINT"
/>
<!-- Menu Field. Type: Checkbox. (joomla) -->
<field

View File

@@ -143,16 +143,28 @@
message="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DESCRIPTION_MESSAGE"
hint="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DESCRIPTION_HINT"
/>
<!-- Main_get Field. Type: Maingets. (custom) -->
<!-- Main_get Field. Type: Modalselect. (custom) -->
<field
type="maingets"
type="ModalSelect"
name="main_get"
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_dynamic_get"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=dynamic_gets&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid&amp;filter[getgroup]=main"
urlNew="index.php?option=com_componentbuilder&amp;task=dynamic_get.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=dynamic_get.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_TITLESELECT"
titleEdit="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="false"
edit="true"
clear="true"
required="true"
button="true"
class="input-large"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_DESCRIPTION"
/>
<!-- Note_add_php_language_string Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_php_language_string" label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_php_language_string" />

View File

@@ -332,15 +332,29 @@
hint="COM_COMPONENTBUILDER_DYNAMIC_GET_DB_SELECTION_HINT"
required="true"
/>
<!-- View_table_main Field. Type: Adminviews. (custom) -->
<!-- View_table_main Field. Type: Modalselect. (custom) -->
<field
type="adminviews"
type="ModalSelect"
name="view_table_main"
label="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_LABEL"
sql_title_table="#__componentbuilder_admin_view"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=admin_views&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=admin_view.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=admin_view.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_TITLEEDIT"
iconSelect="icon-stack"
select="true"
new="true"
edit="true"
clear="true"
class="input-large"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
required="true"
hint="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_HINT"
/>
<!-- Add_php_getlistquery Field. Type: Radio. (joomla) -->
<field
@@ -1300,15 +1314,28 @@
description="COM_COMPONENTBUILDER_DYNAMIC_GET_JOIN_VIEW_TABLE_DESCRIPTION"
icon="list">
<form hidden="true" name="list_join_view_table_modal" repeat="true">
<!-- View_table Field. Type: Adminviews. (custom) -->
<!-- View_table Field. Type: Modalselect. (custom) -->
<field
type="adminviews"
type="ModalSelect"
name="view_table"
label="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_DESCRIPTION"
multiple="false"
sql_title_table="#__componentbuilder_admin_view"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=admin_views&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlEdit="index.php?option=com_componentbuilder&amp;task=admin_view.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_TITLESELECT"
titleEdit="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_TITLEEDIT"
iconSelect="icon-stack"
select="true"
new="false"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_DESCRIPTION"
hint="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_HINT"
/>
<!-- Row_type Field. Type: List. (joomla) -->
<field

View File

@@ -30,15 +30,6 @@
class="js-select-submit-on-change"
layout="joomla.form.field.list-fancy-select"
/>
<field
type="maingets"
name="main_get"
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_LABEL"
layout="joomla.form.field.list-fancy-select"
multiple="true"
hint="COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_GET"
class="js-select-submit-on-change"
/>
<field
type="customadminviewsfilteraddphpajax"
name="add_php_ajax"

View File

@@ -41,7 +41,9 @@
type="dynamicgetsfiltergettype"
name="gettype"
label="COM_COMPONENTBUILDER_DYNAMIC_GET_GETTYPE_LABEL"
multiple="false"
layout="joomla.form.field.list-fancy-select"
multiple="true"
hint="COM_COMPONENTBUILDER_FILTER_SELECT_GETTYPE"
class="js-select-submit-on-change"
/>
<input type="hidden" name="form_submited" value="1"/>

View File

@@ -31,7 +31,18 @@
layout="joomla.form.field.list-fancy-select"
/>
<field
type="classextends"
type="ModalSelect"
sql_title_table="#__componentbuilder_class_extends"
sql_title_column="name"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=class_extendings&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid&amp;filter[extension_type]=plugins"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_HINT"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_TITLESELECT"
iconSelect="icon-copy"
select="true"
edit="false"
clear="true"
onchange="form.submit()"
name="class_extends"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_LABEL"
multiple="false"

View File

@@ -31,14 +31,36 @@
layout="joomla.form.field.list-fancy-select"
/>
<field
type="classextends"
type="ModalSelect"
sql_title_table="#__componentbuilder_class_extends"
sql_title_column="name"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=class_extendings&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid&amp;filter[extension_type]=plugins"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_HINT"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_TITLESELECT"
iconSelect="icon-copy"
select="true"
edit="false"
clear="true"
onchange="form.submit()"
name="class_extends"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="joomlaplugingroups"
type="ModalSelect"
sql_title_table="#__componentbuilder_joomla_plugin_group"
sql_title_column="name"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=joomla_plugin_groups&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_HINT"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_TITLESELECT"
iconSelect="icon-copy"
select="true"
edit="false"
clear="true"
onchange="form.submit()"
name="joomla_plugin_group"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_LABEL"
multiple="false"

View File

@@ -30,15 +30,6 @@
class="js-select-submit-on-change"
layout="joomla.form.field.list-fancy-select"
/>
<field
type="maingets"
name="main_get"
label="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_LABEL"
layout="joomla.form.field.list-fancy-select"
multiple="true"
hint="COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_GET"
class="js-select-submit-on-change"
/>
<field
type="siteviewsfilteraddphpajax"
name="add_php_ajax"

View File

@@ -31,14 +31,36 @@
layout="joomla.form.field.list-fancy-select"
/>
<field
type="snippettype"
type="ModalSelect"
sql_title_table="#__componentbuilder_snippet_type"
sql_title_column="name"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=snippet_types&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
hint="COM_COMPONENTBUILDER_SNIPPET_TYPE_HINT"
titleSelect="COM_COMPONENTBUILDER_SNIPPET_TYPE_TITLESELECT"
iconSelect="icon-copy"
select="true"
edit="false"
clear="true"
onchange="form.submit()"
name="type"
label="COM_COMPONENTBUILDER_SNIPPET_TYPE_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="library"
type="ModalSelect"
sql_title_table="#__componentbuilder_library"
sql_title_column="name"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=libraries&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
hint="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_HINT"
titleSelect="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_TITLESELECT"
iconSelect="icon-copy"
select="true"
edit="false"
clear="true"
onchange="form.submit()"
name="library"
label="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_LABEL"
multiple="false"

View File

@@ -845,16 +845,28 @@
max="100"
nested_depth="1">
<form hidden="true" name="list_fields_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<!-- Field Field. Type: Modalselect. (custom) -->
<field
type="fields"
type="ModalSelect"
name="field"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_field"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=fields&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=field.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=field.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_TITLESELECT"
iconSelect="icon-lamp"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_DESCRIPTION"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_HINT"
/>
<!-- Custom_value Field. Type: Textarea. (joomla) -->
<field

View File

@@ -111,29 +111,55 @@
message="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SYSTEM_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SYSTEM_NAME_HINT"
/>
<!-- Class_extends Field. Type: Classextends. (custom) -->
<!-- Class_extends Field. Type: Modalselect. (custom) -->
<field
type="classextends"
type="ModalSelect"
name="class_extends"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
sql_title_table="#__componentbuilder_class_extends"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=class_extendings&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid&amp;filter[extension_type]=plugins"
urlNew="index.php?option=com_componentbuilder&amp;task=class_extends.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=class_extends.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="true"
class="input-large"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_DESCRIPTION"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_HINT"
/>
<!-- Joomla_plugin_group Field. Type: Joomlaplugingroups. (custom) -->
<!-- Joomla_plugin_group Field. Type: Modalselect. (custom) -->
<field
type="joomlaplugingroups"
type="ModalSelect"
name="joomla_plugin_group"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
sql_title_table="#__componentbuilder_joomla_plugin_group"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=joomla_plugin_groups&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=joomla_plugin_group.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=joomla_plugin_group.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="true"
class="input-large"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_DESCRIPTION"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_HINT"
/>
<!-- Add_sql Field. Type: Radio. (joomla) -->
<field
@@ -610,16 +636,28 @@
max="100"
nested_depth="1">
<form hidden="true" name="list_fields_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<!-- Field Field. Type: Modalselect. (custom) -->
<field
type="fields"
type="ModalSelect"
name="field"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_field"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=fields&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=field.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=field.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_TITLESELECT"
iconSelect="icon-lamp"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_DESCRIPTION"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_HINT"
/>
<!-- Custom_value Field. Type: Textarea. (joomla) -->
<field

View File

@@ -113,17 +113,30 @@
message="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_NAME_HINT"
/>
<!-- Class_extends Field. Type: Classextends. (custom) -->
<!-- Class_extends Field. Type: Modalselect. (custom) -->
<field
type="classextends"
type="ModalSelect"
name="class_extends"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
sql_title_table="#__componentbuilder_class_extends"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=class_extendings&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid&amp;filter[extension_type]=plugins"
urlNew="index.php?option=com_componentbuilder&amp;task=class_extends.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=class_extends.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="true"
class="input-large"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_DESCRIPTION"
hint="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_HINT"
/>
<!-- Guid Field. Type: Text. (joomla) -->
<field

View File

@@ -121,16 +121,28 @@
default=""
icon="list">
<form hidden="true" name="list_addconfig_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<!-- Field Field. Type: Modalselect. (custom) -->
<field
type="fields"
type="ModalSelect"
name="field"
label="COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_field"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=fields&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=field.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=field.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_TITLESELECT"
iconSelect="icon-lamp"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="false"
class="input-large"
description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_DESCRIPTION"
hint="COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_HINT"
/>
<!-- Custom_value Field. Type: Textarea. (joomla) -->
<field

View File

@@ -177,15 +177,28 @@
max="30"
min="0">
<form hidden="true" name="list_load_selection_modal" repeat="true">
<!-- Load Field. Type: Namespaces. (custom) -->
<!-- Load Field. Type: Modalselect. (custom) -->
<field
type="namespaces"
type="ModalSelect"
name="load"
label="COM_COMPONENTBUILDER_POWER_LOAD_LABEL"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
button="false"
sql_title_table="#__componentbuilder_power"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=powers&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=power.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=power.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_POWER_LOAD_TITLESELECT"
iconSelect="icon-flash"
select="true"
new="true"
edit="true"
clear="true"
required="true"
class="input-large"
description="COM_COMPONENTBUILDER_POWER_LOAD_DESCRIPTION"
hint="COM_COMPONENTBUILDER_POWER_LOAD_HINT"
/>
</form>
</field>
@@ -491,16 +504,28 @@
max="100"
min="0">
<form hidden="true" name="list_use_selection_modal" repeat="true">
<!-- Use Field. Type: Namespaces. (custom) -->
<!-- Use Field. Type: Modalselect. (custom) -->
<field
type="namespaces"
type="ModalSelect"
name="use"
label="COM_COMPONENTBUILDER_POWER_USE_LABEL"
class="span12"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
button="false"
sql_title_table="#__componentbuilder_power"
sql_title_column="system_name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=powers&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=power.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=power.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_POWER_USE_TITLESELECT"
iconSelect="icon-flash"
select="true"
new="true"
edit="true"
clear="true"
required="true"
class="input-large"
description="COM_COMPONENTBUILDER_POWER_USE_DESCRIPTION"
hint="COM_COMPONENTBUILDER_POWER_USE_HINT"
/>
<!-- As Field. Type: Text. (joomla) -->
<field

View File

@@ -143,16 +143,28 @@
message="COM_COMPONENTBUILDER_SITE_VIEW_DESCRIPTION_MESSAGE"
hint="COM_COMPONENTBUILDER_SITE_VIEW_DESCRIPTION_HINT"
/>
<!-- Main_get Field. Type: Maingets. (custom) -->
<!-- Main_get Field. Type: Modalselect. (custom) -->
<field
type="maingets"
type="ModalSelect"
name="main_get"
label="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_dynamic_get"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=dynamic_gets&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid&amp;filter[getgroup]=main"
urlNew="index.php?option=com_componentbuilder&amp;task=dynamic_get.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=dynamic_get.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_TITLESELECT"
titleEdit="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="false"
edit="true"
clear="true"
required="true"
button="true"
class="input-large"
description="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_DESCRIPTION"
/>
<!-- Add_php_jview_display Field. Type: Radio. (joomla) -->
<field

View File

@@ -129,16 +129,30 @@
message="COM_COMPONENTBUILDER_SNIPPET_URL_MESSAGE"
hint="COM_COMPONENTBUILDER_SNIPPET_URL_HINT"
/>
<!-- Type Field. Type: Snippettype. (custom) -->
<!-- Type Field. Type: Modalselect. (custom) -->
<field
type="snippettype"
type="ModalSelect"
name="type"
label="COM_COMPONENTBUILDER_SNIPPET_TYPE_LABEL"
description="COM_COMPONENTBUILDER_SNIPPET_TYPE_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
sql_title_table="#__componentbuilder_snippet_type"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=snippet_types&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=snippet_type.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=snippet_type.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_SNIPPET_TYPE_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_SNIPPET_TYPE_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_SNIPPET_TYPE_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="true"
edit="true"
clear="true"
required="true"
class="input-large"
description="COM_COMPONENTBUILDER_SNIPPET_TYPE_DESCRIPTION"
hint="COM_COMPONENTBUILDER_SNIPPET_TYPE_HINT"
/>
<!-- Heading Field. Type: Text. (joomla) -->
<field
@@ -154,18 +168,30 @@
message="COM_COMPONENTBUILDER_SNIPPET_HEADING_MESSAGE"
hint="COM_COMPONENTBUILDER_SNIPPET_HEADING_HINT"
/>
<!-- Library Field. Type: Library. (custom) -->
<!-- Library Field. Type: Modalselect. (custom) -->
<field
type="library"
type="ModalSelect"
name="library"
label="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_LABEL"
description="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
sql_title_table="#__componentbuilder_library"
sql_title_column="name"
data-key-name="guid"
sql_title_key="guid"
urlSelect="index.php?option=com_componentbuilder&amp;view=libraries&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
urlNew="index.php?option=com_componentbuilder&amp;task=library.add&amp;layout=modal&amp;tmpl=component"
urlEdit="index.php?option=com_componentbuilder&amp;task=library.edit&amp;guid={id}&amp;layout=modal&amp;tmpl=component&amp;titleKey=guid"
titleSelect="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_TITLESELECT"
titleNew="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_TITLENEW"
titleEdit="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_TITLEEDIT"
iconSelect="icon-copy"
select="true"
new="true"
edit="true"
clear="true"
required="true"
button="true"
class="input-large"
description="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_DESCRIPTION"
hint="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_HINT"
/>
<!-- Guid Field. Type: Text. (joomla) -->
<field

View File

@@ -318,7 +318,9 @@ COM_COMPONENTBUILDER_ADMIN_FIELDS_ERROR_UNIQUE_ALIAS="Another Admin Fields has t
COM_COMPONENTBUILDER_ADMIN_FIELDS_ERROR_UNIQUE_ALIAS_TRASHED="A trashed Admin Fields has the same alias ."
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELDS="Fields"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_DESCRIPTION="Select a field"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_HINT="Select a field"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_LABEL="Field"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_TITLESELECT="Select a field"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FILTER_DESCRIPTION="Should this field be used as a filter in list view, if shown."
COM_COMPONENTBUILDER_ADMIN_FIELDS_FILTER_LABEL="Filter"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FULL_WIDTH_IN_TAB="Full Width in Tab"
@@ -514,7 +516,9 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_PHP_POSTSAVEHOOK_LABEL="Add PHP (postSaveHoo
COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_PHP_SAVE_LABEL="Add PHP (save Method - after data modeling)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_SQL_LABEL="Add MySQL - (Install)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_DESCRIPTION="Select an admin view"
COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_HINT="Select an admin view"
COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_LABEL="View"
COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_TITLESELECT="Select an admin view"
COM_COMPONENTBUILDER_ADMIN_VIEW_AJAX_INPUT_LABEL="Ajax Input"
COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_DESCRIPTION="Select the field/s you would like to use to build the alias."
COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_LABEL="Alias Builder"
@@ -1481,7 +1485,12 @@ COM_COMPONENTBUILDER_CLASS_METHOD_GUID_LABEL="GUID"
COM_COMPONENTBUILDER_CLASS_METHOD_ID="Id"
COM_COMPONENTBUILDER_CLASS_METHOD_INIT_BUTTON_ACCESS="Class Method Init Button Access"
COM_COMPONENTBUILDER_CLASS_METHOD_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_DESCRIPTION="Select a plugin group"
COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_HINT="Select an Plugin Group"
COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_LABEL="Joomla Plugin Group"
COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_TITLEEDIT="Edit Plugin Group"
COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_TITLENEW="New Plugin Group"
COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_TITLESELECT="Select Plugin Group"
COM_COMPONENTBUILDER_CLASS_METHOD_MODIFIED_BY_DESC="The last user that modified this Class Method."
COM_COMPONENTBUILDER_CLASS_METHOD_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_CLASS_METHOD_MODIFIED_DATE_DESC="The date this Class Method was modified."
@@ -1584,7 +1593,12 @@ COM_COMPONENTBUILDER_CLASS_PROPERTY_GUID_LABEL="GUID"
COM_COMPONENTBUILDER_CLASS_PROPERTY_ID="Id"
COM_COMPONENTBUILDER_CLASS_PROPERTY_INIT_BUTTON_ACCESS="Class Property Init Button Access"
COM_COMPONENTBUILDER_CLASS_PROPERTY_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_DESCRIPTION="Select a plugin group"
COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_HINT="Select an Plugin Group"
COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_LABEL="Joomla Plugin Group"
COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_TITLEEDIT="Edit Plugin Group"
COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_TITLENEW="New Plugin Group"
COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_TITLESELECT="Select Plugin Group"
COM_COMPONENTBUILDER_CLASS_PROPERTY_MODIFIED_BY_DESC="The last user that modified this Class Property."
COM_COMPONENTBUILDER_CLASS_PROPERTY_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_CLASS_PROPERTY_MODIFIED_DATE_DESC="The date this Class Property was modified."
@@ -2239,7 +2253,9 @@ COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDRESS="Address"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADD_API_DESCRIPTION="add API option to this admin view. (only Joomla 4+)"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADD_API_LABEL="API"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_DESCRIPTION="Select an admin view"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_HINT="Select an admin view"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_LABEL="View"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_TITLESELECT="Select an admin view"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ARCHIVE="Archive"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ARROW_DOWN="Arrow Down"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ARROW_DOWN_2="Arrow Down 2"
@@ -2524,7 +2540,9 @@ COM_COMPONENTBUILDER_COMPONENT_CONFIG_EDIT="Editing the Component Config"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_ERROR_UNIQUE_ALIAS="Another Component Config has the same alias."
COM_COMPONENTBUILDER_COMPONENT_CONFIG_ERROR_UNIQUE_ALIAS_TRASHED="A trashed Component Config has the same alias ."
COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_DESCRIPTION="Select a field"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_HINT="Select a field"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_LABEL="Field"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_TITLESELECT="Select a field"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_ID="Id"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_DESCRIPTION="Select a Joomla Component"
COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_LABEL="Component"
@@ -2671,7 +2689,9 @@ COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CREDIT="Credit"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CREDIT_2="Credit 2"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUBE="Cube"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_DESCRIPTION="Select a custom admin view"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_HINT="Select a custom admin view"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_LABEL="View"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_TITLESELECT="Select a custom admin view"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_DASHBOARD="Dashboard"
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESCRIPTION="Select if the view should show on the dashboard."
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_LABEL="Dashboard (list of records)"
@@ -3217,7 +3237,9 @@ COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_PUBLIC_ACCESS_LABEL="Public Access"
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Component Site Views to customise the alias."
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_DESCRIPTION="Select a site view"
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_HINT="Select a site view"
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_LABEL="View"
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_TITLESELECT="Select a site view"
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_STATUS="Status"
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_VERSION_DESC="A count of the number of times this Component Site Views has been revised."
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_VERSION_LABEL="Version"
@@ -3846,6 +3868,8 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_LOCK="Lock"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_LOOP="Loop"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_DESCRIPTION="Select a main get"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_LABEL="Main Get"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_TITLEEDIT="Edit Main Get"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_TITLESELECT="Select Targetview"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MENU="Menu"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MENU_2="Menu 2"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MENU_3="Menu 3"
@@ -4151,6 +4175,7 @@ COM_COMPONENTBUILDER_CUSTOM_CODE_TYPE_DESCRIPTION="How To Add the Code to the fi
COM_COMPONENTBUILDER_CUSTOM_CODE_TYPE_LABEL="Add Type"
COM_COMPONENTBUILDER_CUSTOM_CODE_VERSION_DESC="A count of the number of times this Custom Code has been revised."
COM_COMPONENTBUILDER_CUSTOM_CODE_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_CUSTOM_GET="Custom Get"
COM_COMPONENTBUILDER_CUSTOM_PHP="Custom PHP"
COM_COMPONENTBUILDER_CUSTOM_SCRIPT="Custom Script"
COM_COMPONENTBUILDER_DASH="Dashboard"
@@ -4501,9 +4526,16 @@ COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_SELECTION_DESCRIPTION="Fields to be select
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_SELECTION_HINT="a.field AS field"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_SELECTION_LABEL="Selection"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_DESCRIPTION="Select a back-end view"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_HINT="Select an Admin View"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_LABEL="View Table"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_DESCRIPTION="Select a back-end view"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_HINT="Select a back-end view"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_LABEL="View Table (main)"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_TITLEEDIT="Edit an Admin View"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_TITLENEW="New Admin View"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_TITLESELECT="Select an Admin View"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_TITLEEDIT="Edit an Admin View"
COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_TITLESELECT="Select Admin View"
COM_COMPONENTBUILDER_DYNAMIC_GET_VV="vv"
COM_COMPONENTBUILDER_DYNAMIC_GET_W="w"
COM_COMPONENTBUILDER_DYNAMIC_GET_WHERE_DESCRIPTION="Here you can add where to the query."
@@ -5136,7 +5168,6 @@ COM_COMPONENTBUILDER_FILTER_SELECT_INDEXES_TYPE="Select Indexes Type"
COM_COMPONENTBUILDER_FILTER_SELECT_JOOMLA_PLUGIN_GROUP="Select Joomla Plugin Group"
COM_COMPONENTBUILDER_FILTER_SELECT_LIBRARY="Select Library"
COM_COMPONENTBUILDER_FILTER_SELECT_LOCATION="Select Location"
COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_GET="Select Main Get"
COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_SOURCE="Select Main Source"
COM_COMPONENTBUILDER_FILTER_SELECT_MODELLING_METHOD="Select Modelling Method"
COM_COMPONENTBUILDER_FILTER_SELECT_NAME="Select Name"
@@ -6072,7 +6103,9 @@ COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_NAME_LABEL="Fields Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_RULES_PATHS_DESCRIPTION="Where should the <b>custom</b> fields and rules be placed."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_RULES_PATHS_LABEL="Fields & Rules Location"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_DESCRIPTION="Select a field"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_HINT="Select a field"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_LABEL="Field"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_TITLESELECT="Select a field"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS="Joomla Module Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILESFULLPATH_DESCRIPTION="Add files to this component using the full path."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILESFULLPATH_LABEL="Files (full path)"
@@ -6458,7 +6491,12 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ADD_SALES_SERVER_LABEL="Add Sales Server"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ADD_SQL_LABEL="Add MySQL - (Install)"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ADD_SQL_UNINSTALL_LABEL="Add MySQL - (Uninstall)"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ADD_UPDATE_SERVER_LABEL="Add Update Server"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_DESCRIPTION="Enter a class extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_HINT="Select a Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_LABEL="Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_TITLEEDIT="Edit Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_TITLENEW="New Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_TITLESELECT="Select Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CODE="Code"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_COMPONENT="Component"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CREATED_BY_DESC="The user that created this Joomla Plugin."
@@ -6486,7 +6524,9 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELDS_NAME_LABEL="Fields Name"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELDS_RULES_PATHS_DESCRIPTION="Where should the <b>custom</b> fields and rules be placed."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELDS_RULES_PATHS_LABEL="Fields & Rules Location"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_DESCRIPTION="Select a field"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_HINT="Select a field"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_LABEL="Field"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FIELD_TITLESELECT="Select a field"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS="Joomla Plugin Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_ADDFILESFULLPATH_DESCRIPTION="Add files to this component using the full path."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_ADDFILESFULLPATH_LABEL="Files (full path)"
@@ -6597,7 +6637,12 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_UNFEATURED="%s Joomla Plugin G
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_UNFEATURED_1="%s Joomla Plugin Group unfeatured."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_UNPUBLISHED="%s Joomla Plugin Groups unpublished."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_UNPUBLISHED_1="%s Joomla Plugin Group unpublished."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_DESCRIPTION="Enter a class extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_HINT="Select a Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_LABEL="Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_TITLEEDIT="Edit Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_TITLENEW="New Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_TITLESELECT="Select Class Extends"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CREATED_BY_DESC="The user that created this Joomla Plugin Group."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CREATED_DATE_DESC="The date this Joomla Plugin Group was created."
@@ -6634,7 +6679,12 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_HEAD_LABEL="Class Header"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ID="Id"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_INIT_BUTTON_ACCESS="Joomla Plugin Init Button Access"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_DESCRIPTION="Select a plugin group"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_HINT="Select an Plugin Group"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_LABEL="Joomla Plugin Group"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_TITLEEDIT="Edit Plugin Group"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_TITLENEW="New Plugin Group"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_TITLESELECT="Select Plugin Group"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_LABEL_DESCRIPTION="Not mandatory, used to Label the Fieldset"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_LABEL_HINT="Name"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_LABEL_LABEL="Label"
@@ -7301,7 +7351,9 @@ COM_COMPONENTBUILDER_LIBRARY_CONFIG_EDIT="Editing the Library Config"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_ERROR_UNIQUE_ALIAS="Another Library Config has the same alias."
COM_COMPONENTBUILDER_LIBRARY_CONFIG_ERROR_UNIQUE_ALIAS_TRASHED="A trashed Library Config has the same alias ."
COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_DESCRIPTION="Select a field"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_HINT="Select a field"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_LABEL="Field"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_TITLESELECT="Select a field"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_ID="Id"
COM_COMPONENTBUILDER_LIBRARY_CONFIG_LIBRARY_DESCRIPTION="Select a library."
COM_COMPONENTBUILDER_LIBRARY_CONFIG_LIBRARY_LABEL="Library"
@@ -7515,6 +7567,7 @@ COM_COMPONENTBUILDER_LOCAL="Local"
COM_COMPONENTBUILDER_LOCAL_GET="Local (get)"
COM_COMPONENTBUILDER_LOCAL_POWERS_REPOSITORY_PATH="Local Powers Repository Path"
COM_COMPONENTBUILDER_LOGIN_FAILED="Login failed"
COM_COMPONENTBUILDER_MAIN_GET="Main Get"
COM_COMPONENTBUILDER_MAIN_MENU="Main Menu"
COM_COMPONENTBUILDER_MAKE_A_DIFFERENCE_WITH_JCB="Make a Difference with JCB"
COM_COMPONENTBUILDER_MAKE_YOUR_SELECTION="Make your selection"
@@ -7820,11 +7873,14 @@ COM_COMPONENTBUILDER_POWER_JOOMLASUPERPOWERS="joomla/super-powers"
COM_COMPONENTBUILDER_POWER_LICENSING="Licensing"
COM_COMPONENTBUILDER_POWER_LICENSING_TEMPLATE_HINT="/** * @package Joomla.Component.Builder * * @created 4th September, 2015 * @author Llewellyn van der Merwe <https://dev.vdm.io> * @git Joomla Component Builder <https://git.vdm.dev/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 */"
COM_COMPONENTBUILDER_POWER_LICENSING_TEMPLATE_LABEL="Licensing Template"
COM_COMPONENTBUILDER_POWER_LOAD_DESCRIPTION="Select a power"
COM_COMPONENTBUILDER_POWER_LOAD_HINT="Select a power to load"
COM_COMPONENTBUILDER_POWER_LOAD_LABEL="load"
COM_COMPONENTBUILDER_POWER_LOAD_POWERS_NOTE_DESCRIPTION="<p>When you would like to load a power to the project, but you do not want that power to be part of the <b>use namespace declarations</b> in the header of this power.</p><p>You do not need to again select any power that is already selected in the <b>Extends</b>, <b>Implements</b>, or <b>Use Selection</b> fields, since they are already being loaded.</p>"
COM_COMPONENTBUILDER_POWER_LOAD_POWERS_NOTE_LABEL="When to Load Powers Here?"
COM_COMPONENTBUILDER_POWER_LOAD_SELECTION_DESCRIPTION="Select powers that you want to make sure also load when this power is loaded."
COM_COMPONENTBUILDER_POWER_LOAD_SELECTION_LABEL="Load Powers"
COM_COMPONENTBUILDER_POWER_LOAD_TITLESELECT="Select a power"
COM_COMPONENTBUILDER_POWER_MAIN_CLASS_CODE_DESCRIPTION="Add the properties & methods here."
COM_COMPONENTBUILDER_POWER_MAIN_CLASS_CODE_LABEL="Properties & Methods"
COM_COMPONENTBUILDER_POWER_METHOD_LABEL="Methods"
@@ -7877,12 +7933,14 @@ COM_COMPONENTBUILDER_POWER_SYSTEM_NAME_MESSAGE="Error! Please add some text here
COM_COMPONENTBUILDER_POWER_TRAIT="trait"
COM_COMPONENTBUILDER_POWER_TYPE_DESCRIPTION="The type of power being build"
COM_COMPONENTBUILDER_POWER_TYPE_LABEL="Type of Power"
COM_COMPONENTBUILDER_POWER_USE_DESCRIPTION="Select a power"
COM_COMPONENTBUILDER_POWER_USE_GLOBAL="Use Global"
COM_COMPONENTBUILDER_POWER_USE_HINT="Name\Project\ClassName"
COM_COMPONENTBUILDER_POWER_USE_LABEL="Use"
COM_COMPONENTBUILDER_POWER_USE_MESSAGE="Error! Please add namespace here."
COM_COMPONENTBUILDER_POWER_USE_SELECTION_DESCRIPTION="Select namespace you want to use in your power."
COM_COMPONENTBUILDER_POWER_USE_SELECTION_LABEL="Use Selection"
COM_COMPONENTBUILDER_POWER_USE_TITLESELECT="Select a power"
COM_COMPONENTBUILDER_POWER_VERSION_DESC="A count of the number of times this Power has been revised."
COM_COMPONENTBUILDER_POWER_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_POWER_YES="Yes"
@@ -8113,6 +8171,7 @@ COM_COMPONENTBUILDER_SELECT_BRANCH_STATE="Select Branch State"
COM_COMPONENTBUILDER_SELECT_BUILD_DATE="Select Build Date"
COM_COMPONENTBUILDER_SELECT_COMPONENT="Select Component"
COM_COMPONENTBUILDER_SELECT_EXTENSION="Select Extension"
COM_COMPONENTBUILDER_SELECT_GET_GROUP="Select Get Group"
COM_COMPONENTBUILDER_SELECT_THE_COMPONENT_TO_COMPILE="Select the component to compile"
COM_COMPONENTBUILDER_SELECT_THE_COMPONENT_TO_SEARCH="Select the component to search"
COM_COMPONENTBUILDER_SELECT_THE_COMPONENT_YOUR_WOULD_LIKE_TO_IMPORT="Select the component your would like to import."
@@ -8509,6 +8568,8 @@ COM_COMPONENTBUILDER_SITE_VIEW_LOCK="Lock"
COM_COMPONENTBUILDER_SITE_VIEW_LOOP="Loop"
COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_DESCRIPTION="Select a main get"
COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_LABEL="Main Get"
COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_TITLEEDIT="Edit Main Get"
COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_TITLESELECT="Select Targetview"
COM_COMPONENTBUILDER_SITE_VIEW_MENU="Menu"
COM_COMPONENTBUILDER_SITE_VIEW_MENU_2="Menu 2"
COM_COMPONENTBUILDER_SITE_VIEW_MENU_3="Menu 3"
@@ -8777,7 +8838,11 @@ COM_COMPONENTBUILDER_SNIPPET_ID="Id"
COM_COMPONENTBUILDER_SNIPPET_INIT_BUTTON_ACCESS="Snippet Init Button Access"
COM_COMPONENTBUILDER_SNIPPET_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
COM_COMPONENTBUILDER_SNIPPET_LIBRARY_DESCRIPTION="Select a library."
COM_COMPONENTBUILDER_SNIPPET_LIBRARY_HINT="Select a Library"
COM_COMPONENTBUILDER_SNIPPET_LIBRARY_LABEL="Library"
COM_COMPONENTBUILDER_SNIPPET_LIBRARY_TITLEEDIT="Edit Library"
COM_COMPONENTBUILDER_SNIPPET_LIBRARY_TITLENEW="New Library"
COM_COMPONENTBUILDER_SNIPPET_LIBRARY_TITLESELECT="Select Library"
COM_COMPONENTBUILDER_SNIPPET_MODIFIED_BY_DESC="The last user that modified this Snippet."
COM_COMPONENTBUILDER_SNIPPET_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_SNIPPET_MODIFIED_DATE_DESC="The date this Snippet was modified."
@@ -8858,6 +8923,7 @@ COM_COMPONENTBUILDER_SNIPPET_TYPE_ERROR_UNIQUE_ALIAS_TRASHED="A trashed Snippet
COM_COMPONENTBUILDER_SNIPPET_TYPE_GUID_DESCRIPTION="Globally Unique Identifier"
COM_COMPONENTBUILDER_SNIPPET_TYPE_GUID_HINT="Auto Generated"
COM_COMPONENTBUILDER_SNIPPET_TYPE_GUID_LABEL="GUID"
COM_COMPONENTBUILDER_SNIPPET_TYPE_HINT="Select a Snippet Type"
COM_COMPONENTBUILDER_SNIPPET_TYPE_ID="Id"
COM_COMPONENTBUILDER_SNIPPET_TYPE_LABEL="Type"
COM_COMPONENTBUILDER_SNIPPET_TYPE_MODIFIED_BY_DESC="The last user that modified this Snippet Type."
@@ -8874,6 +8940,9 @@ COM_COMPONENTBUILDER_SNIPPET_TYPE_PERMISSION="Permissions"
COM_COMPONENTBUILDER_SNIPPET_TYPE_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_SNIPPET_TYPE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Snippet Type to customise the alias."
COM_COMPONENTBUILDER_SNIPPET_TYPE_STATUS="Status"
COM_COMPONENTBUILDER_SNIPPET_TYPE_TITLEEDIT="Edit Snippet Type"
COM_COMPONENTBUILDER_SNIPPET_TYPE_TITLENEW="New Snippet Type"
COM_COMPONENTBUILDER_SNIPPET_TYPE_TITLESELECT="Select Snippet Type"
COM_COMPONENTBUILDER_SNIPPET_TYPE_VERSION_DESC="A count of the number of times this Snippet Type has been revised."
COM_COMPONENTBUILDER_SNIPPET_TYPE_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_SNIPPET_URL_DESCRIPTION="Enter url"

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@

View File

@@ -24,9 +24,9 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory;
use VDM\Joomla\Data\Factory as DataFactory;
use VDM\Joomla\Utilities\GuidHelper;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -82,6 +82,50 @@ class Admin_viewController extends FormController
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'admin_view', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Resets the specified Admin View.
*

View File

@@ -76,6 +76,8 @@ class AjaxController extends BaseController
$this->registerTask('getEditCustomCodeButtons', 'ajax');
$this->registerTask('placedin', 'ajax');
$this->registerTask('checkPlaceholderName', 'ajax');
$this->registerTask('snippetDetails', 'ajax');
$this->registerTask('getSnippets', 'ajax');
$this->registerTask('getExistingValidationRuleCode', 'ajax');
$this->registerTask('getValidationRulesTable', 'ajax');
$this->registerTask('checkRuleName', 'ajax');
@@ -103,7 +105,7 @@ class AjaxController extends BaseController
// get the user for later use
$user = $this->app->getIdentity();
// get the input values
$jinput = $this->input ?? $this->app->input;
$jinput = $this->input ?? (method_exists($this->app, 'getInput') ? $this->app->getInput() : $this->app->input);
// check if we should return raw (DEFAULT TRUE SINCE J4)
$returnRaw = $jinput->get('raw', true, 'BOOLEAN');
// return to a callback function
@@ -1457,6 +1459,104 @@ class AjaxController extends BaseController
}
}
break;
case 'snippetDetails':
try
{
$idValue = $jinput->get('id', NULL, 'STRING');
if($idValue && $user->id != 0)
{
$ajaxModule = $this->getModel('ajax', 'Administrator');
if ($ajaxModule)
{
$result = $ajaxModule->getSnippetDetails($idValue);
}
else
{
$result = ['error' => 'There was an error! [149]'];
}
}
else
{
$result = ['error' => 'There was an error! [149]'];
}
if($callback)
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(\Exception $e)
{
if($callback)
{
echo $callback."(".json_encode($e).");";
}
elseif($returnRaw)
{
echo json_encode($e);
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'getSnippets':
try
{
$librariesValue = $jinput->get('libraries', NULL, 'STRING');
if($librariesValue && $user->id != 0)
{
$ajaxModule = $this->getModel('ajax', 'Administrator');
if ($ajaxModule)
{
$result = $ajaxModule->getSnippets($librariesValue);
}
else
{
$result = ['error' => 'There was an error! [149]'];
}
}
else
{
$result = ['error' => 'There was an error! [149]'];
}
if($callback)
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(\Exception $e)
{
if($callback)
{
echo $callback."(".json_encode($e).");";
}
elseif($returnRaw)
{
echo json_encode($e);
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'getExistingValidationRuleCode':
try
{

View File

@@ -24,6 +24,7 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory;
// No direct access to this file
@@ -80,6 +81,50 @@ class Class_extendsController extends FormController
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'class_extends', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Resets the specified Class Extends.
*

View File

@@ -83,7 +83,7 @@ class Class_methodsController extends AdminController
$success = true;
// set redirect
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=initialization_selection&power=ClassProperty&target=Class Methods', false);
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=initialization_selection&power=ClassMethod&target=Class Methods', false);
}
else
{
@@ -144,7 +144,7 @@ class Class_methodsController extends AdminController
if($user->authorise('class_method.reset', 'com_componentbuilder'))
{
// get the guid field of this entity
$key_field = PackageFactory::_('ClassProperty.Remote.Get')->getGuidField();
$key_field = PackageFactory::_('ClassMethod.Remote.Get')->getGuidField();
$guids = PackageFactory::_('Load')->values([$key_field], ['class_method'], ['id' => ['value' => $pks, 'operator' => 'IN']]);
try {
@@ -257,7 +257,7 @@ class Class_methodsController extends AdminController
if($user->authorise('class_method.push', 'com_componentbuilder'))
{
// get the guid field of this entity
$key_field = PackageFactory::_('ClassProperty.Remote.Set')->getGuidField();
$key_field = PackageFactory::_('ClassMethod.Remote.Set')->getGuidField();
$guids = PackageFactory::_('Load')->values([$key_field], ['class_method'], ['id' => ['value' => $pks, 'operator' => 'IN']]);
try {

View File

@@ -460,7 +460,7 @@ class CompilerController extends AdminController
if (UtilitiesArrayHelper::check($fileNames))
{
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
$moduleId = $jinput->post->get('install_item_id', 0, 'INT');
if ($moduleId > 0 && isset($fileNames[$moduleId]) && $this->installExtension($fileNames[$moduleId]))
{
@@ -503,7 +503,7 @@ class CompilerController extends AdminController
if (UtilitiesArrayHelper::check($fileNames))
{
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
$pluginId = $jinput->post->get('install_item_id', 0, 'INT');
if ($pluginId > 0 && isset($fileNames[$pluginId]) && $this->installExtension($fileNames[$pluginId]))
{

View File

@@ -24,6 +24,7 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory;
// No direct access to this file
@@ -80,6 +81,50 @@ class Custom_admin_viewController extends FormController
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'custom_admin_view', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Resets the specified Custom Admin View.
*

View File

@@ -24,6 +24,7 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory;
// No direct access to this file
@@ -80,6 +81,50 @@ class Dynamic_getController extends FormController
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'dynamic_get', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Resets the specified Dynamic Get.
*

View File

@@ -24,6 +24,7 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory;
// No direct access to this file
@@ -80,6 +81,50 @@ class FieldController extends FormController
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'field', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Resets the specified Field.
*

View File

@@ -36,8 +36,9 @@ class HelpController extends BaseController
public function help()
{
$user = Factory::getApplication()->getIdentity();
$jinput = Factory::getApplication()->input;
$app = Factory::getApplication();
$user = $app->getIdentity();
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// Check Token!
$token = Session::getFormToken();
$call_token = $jinput->get('token', 0, 'ALNUM');

View File

@@ -24,6 +24,7 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -78,6 +79,51 @@ class Joomla_plugin_groupController extends FormController
*/
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'joomla_plugin_group', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Method override to check if you can add a new record.
*

View File

@@ -24,6 +24,7 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Componentbuilder\Power\Factory as PowerFactory;
// No direct access to this file
@@ -80,6 +81,50 @@ class PowerController extends FormController
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'power', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Resets the specified power.
*

View File

@@ -24,6 +24,7 @@ use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory;
// No direct access to this file
@@ -80,6 +81,50 @@ class Site_viewController extends FormController
protected int $refid;
/**
* Method to edit an existing record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key
* (sometimes required to avoid router collisions).
*
* @return boolean True if access level check and checkout passes, false otherwise.
*
* @since 1.6
*/
public function edit($key = null, $urlVar = null)
{
// for modal title key selection (unique key to do mapping)
$titleKey = $this->input->get('titleKey', 'id', 'word');
$guid = null;
$value = null;
// Determine the name of the primary key for the data.
if (empty($key))
{
$model = $this->getModel();
$table = $model->getTable();
$key = $table->getKeyName();
}
if ($titleKey === 'guid')
{
$guid = $this->input->get('guid', null, 'string');
}
if ($guid !== null && GuidHelper::valid($guid))
{
$value = GuidHelper::item($guid, 'site_view', 'a.' . $key, 'componentbuilder');
}
if ($value !== null)
{
$this->input->set($key, $value);
}
return parent::edit($key, $urlVar);
}
/**
* Resets the specified Site View.
*

View File

@@ -21,6 +21,7 @@ use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\String\FieldHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -48,9 +49,9 @@ class AdminlistvieworderfieldsField extends ListField
protected function getOptions()
{
// load the db object
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$ID = $jinput->getInt('id', 0);
$adminView = null;

View File

@@ -1,68 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Adminviews Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class AdminviewsField extends ListField
{
/**
* The adminviews field type.
*
* @var string
*/
public $type = 'Adminviews';
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
// Get the database object.
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.system_name'),array('guid','adminview_system_name')));
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.system_name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = [];
if ($items)
{
if ($this->multiple === false)
{
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
}
foreach($items as $item)
{
$options[] = Html::_('select.option', $item->guid, $item->adminview_system_name);
}
}
return $options;
}
}

View File

@@ -18,6 +18,7 @@ use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -45,9 +46,9 @@ class AliasbuilderField extends ListField
protected function getOptions()
{
// load the db object
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$adminView = $jinput->getInt('id', 0);
// rest the fields ids

View File

@@ -1,186 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Uri\Uri;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Classextends Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class ClassextendsField extends ListField
{
/**
* The classextends field type.
*
* @var string
*/
public $type = 'Classextends';
/**
* Override to add new button
*
* @return string The field input markup.
*
* @since 3.2
*/
protected function getInput()
{
// see if we should add buttons
$set_button = $this->getAttribute('button');
// get html
$html = parent::getInput();
// if true set button
if ($set_button === 'true')
{
$button = array();
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
'view' => 'word'
));
// check if new item
$ref = '';
$refJ = '';
if (!is_null($values['id']) && strlen($values['view']))
{
// only load referral if not new item.
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
$refJ .= '&return=' . $_return;
}
// get button label
$button_label = trim($button_code_name);
$button_label = preg_replace('/_+/', ' ', $button_label);
$button_label = preg_replace('/\s+/', ' ', $button_label);
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = Factory::getApplication()->getIdentity();
// only add if user allowed to create class_extends
if ($user->authorise('class_extends.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px;"
href="index.php?option=com_componentbuilder&amp;view=class_extends&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit class_extends
if ($user->authorise('class_extends.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small btn-outline-success button-select hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; border-radius: 0px 4px 4px 0px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
document.addEventListener('DOMContentLoaded', function() {
let ".$button_code_name."Field = document.getElementById('jform_".$button_code_name."');
if (!".$button_code_name."Field) { return; }
".$button_code_name."Field.addEventListener('change', function(e) {
e.preventDefault();
let ".$button_code_name."Value = this.value;
".$button_code_name."Button(".$button_code_name."Value);
});
let ".$button_code_name."Value = ".$button_code_name."Field.value;
".$button_code_name."Button(".$button_code_name."Value);
});
function ".$button_code_name."Button(value) {
var createButton = document.getElementById('".$button_code_name."Create');
var editButton = document.getElementById('".$button_code_name."Edit');
if (value > 0) {
// hide the create button
createButton.style.display = 'none';
// show edit button
editButton.style.display = 'block';
let url = 'index.php?option=com_componentbuilder&view=class_extendings&task=class_extends.edit&id='+value+'".$refJ."';
editButton.setAttribute('href', url);
} else {
// show the create button
createButton.style.display = 'block';
// hide edit button
editButton.style.display = 'none';
}
}";
}
// check if button was created for class_extends field.
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = Factory::getApplication()->getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-group">' .$html . implode('',$button).'</div>';
}
}
return $html;
}
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
// Get the user object.
$user = Factory::getApplication()->getIdentity();
// Get the databse object.
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.name'),array('guid','class_extends_name')));
$query->from($db->quoteName('#__componentbuilder_class_extends', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.name ASC');
// Implement View Level Access (if set in table)
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
$columns = $db->getTableColumns('#__componentbuilder_class_extends');
if(isset($columns['access']))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
}
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = Html::_('select.option', '', 'Select a class');
foreach($items as $item)
{
$options[] = Html::_('select.option', $item->guid, $item->class_extends_name);
}
}
return $options;
}
}

View File

@@ -17,6 +17,7 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Uri\Uri;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -56,7 +57,7 @@ class ClasspowersField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
@@ -153,8 +154,8 @@ class ClasspowersField extends ListField
{
// Get the user object.
$user = Factory::getApplication()->getIdentity();
// Get the databse object.
$db = Factory::getDBO();
// load the db object
$db = Factory::getContainer()->get(DatabaseInterface::class);
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.name','a.system_name','a.type','a.power_version'),array('guid','extends_name','system_name','type','version')));
$query->from($db->quoteName('#__componentbuilder_power', 'a'));
@@ -173,7 +174,7 @@ class ClasspowersField extends ListField
}
}
// get the input
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$power_id = $jinput->getInt('id', 0);
// if we have an id we remove all classes of the same namespace and name

View File

@@ -20,6 +20,7 @@ use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -46,15 +47,15 @@ class ComponentadminmenusField extends ListField
*/
protected function getOptions()
{
// load the db opbject
$db = Factory::getDBO();
// load the db object
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$ID = $jinput->getInt('id', 0);
// rest the fields guid's
$viewGuids = array();
$viewGuids = [];
if (is_numeric($ID) && $ID >= 1)
{
// get the joomla component ID

View File

@@ -20,6 +20,7 @@ use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -47,9 +48,9 @@ class ComponentadminviewsField extends ListField
protected function getOptions()
{
// load the db opbject
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$ID = $jinput->getInt('id', 0);

View File

@@ -1,68 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Customadminviews Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class CustomadminviewsField extends ListField
{
/**
* The customadminviews field type.
*
* @var string
*/
public $type = 'Customadminviews';
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
// Get the databse object.
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.system_name'),array('guid','customadminview_system_name')));
$query->from($db->quoteName('#__componentbuilder_custom_admin_view', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.system_name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = [];
if ($items)
{
if ($this->multiple === false)
{
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
}
foreach($items as $item)
{
$options[] = Html::_('select.option', $item->guid, $item->customadminview_system_name);
}
}
return $options;
}
}

View File

@@ -21,6 +21,7 @@ use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\GuidHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -48,9 +49,9 @@ class DynamicdashboardField extends ListField
protected function getOptions()
{
// load the db opbject
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$id = $jinput->getInt('id', 0);
// set the targets

View File

@@ -56,7 +56,7 @@ class DynamicgetField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',

View File

@@ -59,7 +59,6 @@ class DynamicgetsfiltergettypeField extends ListField
$_results = $db->loadColumn();
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_GETTYPE') . ' -');
if ($_results)
{

View File

@@ -56,7 +56,7 @@ class ExcludedlanguagesField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',

View File

@@ -1,77 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Fields Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class FieldsField extends ListField
{
/**
* The fields field type.
*
* @var string
*/
public $type = 'Fields';
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(['a.guid', 'a.name', 'a.xml', 'b.name'], ['guid', 'field_name', 'xml', 'type']));
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
$query->join('LEFT', '#__componentbuilder_fieldtype AS b ON b.guid = a.fieldtype');
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.name ASC');
$db->setQuery((string) $query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = Html::_('select.option', '', 'Select an option');
foreach($items as $item)
{
// get the field name (TODO this could slow down the system so we will need to improve on this)
if (isset($item->xml) && ComponentbuilderHelper::checkJson($item->xml))
{
$field_xml = json_decode($item->xml);
$field_name = ComponentbuilderHelper::getBetween($field_xml,'name="','"');
$field_name = ComponentbuilderHelper::safeFieldName($field_name);
$options[] = Html::_('select.option', $item->guid, $item->field_name . ' [ ' . $field_name . ' - ' . $item->type . ' ]');
}
else
{
$options[] = Html::_('select.option', $item->guid, $item->field_name . ' [ empty - ' . $item->type . ' ]');
}
}
}
return $options;
}
}

View File

@@ -56,7 +56,7 @@ class FieldtypesField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',

View File

@@ -42,9 +42,9 @@ class FilebehaviourField extends ListField
*/
protected function getOptions()
{
// get the input from url
$jinput = Factory::getApplication()->input;
// get the library id
// get the input from url
$jinput = Factory::getApplication()->getInput();
// get the library id
$libID = $jinput->getInt('id', 0);
$options[] = Html::_('select.option', '1', Text::_('COM_COMPONENTBUILDER_ALWAYS_ADD'));
// add build in option for some libraries
@@ -56,6 +56,6 @@ class FilebehaviourField extends ListField
$options[] = Html::_('select.option', '2', Text::_('COM_COMPONENTBUILDER_CONDITIONS'));
$options[] = Html::_('select.option', '3', Text::_('COM_COMPONENTBUILDER_CUSTOM_SCRIPT'));
$options[] = Html::_('select.option', '0', Text::_('COM_COMPONENTBUILDER_DO_NOT_ADD'));
return $options;
return $options;
}
}

View File

@@ -17,6 +17,7 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Uri\Uri;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -56,7 +57,7 @@ class InterfacepowersField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
@@ -154,7 +155,7 @@ class InterfacepowersField extends ListField
// Get the user object.
$user = Factory::getApplication()->getIdentity();
// Get the databse object.
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.name','a.system_name','a.type','a.power_version'),array('guid','extendsinterfaces_name','system_name','type','version')));
$query->from($db->quoteName('#__componentbuilder_power', 'a'));
@@ -173,7 +174,7 @@ class InterfacepowersField extends ListField
}
}
// get the input
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$power_id = $jinput->getInt('id', 0);
// if we have an id we remove all classes of the same namespace and name

View File

@@ -20,6 +20,7 @@ use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -47,9 +48,9 @@ class JoinfieldsField extends ListField
protected function getOptions()
{
// load the db opbject
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$ID = $jinput->getInt('id', 0);
// rest the fields guids

View File

@@ -56,7 +56,7 @@ class JoomlacomponentField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',

View File

@@ -1,186 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Uri\Uri;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Joomlaplugingroups Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class JoomlaplugingroupsField extends ListField
{
/**
* The joomlaplugingroups field type.
*
* @var string
*/
public $type = 'Joomlaplugingroups';
/**
* Override to add new button
*
* @return string The field input markup.
*
* @since 3.2
*/
protected function getInput()
{
// see if we should add buttons
$set_button = $this->getAttribute('button');
// get html
$html = parent::getInput();
// if true set button
if ($set_button === 'true')
{
$button = array();
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
'view' => 'word'
));
// check if new item
$ref = '';
$refJ = '';
if (!is_null($values['id']) && strlen($values['view']))
{
// only load referral if not new item.
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
$refJ .= '&return=' . $_return;
}
// get button label
$button_label = trim($button_code_name);
$button_label = preg_replace('/_+/', ' ', $button_label);
$button_label = preg_replace('/\s+/', ' ', $button_label);
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = Factory::getApplication()->getIdentity();
// only add if user allowed to create joomla_plugin_group
if ($user->authorise('core.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px;"
href="index.php?option=com_componentbuilder&amp;view=joomla_plugin_group&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit joomla_plugin_group
if ($user->authorise('core.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small btn-outline-success button-select hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; border-radius: 0px 4px 4px 0px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
document.addEventListener('DOMContentLoaded', function() {
let ".$button_code_name."Field = document.getElementById('jform_".$button_code_name."');
if (!".$button_code_name."Field) { return; }
".$button_code_name."Field.addEventListener('change', function(e) {
e.preventDefault();
let ".$button_code_name."Value = this.value;
".$button_code_name."Button(".$button_code_name."Value);
});
let ".$button_code_name."Value = ".$button_code_name."Field.value;
".$button_code_name."Button(".$button_code_name."Value);
});
function ".$button_code_name."Button(value) {
var createButton = document.getElementById('".$button_code_name."Create');
var editButton = document.getElementById('".$button_code_name."Edit');
if (value > 0) {
// hide the create button
createButton.style.display = 'none';
// show edit button
editButton.style.display = 'block';
let url = 'index.php?option=com_componentbuilder&view=joomla_plugin_groups&task=joomla_plugin_group.edit&id='+value+'".$refJ."';
editButton.setAttribute('href', url);
} else {
// show the create button
createButton.style.display = 'block';
// hide edit button
editButton.style.display = 'none';
}
}";
}
// check if button was created for joomla_plugin_group field.
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = Factory::getApplication()->getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-group">' .$html . implode('',$button).'</div>';
}
}
return $html;
}
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
// Get the user object.
$user = Factory::getApplication()->getIdentity();
// Get the databse object.
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.name'),array('guid','joomla_plugin_group_name')));
$query->from($db->quoteName('#__componentbuilder_joomla_plugin_group', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.name ASC');
// Implement View Level Access (if set in table)
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
$columns = $db->getTableColumns('#__componentbuilder_joomla_plugin_group');
if(isset($columns['access']))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
}
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = Html::_('select.option', '', 'Select a group');
foreach($items as $item)
{
$options[] = Html::_('select.option', $item->guid, $item->joomla_plugin_group_name);
}
}
return $options;
}
}

View File

@@ -56,7 +56,7 @@ class JoomlapluginsField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',

View File

@@ -16,6 +16,7 @@ use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -43,9 +44,9 @@ class LibconfigfieldField extends ListField
protected function getOptions()
{
// load the db object
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$ID = $jinput->getInt('id', 0);
// rest the fields ids
@@ -83,7 +84,7 @@ class LibconfigfieldField extends ListField
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
$options = [];
if ($items)
{
$options[] = Html::_('select.option', '', 'Select an option');
@@ -94,6 +95,6 @@ class LibconfigfieldField extends ListField
return $options;
}
}
return array(Html::_('select.option', '', 'No config fields linked'));
return [Html::_('select.option', '', 'No config fields linked')];
}
}

View File

@@ -56,7 +56,7 @@ class LibrariesField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',

View File

@@ -17,6 +17,7 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Uri\Uri;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -56,7 +57,7 @@ class LibrariesxField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
@@ -152,10 +153,10 @@ class LibrariesxField extends ListField
protected function getOptions()
{
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the library id
$libID = $jinput->getInt('id', 0);
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.name'),array('guid','libraries_name')));
$query->from($db->quoteName('#__componentbuilder_library', 'a'));

View File

@@ -1,175 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Uri\Uri;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Library Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class LibraryField extends ListField
{
/**
* The library field type.
*
* @var string
*/
public $type = 'Library';
/**
* Override to add new button
*
* @return string The field input markup.
*
* @since 3.2
*/
protected function getInput()
{
// see if we should add buttons
$set_button = $this->getAttribute('button');
// get html
$html = parent::getInput();
// if true set button
if ($set_button === 'true')
{
$button = array();
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
'view' => 'word'
));
// check if new item
$ref = '';
$refJ = '';
if (!is_null($values['id']) && strlen($values['view']))
{
// only load referral if not new item.
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
$refJ .= '&return=' . $_return;
}
// get button label
$button_label = trim($button_code_name);
$button_label = preg_replace('/_+/', ' ', $button_label);
$button_label = preg_replace('/\s+/', ' ', $button_label);
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = Factory::getApplication()->getIdentity();
// only add if user allowed to create library
if ($user->authorise('library.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px;"
href="index.php?option=com_componentbuilder&amp;view=library&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit library
if ($user->authorise('library.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small btn-outline-success button-select hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; border-radius: 0px 4px 4px 0px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
document.addEventListener('DOMContentLoaded', function() {
let ".$button_code_name."Field = document.getElementById('jform_".$button_code_name."');
if (!".$button_code_name."Field) { return; }
".$button_code_name."Field.addEventListener('change', function(e) {
e.preventDefault();
let ".$button_code_name."Value = this.value;
".$button_code_name."Button(".$button_code_name."Value);
});
let ".$button_code_name."Value = ".$button_code_name."Field.value;
".$button_code_name."Button(".$button_code_name."Value);
});
function ".$button_code_name."Button(value) {
var createButton = document.getElementById('".$button_code_name."Create');
var editButton = document.getElementById('".$button_code_name."Edit');
if (value > 0) {
// hide the create button
createButton.style.display = 'none';
// show edit button
editButton.style.display = 'block';
let url = 'index.php?option=com_componentbuilder&view=libraries&task=library.edit&id='+value+'".$refJ."';
editButton.setAttribute('href', url);
} else {
// show the create button
createButton.style.display = 'block';
// hide edit button
editButton.style.display = 'none';
}
}";
}
// check if button was created for library field.
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = Factory::getApplication()->getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-group">' .$html . implode('',$button).'</div>';
}
}
return $html;
}
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(['a.guid','a.name'], ['guid','library_name']));
$query->from($db->quoteName('#__componentbuilder_library', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->where($db->quoteName('a.type') . ' = 1');
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = [];
if ($items)
{
$options[] = Html::_('select.option', '', 'Select an option');
foreach($items as $item)
{
$options[] = Html::_('select.option', $item->guid, $item->library_name);
}
}
return $options;
}
}

View File

@@ -43,7 +43,7 @@ class LibraryfilesField extends ListField
protected function getOptions()
{
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the library id
$id = $jinput->getInt('id', 0);
// get custom the files

View File

@@ -16,6 +16,7 @@ use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -43,9 +44,9 @@ class LinkedviewsorderfieldsField extends ListField
protected function getOptions()
{
// load the db object
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$adminView = $jinput->getInt('id', 0);
// check if we have an admin view
@@ -84,7 +85,7 @@ class LinkedviewsorderfieldsField extends ListField
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
$options = [];
if ($items)
{
$options[] = Html::_('select.option', '', Text::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_SELECT_AN_OPTION'));

View File

@@ -21,6 +21,7 @@ use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\String\FieldHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -48,9 +49,9 @@ class ListfieldsField extends ListField
protected function getOptions()
{
// load the db opbject
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$ID = $jinput->getInt('id', 0);
// rest the fields guids

View File

@@ -1,180 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Uri\Uri;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Maingets Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class MaingetsField extends ListField
{
/**
* The maingets field type.
*
* @var string
*/
public $type = 'Maingets';
/**
* Override to add new button
*
* @return string The field input markup.
*
* @since 3.2
*/
protected function getInput()
{
// see if we should add buttons
$set_button = $this->getAttribute('button');
// get html
$html = parent::getInput();
// if true set button
if ($set_button === 'true')
{
$button = array();
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
'view' => 'word'
));
// check if new item
$ref = '';
$refJ = '';
if (!is_null($values['id']) && strlen($values['view']))
{
// only load referral if not new item.
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
$refJ .= '&return=' . $_return;
}
// get button label
$button_label = trim($button_code_name);
$button_label = preg_replace('/_+/', ' ', $button_label);
$button_label = preg_replace('/\s+/', ' ', $button_label);
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = Factory::getApplication()->getIdentity();
// only add if user allowed to create dynamic_get
if ($user->authorise('dynamic_get.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px;"
href="index.php?option=com_componentbuilder&amp;view=dynamic_get&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit dynamic_get
if ($user->authorise('dynamic_get.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small btn-outline-success button-select hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; border-radius: 0px 4px 4px 0px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
document.addEventListener('DOMContentLoaded', function() {
let ".$button_code_name."Field = document.getElementById('jform_".$button_code_name."');
if (!".$button_code_name."Field) { return; }
".$button_code_name."Field.addEventListener('change', function(e) {
e.preventDefault();
let ".$button_code_name."Value = this.value;
".$button_code_name."Button(".$button_code_name."Value);
});
let ".$button_code_name."Value = ".$button_code_name."Field.value;
".$button_code_name."Button(".$button_code_name."Value);
});
function ".$button_code_name."Button(value) {
var createButton = document.getElementById('".$button_code_name."Create');
var editButton = document.getElementById('".$button_code_name."Edit');
if (value > 0) {
// hide the create button
createButton.style.display = 'none';
// show edit button
editButton.style.display = 'block';
let url = 'index.php?option=com_componentbuilder&view=dynamic_gets&task=dynamic_get.edit&id='+value+'".$refJ."';
editButton.setAttribute('href', url);
} else {
// show the create button
createButton.style.display = 'block';
// hide edit button
editButton.style.display = 'none';
}
}";
}
// check if button was created for dynamic_get field.
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = Factory::getApplication()->getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-group">' .$html . implode('',$button).'</div>';
}
}
return $html;
}
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
// Get the databse object.
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.name','a.gettype'),array('guid','main_get_name','type')));
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
$query->where('( '.$db->quoteName('a.gettype') . ' = 1 OR ' . $db->quoteName('a.gettype') . ' = 2 )');
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = [];
if ($items)
{
$model = ComponentbuilderHelper::getModel('dynamic_gets');
if ($this->multiple === false)
{
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
}
foreach($items as $item)
{
$type = $model->selectionTranslation($item->type, 'gettype');
$options[] = Html::_('select.option', $item->guid, $item->main_get_name . ' (' . Text::_($type) . ')');
}
}
return $options;
}
}

View File

@@ -20,6 +20,7 @@ use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use Joomla\Database\DatabaseInterface;
// No direct access to this file
\defined('_JEXEC') or die;
@@ -47,9 +48,9 @@ class MatchfieldField extends ListField
protected function getOptions()
{
// load the db object
$db = Factory::getDBO();
$db = Factory::getContainer()->get(DatabaseInterface::class);
// get the input from url
$jinput = Factory::getApplication()->input;
$jinput = Factory::getApplication()->getInput();
// get the id
$ID = $jinput->getInt('id', 0);

View File

@@ -0,0 +1,69 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ModalSelectField as ModalSelectFieldCore;
use Joomla\Database\ParameterType;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* A modal content selection field, now with the radical ability to handle string-based GUIDs.
* Because, apparently, assuming everything is an integer was the hill to die on.
*
* This override exists solely to bypass a hardcoded constraint that shouldn't have been there in the first place.
* But hey, at least we get another class extension to maintain!
*
* @since 5.0.0
*/
class ModalSelectField extends ModalSelectFieldCore
{
/**
* Method to retrieve the title of selected item.
*
* @return string
*
* @since 5.0.0
*/
protected function getValueTitle()
{
// Selecting the title for the field value, when required info were given
if ($this->value && $this->sql_title_table && $this->sql_title_column && $this->sql_title_key) {
try {
$db = $this->getDatabase();
$query = $db->getQuery(true)
->select($db->quoteName($this->sql_title_column))
->from($db->quoteName($this->sql_title_table))
->where($db->quoteName($this->sql_title_key) . ' = :value')
->bind(':value', $this->value, is_numeric($this->value) ? ParameterType::INTEGER : ParameterType::STRING);
/**
* All this—just because someone decided to hardcode [ParameterType::INTEGER] in the core.
* We could have just handle it dynamically, but no...
*
* Polymorphic behavior isn't the enemy. Hardcoded constraints that force class extensions?
* Now *that's* the real problem. But sure, let's keep pretending that integers are the
* only valid identifiers in a database.
*/
$db->setQuery($query);
return $db->loadResult() ?: $this->value;
} catch (\Throwable $e) {
Factory::getApplication()->enqueueMessage($e->getMessage(), 'error');
}
}
return $this->value;
}
}

View File

@@ -1,96 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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\Component\Componentbuilder\Administrator\Field;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
\defined('_JEXEC') or die;
/**
* Namespaces Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class NamespacesField extends ListField
{
/**
* The namespaces field type.
*
* @var string
*/
public $type = 'Namespaces';
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
* @since 1.6
*/
protected function getOptions()
{
// Get the user object.
$user = Factory::getApplication()->getIdentity();
// Get the databse object.
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.guid','a.name','a.namespace','a.type','a.power_version'),array('guid','use_name','namespace','type','version')));
$query->from($db->quoteName('#__componentbuilder_power', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.name ASC');
$query->order('a.type ASC');
// Implement View Level Access (if set in table)
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
$columns = $db->getTableColumns('#__componentbuilder_power');
if(isset($columns['access']))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
}
// get the input
$jinput = Factory::getApplication()->input;
// get the id
$power_id = $jinput->getInt('id', 0);
// if we have an id we remove all classes of the same namespace and name
if ($power_id > 0 && ($exclude_powers = ComponentbuilderHelper::excludePowers($power_id)) !== false)
{
$query->where('a.id NOT IN (' . implode(',', $exclude_powers) . ')');
}
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
// if none was found, we add this to set an alternative to set custom
if (!$items)
{
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_NONE_FOUND'));
}
if ($items)
{
if ($this->multiple === false)
{
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
}
foreach($items as $item)
{
$options[] = Html::_('select.option', $item->guid, str_replace('.','\\', $item->namespace) . ' [' . $item->use_name . '] (v' . $item->version . ' - ' . $item->type . ')');
}
}
return $options;
}
}

View File

@@ -56,7 +56,7 @@ class ServersField extends ListField
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = Factory::getApplication();
$jinput = $app->input;
$jinput = method_exists($app, 'getInput') ? $app->getInput() : $app->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',

Some files were not shown because too many files have changed in this diff Show More