Compare commits

..

74 Commits
v4.1.1 ... 5.x

Author SHA1 Message Date
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
278 changed files with 13588 additions and 6149 deletions

View File

@ -1,28 +1,36 @@
# v4.1.1
# v5.1.2-alpha1
- Fix the template and layout linker for packages.
# 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
@ -44,37 +52,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+
@ -94,9 +102,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.
@ -121,25 +129,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.
@ -165,6 +173,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.1 Was Successful! Let us know if anything is not working as expected.</h3></div>';
<h3>Upgrade to Version 5.1.2-alpha1 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.1**) 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-alpha1**) 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:** 3rd July, 2025 · **Version:** 4.1.1
* **Created:** 30th April, 2015 · **Last Build:** 15th July, 2025 · **Version:** 5.1.2-alpha1
* **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved.
* **Lines:** 1086395 · **Fields:** 2090 · **Files:** 7357 · **Folders:** 716
* **Lines:** 1095418 · **Fields:** 2096 · **Files:** 7516 · **Folders:** 728
> 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.1**) 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-alpha1**) 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:** 3rd July, 2025 · **Version:** 4.1.1
* **Created:** 30th April, 2015 · **Last Build:** 15th July, 2025 · **Version:** 5.1.2-alpha1
* **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved.
* **Lines:** 1086395 · **Fields:** 2090 · **Files:** 7357 · **Folders:** 716
* **Lines:** 1095418 · **Fields:** 2096 · **Files:** 7516 · **Folders:** 728
> Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions.

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
@ -1301,15 +1315,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

@ -735,16 +735,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"
@ -3873,6 +3895,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"
@ -4178,6 +4202,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"
@ -4528,9 +4553,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."
@ -5163,7 +5195,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"
@ -6094,7 +6125,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 Paths"
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)"
@ -6476,7 +6509,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."
@ -6504,7 +6542,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 Paths"
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)"
@ -6615,7 +6655,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."
@ -6652,7 +6697,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"
@ -7319,7 +7369,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"
@ -7533,6 +7585,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"
@ -7838,11 +7891,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"
@ -7895,12 +7951,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"
@ -8131,6 +8189,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."
@ -8527,6 +8586,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"
@ -8795,7 +8856,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."
@ -8876,6 +8941,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."
@ -8892,6 +8958,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

@ -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');
@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

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

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

@ -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

@ -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

@ -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

@ -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

@ -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;
/**
* Snippettype Form Field class for the Componentbuilder component
*
* @since 1.6
*/
class SnippettypeField extends ListField
{
/**
* The snippettype field type.
*
* @var string
*/
public $type = 'Snippettype';
/**
* 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'),array('guid','type_name')));
$query->from($db->quoteName('#__componentbuilder_snippet_type', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.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->type_name);
}
}
return $options;
}
}

View File

@ -22,7 +22,7 @@ use Joomla\CMS\Language\Text;
use Joomla\CMS\Access\Access;
use Joomla\CMS\Access\Rules as AccessRules;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filesystem\File;
use Joomla\Filesystem\File;
use Joomla\CMS\Language\Language;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
use Joomla\CMS\Object\CMSObject;
@ -35,8 +35,8 @@ use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\Archive\Archive;
use Joomla\CMS\Filesystem\Folder;
use Joomla\CMS\Filesystem\Path;
use Joomla\Filesystem\Folder;
use Joomla\Filesystem\Path;
use VDM\Joomla\Openai\Factory as OpenaiFactory;
use VDM\Joomla\Data\Factory as DataFactory;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
@ -60,7 +60,6 @@ use VDM\Joomla\Utilities\String\NamespaceHelper;
use VDM\Joomla\Utilities\MathHelper;
use VDM\Joomla\Utilities\String\PluginHelper;
use VDM\Joomla\Utilities\FormHelper;
use Joomla\Filesystem\Folder as FilesystemFolder;
use Joomla\CMS\Log\Log;
use Joomla\CMS\Router\Route;
@ -251,7 +250,7 @@ abstract class ComponentbuilderHelper
}
try {
$files = FilesystemFolder::files(
$files = Folder::files(
'.',
'\.php',
true,

View File

@ -4113,6 +4113,193 @@ class AjaxModel extends ListModel
return '&ref=placeholder&refid=' . $id;
}
// Used in snippet
/**
* Retrieves published snippet GUIDs for valid libraries.
*
* @param mixed $libraries JSON string or array of library GUIDs.
*
* @return array|false List of snippet IDs or false on failure.
* @since 5.1.1
*/
public function getSnippets($libraries)
{
// Decode JSON if required
if (JsonHelper::check($libraries))
{
$libraries = json_decode($libraries, true);
}
// Ensure we have a valid array of libraries
if (!UtilitiesArrayHelper::check($libraries))
{
return false;
}
// Validate and expand libraries
$validatedLibraries = $this->expandAndValidateLibraries($libraries);
if (!$validatedLibraries)
{
return false;
}
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('a.id'))
->from($db->quoteName('#__componentbuilder_snippet', 'a'))
->where($db->quoteName('a.published') . ' = 1')
->where($db->quoteName('a.library') . ' IN ("' . implode('","', $validatedLibraries) . '")');
$db->setQuery($query);
$db->execute();
return $db->getNumRows() ? $db->loadColumn() : false;
}
/**
* Validates and expands library GUIDs to ensure only integers and valid references remain.
*
* @param array $libraries The original list of library GUIDs.
*
* @return array|false Sanitized and validated list of libraries, or false.
* @since 5.1.1
*/
protected function expandAndValidateLibraries(array $libraries)
{
$expanded = [];
foreach ($libraries as $guid)
{
$guid = (string) $guid;
$type = GetHelper::var('library', $guid, 'guid', 'type');
if ((int) $type === 2)
{
$bundled = GetHelper::var('library', $guid, 'guid', 'libraries');
if (JsonHelper::check($bundled))
{
$bundled = json_decode($bundled, true);
}
if (UtilitiesArrayHelper::check($bundled))
{
foreach ($bundled as $lib)
{
$expanded[$lib] = $lib;
}
}
elseif (is_numeric($bundled))
{
$expanded[$bundled] = $bundled;
}
}
else
{
$expanded[$guid] = $guid;
}
}
// Remove invalid entries and duplicates
$valid = array_filter(array_unique($expanded), function ($guid) {
return GuidHelper::valid($guid);
});
return UtilitiesArrayHelper::check($valid) ? array_values($valid) : false;
}
/**
* Retrieves snippet details by GUID or ID.
*
* @param string|int $key The snippet GUID (string) or ID (int).
*
* @return object|false The snippet data object or false on failure.
* @since 5.1.1
*/
public function getSnippetDetails($key)
{
$target = $this->resolveSnippetKeyField($key);
if ($target === false)
{
return false;
}
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query
->select($db->quoteName(
[
'a.name',
'a.heading',
'a.usage',
'a.description',
'b.name',
'a.snippet',
'a.url',
'c.name'
],
[
'name',
'heading',
'usage',
'description',
'type',
'snippet',
'url',
'library'
]
))
->from($db->quoteName('#__componentbuilder_snippet', 'a'))
->join('LEFT', $db->quoteName('#__componentbuilder_snippet_type', 'b') . ' ON ' . $db->quoteName('a.type') . ' = ' . $db->quoteName('b.guid'))
->join('LEFT', $db->quoteName('#__componentbuilder_library', 'c') . ' ON ' . $db->quoteName('a.library') . ' = ' . $db->quoteName('c.guid'))
->where($db->quoteName('a.published') . ' >= 1')
->where($db->quoteName("a.$target") . ' = ' . $db->quote($key));
$db->setQuery($query);
$db->execute();
if ($db->getNumRows() > 0)
{
$snippet = $db->loadObject();
if (isset($snippet->snippet))
{
$snippet->snippet = base64_decode($snippet->snippet);
}
return $snippet;
}
return false;
}
/**
* Resolves whether the given key is a GUID or numeric ID and returns the appropriate field.
*
* @param mixed $key The value used to identify the snippet.
*
* @return string|false 'guid', 'id', or false if invalid.
* @since 5.1.1
*/
protected function resolveSnippetKeyField($key)
{
if (GuidHelper::valid($key))
{
return 'guid';
}
if (is_numeric($key))
{
return 'id';
}
return false;
}
// Used in validation_rule
public function getExistingValidationRuleCode($name)
{

View File

@ -596,42 +596,6 @@ class Class_methodModel extends AdminModel
return $data;
}
/**
* Method to validate the form data.
*
* @param Form $form The form to validate against.
* @param array $data The data to validate.
* @param string $group The name of the field group to validate.
*
* @return mixed Array of filtered data if valid, false otherwise.
*
* @see JFormRule
* @see JFilterInput
* @since 12.2
*/
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
// now change the required field attributes value
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
// also clear the data set
unset($data[$requiredField]);
}
}
}
return parent::validate($form, $data, $group);
}
/**
* Method to get the unique fields of this table.
*

View File

@ -283,10 +283,6 @@ class Class_propertiesModel extends ListModel
// From the componentbuilder_item table
$query->from($db->quoteName('#__componentbuilder_class_property', 'a'));
// From the componentbuilder_joomla_plugin_group table.
$query->select($db->quoteName(['g.name','g.id'],['joomla_plugin_group_name','joomla_plugin_group_id']));
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin_group', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin_group') . ' = ' . $db->quoteName('g.guid') . ')');
// Filter by published state
$published = $this->getState('filter.published');
if (is_numeric($published))

View File

@ -587,42 +587,6 @@ class Class_propertyModel extends AdminModel
return $data;
}
/**
* Method to validate the form data.
*
* @param Form $form The form to validate against.
* @param array $data The data to validate.
* @param string $group The name of the field group to validate.
*
* @return mixed Array of filtered data if valid, false otherwise.
*
* @see JFormRule
* @see JFilterInput
* @since 12.2
*/
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
// now change the required field attributes value
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
// also clear the data set
unset($data[$requiredField]);
}
}
}
return parent::validate($form, $data, $group);
}
/**
* Method to get the unique fields of this table.
*

View File

@ -89,12 +89,12 @@ class Custom_admin_viewsModel extends ListModel
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'g.name','main_get',
'a.add_php_ajax','add_php_ajax',
'a.add_custom_button','add_custom_button',
'a.system_name','system_name',
'a.name','name',
'a.description','description'
'a.description','description',
'g.name','main_get'
);
}
@ -194,13 +194,6 @@ class Custom_admin_viewsModel extends ListModel
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$main_get = $this->getUserStateFromRequest($this->context . '.filter.main_get', 'filter_main_get');
if ($formSubmited)
{
$main_get = $app->input->post->get('main_get');
$this->setState('filter.main_get', $main_get);
}
$add_php_ajax = $this->getUserStateFromRequest($this->context . '.filter.add_php_ajax', 'filter_add_php_ajax');
if ($formSubmited)
{
@ -236,6 +229,13 @@ class Custom_admin_viewsModel extends ListModel
$this->setState('filter.description', $description);
}
$main_get = $this->getUserStateFromRequest($this->context . '.filter.main_get', 'filter_main_get');
if ($formSubmited)
{
$main_get = $app->input->post->get('main_get');
$this->setState('filter.main_get', $main_get);
}
// List state information.
parent::populateState($ordering, $direction);
}
@ -415,46 +415,6 @@ class Custom_admin_viewsModel extends ListModel
}
}
// Filter by Main_get.
$_main_get = $this->getState('filter.main_get');
if (is_numeric($_main_get))
{
if (is_float($_main_get))
{
$query->where('a.main_get = ' . (float) $_main_get);
}
else
{
$query->where('a.main_get = ' . (int) $_main_get);
}
}
elseif (StringHelper::check($_main_get))
{
$query->where('a.main_get = ' . $db->quote($db->escape($_main_get)));
}
elseif (UtilitiesArrayHelper::check($_main_get))
{
// Secure the array for the query
$_main_get = array_map( function ($val) use(&$db) {
if (is_numeric($val))
{
if (is_float($val))
{
return (float) $val;
}
else
{
return (int) $val;
}
}
elseif (StringHelper::check($val))
{
return $db->quote($db->escape($val));
}
}, $_main_get);
// Filter by the Main_get Array.
$query->where('a.main_get IN (' . implode(',', $_main_get) . ')');
}
// Filter by Add_php_ajax.
$_add_php_ajax = $this->getState('filter.add_php_ajax');
if (is_numeric($_add_php_ajax))
@ -530,23 +490,12 @@ class Custom_admin_viewsModel extends ListModel
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
// Check if the value is an array
$_main_get = $this->getState('filter.main_get');
if (UtilitiesArrayHelper::check($_main_get))
{
$id .= ':' . implode(':', $_main_get);
}
// Check if this is only an number or string
elseif (is_numeric($_main_get)
|| StringHelper::check($_main_get))
{
$id .= ':' . $_main_get;
}
$id .= ':' . $this->getState('filter.add_php_ajax');
$id .= ':' . $this->getState('filter.add_custom_button');
$id .= ':' . $this->getState('filter.system_name');
$id .= ':' . $this->getState('filter.name');
$id .= ':' . $this->getState('filter.description');
$id .= ':' . $this->getState('filter.main_get');
return parent::getStoreId($id);
}

View File

@ -23,6 +23,7 @@ use Joomla\Utilities\ArrayHelper;
use Joomla\Input\Input;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\FormHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
@ -97,6 +98,44 @@ class Dynamic_getsModel extends ListModel
$this->app ??= Factory::getApplication();
}
/**
* Get the filter form - Override the parent method
*
* @param array $data data
* @param boolean $loadData load current data
*
* @return Form|null The Form object or false on error
*
* @since JCB 2.12.5
*/
public function getFilterForm($data = array(), $loadData = true)
{
// load form from the parent class
$form = parent::getFilterForm($data, $loadData);
// Create the "getgroup" filter
$attributes = [
'name' => 'getgroup',
'type' => 'list',
'onchange' => 'this.form.submit();',
];
$options = [
'' => '- ' . Text::_('COM_COMPONENTBUILDER_SELECT_GET_GROUP') . ' -',
'main' => Text::_('COM_COMPONENTBUILDER_MAIN_GET'),
'custom' => Text::_('COM_COMPONENTBUILDER_CUSTOM_GET')
];
$form->setField(FormHelper::xml($attributes, $options),'filter');
$form->setValue(
'getgroup',
'filter',
$this->state->get("filter.getgroup")
);
array_push($this->filter_fields, 'getgroup');
return $form;
}
/**
* Method to auto-populate the model state.
*
@ -280,6 +319,22 @@ class Dynamic_getsModel extends ListModel
// From the componentbuilder_item table
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
// Filtering "getgroup"
$filter_getgroup = $this->state->get("filter.getgroup");
if (!empty($filter_getgroup))
{
if ($filter_getgroup === 'main')
{
// the main gets
$query->where($db->quoteName('a.gettype') . ' IN (1,2)');
}
elseif ($filter_getgroup === 'custom')
{
// the custom gets
$query->where($db->quoteName('a.gettype') . ' IN (3,4)');
}
}
// Filter by published state
$published = $this->getState('filter.published');
if (is_numeric($published))
@ -362,6 +417,29 @@ class Dynamic_getsModel extends ListModel
{
$query->where('a.gettype = ' . $db->quote($db->escape($_gettype)));
}
elseif (UtilitiesArrayHelper::check($_gettype))
{
// Secure the array for the query
$_gettype = array_map( function ($val) use(&$db) {
if (is_numeric($val))
{
if (is_float($val))
{
return (float) $val;
}
else
{
return (int) $val;
}
}
elseif (StringHelper::check($val))
{
return $db->quote($db->escape($val));
}
}, $_gettype);
// Filter by the Gettype Array.
$query->where('a.gettype IN (' . implode(',', $_gettype) . ')');
}
// Add the list ordering clause.
$orderCol = $this->getState('list.ordering', 'a.id');
@ -404,7 +482,18 @@ class Dynamic_getsModel extends ListModel
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.main_source');
$id .= ':' . $this->getState('filter.gettype');
// Check if the value is an array
$_gettype = $this->getState('filter.gettype');
if (UtilitiesArrayHelper::check($_gettype))
{
$id .= ':' . implode(':', $_gettype);
}
// Check if this is only an number or string
elseif (is_numeric($_gettype)
|| StringHelper::check($_gettype))
{
$id .= ':' . $_gettype;
}
$id .= ':' . $this->getState('filter.name');
return parent::getStoreId($id);

View File

@ -520,7 +520,7 @@ class FieldsModel extends ListModel
else
{
$search = $db->quote('%' . $db->escape($search) . '%');
$query->where('(a.name LIKE '.$search.' OR a.fieldtype LIKE '.$search.' OR g.name LIKE '.$search.' OR a.datatype LIKE '.$search.' OR a.indexes LIKE '.$search.' OR a.null_switch LIKE '.$search.' OR a.store LIKE '.$search.' OR a.catid LIKE '.$search.' OR a.xml LIKE '.$search.')');
$query->where('(a.name LIKE '.$search.' OR a.fieldtype LIKE '.$search.' OR g.name LIKE '.$search.' OR a.datatype LIKE '.$search.' OR a.indexes LIKE '.$search.' OR a.null_switch LIKE '.$search.' OR a.store LIKE '.$search.' OR a.catid LIKE '.$search.' OR a.xml LIKE '.$search.' OR a.guid LIKE '.$search.')');
}
}

View File

@ -12,9 +12,9 @@ namespace VDM\Component\Componentbuilder\Administrator\Model;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Filesystem\File;
use Joomla\Filesystem\File;
use Joomla\Filesystem\Folder;
use Joomla\CMS\Filesystem\Path;
use Joomla\Filesystem\Path;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\Installer\InstallerHelper;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
@ -25,7 +25,6 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\FileHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use Joomla\Filesystem\File as FilesystemFile;
// No direct access to this file
\defined('_JEXEC') or die;
@ -200,7 +199,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
// set auto loader
ComponentbuilderHelper::autoLoader('smart');
// get install folder
$dir = FilesystemFile::stripExt($package['dir']);
$dir = File::stripExt($package['dir']);
// remove unziped folder
ComponentbuilderHelper::removeFolder($dir);
}
@ -354,7 +353,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
// get the zip adapter
$zip = JArchive::getAdapter('zip');
// set the directory name
$this->dir = FilesystemFile::stripExt($package['dir']);
$this->dir = File::stripExt($package['dir']);
// unzip the package
$zip->extract($package['dir'], $this->dir);
// check for database file
@ -633,7 +632,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
if (is_file($package['dir']))
{
// set the directory name
$this->dir = FilesystemFile::stripExt($package['dir']);
$this->dir = File::stripExt($package['dir']);
// check for database file
$dbFile = $this->dir . '/db.vdm';
if (!is_file($dbFile))
@ -1001,7 +1000,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
{
$destination = $this->setDynamicPath($file);
$fullPath = str_replace('//', '/', $dynamicDir . '/' . $file);
if (!is_file($fullPath) || !FilesystemFile::copy($fullPath, $destination))
if (!is_file($fullPath) || !File::copy($fullPath, $destination))
{
$this->app->enqueueMessage(Text::sprintf('COM_COMPONENTBUILDER_FILE_BSB_WAS_NOT_MOVED_TO_BSB', $file, $destination), 'error');
$success = false;

View File

@ -12,9 +12,9 @@ namespace VDM\Component\Componentbuilder\Administrator\Model;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Filesystem\File;
use Joomla\Filesystem\File;
use Joomla\Filesystem\Folder;
use Joomla\CMS\Filesystem\Path;
use Joomla\Filesystem\Path;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\Installer\InstallerHelper;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;

View File

@ -89,12 +89,12 @@ class Site_viewsModel extends ListModel
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'g.name','main_get',
'a.add_php_ajax','add_php_ajax',
'a.add_custom_button','add_custom_button',
'a.system_name','system_name',
'a.name','name',
'a.description','description',
'g.name','main_get',
'a.context','context'
);
}
@ -195,13 +195,6 @@ class Site_viewsModel extends ListModel
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$main_get = $this->getUserStateFromRequest($this->context . '.filter.main_get', 'filter_main_get');
if ($formSubmited)
{
$main_get = $app->input->post->get('main_get');
$this->setState('filter.main_get', $main_get);
}
$add_php_ajax = $this->getUserStateFromRequest($this->context . '.filter.add_php_ajax', 'filter_add_php_ajax');
if ($formSubmited)
{
@ -237,6 +230,13 @@ class Site_viewsModel extends ListModel
$this->setState('filter.description', $description);
}
$main_get = $this->getUserStateFromRequest($this->context . '.filter.main_get', 'filter_main_get');
if ($formSubmited)
{
$main_get = $app->input->post->get('main_get');
$this->setState('filter.main_get', $main_get);
}
$context = $this->getUserStateFromRequest($this->context . '.filter.context', 'filter_context');
if ($formSubmited)
{
@ -423,46 +423,6 @@ class Site_viewsModel extends ListModel
}
}
// Filter by Main_get.
$_main_get = $this->getState('filter.main_get');
if (is_numeric($_main_get))
{
if (is_float($_main_get))
{
$query->where('a.main_get = ' . (float) $_main_get);
}
else
{
$query->where('a.main_get = ' . (int) $_main_get);
}
}
elseif (StringHelper::check($_main_get))
{
$query->where('a.main_get = ' . $db->quote($db->escape($_main_get)));
}
elseif (UtilitiesArrayHelper::check($_main_get))
{
// Secure the array for the query
$_main_get = array_map( function ($val) use(&$db) {
if (is_numeric($val))
{
if (is_float($val))
{
return (float) $val;
}
else
{
return (int) $val;
}
}
elseif (StringHelper::check($val))
{
return $db->quote($db->escape($val));
}
}, $_main_get);
// Filter by the Main_get Array.
$query->where('a.main_get IN (' . implode(',', $_main_get) . ')');
}
// Filter by Add_php_ajax.
$_add_php_ajax = $this->getState('filter.add_php_ajax');
if (is_numeric($_add_php_ajax))
@ -538,23 +498,12 @@ class Site_viewsModel extends ListModel
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
// Check if the value is an array
$_main_get = $this->getState('filter.main_get');
if (UtilitiesArrayHelper::check($_main_get))
{
$id .= ':' . implode(':', $_main_get);
}
// Check if this is only an number or string
elseif (is_numeric($_main_get)
|| StringHelper::check($_main_get))
{
$id .= ':' . $_main_get;
}
$id .= ':' . $this->getState('filter.add_php_ajax');
$id .= ':' . $this->getState('filter.add_custom_button');
$id .= ':' . $this->getState('filter.system_name');
$id .= ':' . $this->getState('filter.name');
$id .= ':' . $this->getState('filter.description');
$id .= ':' . $this->getState('filter.main_get');
$id .= ':' . $this->getState('filter.context');
return parent::getStoreId($id);

View File

@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
use Joomla\Input\Input;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\Component\Helper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
@ -293,13 +294,21 @@ class SnippetModel extends AdminModel
}
}
}
// Only load if new item
if (0 == $id)
{
$form->setValue('contributor_company', null, Helper::getParams('com_componentbuilder')->get('export_company', 'Vast Development Method'));
$form->setValue('contributor_name', null, Helper::getParams('com_componentbuilder')->get('export_owner', 'Llewellyn van der Merwe'));
$form->setValue('contributor_email', null, Helper::getParams('com_componentbuilder')->get('export_email', 'joomla@vdm.io'));
$form->setValue('contributor_website', null, Helper::getParams('com_componentbuilder')->get('export_website', 'https://www.vdm.io/'));
}
// Only load the GUID if new item (or empty)
if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, GuidHelper::get());
}
return $form;
}
@ -905,23 +914,6 @@ class SnippetModel extends AdminModel
$data['metadata'] = (string) $metadata;
}
// set the contributor details if not set
if (strlen($data['contributor_company']) < 1 || strlen($data['contributor_name']) < 1 || strlen($data['contributor_email']) < 3 || strlen($data['contributor_website']) < 3)
{
// get the library name
$library = ($name = GetHelper::var('library', $item['library'], 'id', 'name')) ? $name:'Common';
// get the library name
$type = ($name = GetHelper::var('snippet_type', $item['type'], 'id', 'name')) ? $name:'No Library';
// build the filename
$filename = UtilitiesStringHelper::safe($library . ' - (' . $type . ') ' . $item['name'], 'filename', '', false). '.json';
// now get the contributor details (slow)
$contributor = ComponentbuilderHelper::getContributorDetails($filename);
// now update the local snippet contributor details
$data['contributor_company'] = $contributor['contributor_company'];
$data['contributor_name'] = $contributor['contributor_name'];
$data['contributor_email'] = $contributor['contributor_email'];
$data['contributor_website'] = $contributor['contributor_website'];
}
// Set the GUID if empty or not valid
if (empty($data['guid']) && $data['id'] > 0)

View File

@ -22,7 +22,7 @@ use Joomla\CMS\User\User;
use Joomla\CMS\Document\Document;
use VDM\Component\Componentbuilder\Administrator\Helper\HeaderCheck;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
use Joomla\CMS\Filesystem\File;
use Joomla\Filesystem\File;
use VDM\Joomla\Componentbuilder\Search\Factory as SearchFactory;
use Joomla\CMS\Form\Form;
use VDM\Joomla\Utilities\ArrayHelper;

View File

@ -221,7 +221,7 @@ class HtmlView extends BaseHtmlView
if ($this->user->authorise('site_view.init', 'com_componentbuilder'))
{
// add Init button.
ToolbarHelper::custom('site_views.getSnippets', 'health custom-button-getsnippets', '', 'COM_COMPONENTBUILDER_INIT', false);
ToolbarHelper::custom('site_views.initPowers', 'health custom-button-initpowers', '', 'COM_COMPONENTBUILDER_INIT', false);
}
if ($this->user->authorise('site_view.reset', 'com_componentbuilder'))
{

View File

@ -416,6 +416,8 @@ class HtmlView extends BaseHtmlView
{
Html::_('stylesheet', $style, ['version' => 'auto']);
}
// Add Ajax Token
$this->getDocument()->addScriptDeclaration("var token = '" . Session::getFormToken() . "';");
// add scripts
foreach ($this->scripts as $script)
{

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_custom_tabs\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_custom_tabs\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->id ?? '';
$title_column = $this->item->name ?? '';
$data = [
'contentType' => 'com_componentbuilder.admin_custom_tabs',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_fields\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_fields\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->id ?? '';
$title_column = $this->item->name ?? '';
$data = [
'contentType' => 'com_componentbuilder.admin_fields',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_fields_conditions\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_fields_conditions\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->id ?? '';
$title_column = $this->item->name ?? '';
$data = [
'contentType' => 'com_componentbuilder.admin_fields_conditions',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_fields_relations\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_fields_relations\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->id ?? '';
$title_column = $this->item->name ?? '';
$data = [
'contentType' => 'com_componentbuilder.admin_fields_relations',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

View File

@ -197,491 +197,491 @@ $tmpl = $tmpl ? '&tmpl=' . $tmpl : '';
<script type="text/javascript">
// #jform_add_css_view listeners for add_css_view_vvvvvxb function
// #jform_add_css_view listeners for add_css_view_vvvvvwy function
jQuery('#jform_add_css_view').on('keyup',function()
{
var add_css_view_vvvvvxb = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvvxb(add_css_view_vvvvvxb);
var add_css_view_vvvvvwy = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvvwy(add_css_view_vvvvvwy);
});
jQuery('#adminForm').on('change', '#jform_add_css_view',function (e)
{
e.preventDefault();
var add_css_view_vvvvvxb = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvvxb(add_css_view_vvvvvxb);
var add_css_view_vvvvvwy = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvvwy(add_css_view_vvvvvwy);
});
// #jform_add_css_views listeners for add_css_views_vvvvvxc function
// #jform_add_css_views listeners for add_css_views_vvvvvwz function
jQuery('#jform_add_css_views').on('keyup',function()
{
var add_css_views_vvvvvxc = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvvxc(add_css_views_vvvvvxc);
var add_css_views_vvvvvwz = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvvwz(add_css_views_vvvvvwz);
});
jQuery('#adminForm').on('change', '#jform_add_css_views',function (e)
{
e.preventDefault();
var add_css_views_vvvvvxc = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvvxc(add_css_views_vvvvvxc);
var add_css_views_vvvvvwz = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvvwz(add_css_views_vvvvvwz);
});
// #jform_add_javascript_view_file listeners for add_javascript_view_file_vvvvvxd function
// #jform_add_javascript_view_file listeners for add_javascript_view_file_vvvvvxa function
jQuery('#jform_add_javascript_view_file').on('keyup',function()
{
var add_javascript_view_file_vvvvvxd = jQuery("#jform_add_javascript_view_file input[type='radio']:checked").val();
vvvvvxd(add_javascript_view_file_vvvvvxd);
var add_javascript_view_file_vvvvvxa = jQuery("#jform_add_javascript_view_file input[type='radio']:checked").val();
vvvvvxa(add_javascript_view_file_vvvvvxa);
});
jQuery('#adminForm').on('change', '#jform_add_javascript_view_file',function (e)
{
e.preventDefault();
var add_javascript_view_file_vvvvvxd = jQuery("#jform_add_javascript_view_file input[type='radio']:checked").val();
vvvvvxd(add_javascript_view_file_vvvvvxd);
var add_javascript_view_file_vvvvvxa = jQuery("#jform_add_javascript_view_file input[type='radio']:checked").val();
vvvvvxa(add_javascript_view_file_vvvvvxa);
});
// #jform_add_javascript_views_file listeners for add_javascript_views_file_vvvvvxe function
// #jform_add_javascript_views_file listeners for add_javascript_views_file_vvvvvxb function
jQuery('#jform_add_javascript_views_file').on('keyup',function()
{
var add_javascript_views_file_vvvvvxe = jQuery("#jform_add_javascript_views_file input[type='radio']:checked").val();
vvvvvxe(add_javascript_views_file_vvvvvxe);
var add_javascript_views_file_vvvvvxb = jQuery("#jform_add_javascript_views_file input[type='radio']:checked").val();
vvvvvxb(add_javascript_views_file_vvvvvxb);
});
jQuery('#adminForm').on('change', '#jform_add_javascript_views_file',function (e)
{
e.preventDefault();
var add_javascript_views_file_vvvvvxe = jQuery("#jform_add_javascript_views_file input[type='radio']:checked").val();
vvvvvxe(add_javascript_views_file_vvvvvxe);
var add_javascript_views_file_vvvvvxb = jQuery("#jform_add_javascript_views_file input[type='radio']:checked").val();
vvvvvxb(add_javascript_views_file_vvvvvxb);
});
// #jform_add_javascript_view_footer listeners for add_javascript_view_footer_vvvvvxf function
// #jform_add_javascript_view_footer listeners for add_javascript_view_footer_vvvvvxc function
jQuery('#jform_add_javascript_view_footer').on('keyup',function()
{
var add_javascript_view_footer_vvvvvxf = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvvxf(add_javascript_view_footer_vvvvvxf);
var add_javascript_view_footer_vvvvvxc = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvvxc(add_javascript_view_footer_vvvvvxc);
});
jQuery('#adminForm').on('change', '#jform_add_javascript_view_footer',function (e)
{
e.preventDefault();
var add_javascript_view_footer_vvvvvxf = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvvxf(add_javascript_view_footer_vvvvvxf);
var add_javascript_view_footer_vvvvvxc = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvvxc(add_javascript_view_footer_vvvvvxc);
});
// #jform_add_javascript_views_footer listeners for add_javascript_views_footer_vvvvvxg function
// #jform_add_javascript_views_footer listeners for add_javascript_views_footer_vvvvvxd function
jQuery('#jform_add_javascript_views_footer').on('keyup',function()
{
var add_javascript_views_footer_vvvvvxg = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvvxg(add_javascript_views_footer_vvvvvxg);
var add_javascript_views_footer_vvvvvxd = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvvxd(add_javascript_views_footer_vvvvvxd);
});
jQuery('#adminForm').on('change', '#jform_add_javascript_views_footer',function (e)
{
e.preventDefault();
var add_javascript_views_footer_vvvvvxg = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvvxg(add_javascript_views_footer_vvvvvxg);
var add_javascript_views_footer_vvvvvxd = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvvxd(add_javascript_views_footer_vvvvvxd);
});
// #jform_add_php_ajax listeners for add_php_ajax_vvvvvxh function
// #jform_add_php_ajax listeners for add_php_ajax_vvvvvxe function
jQuery('#jform_add_php_ajax').on('keyup',function()
{
var add_php_ajax_vvvvvxh = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvvxh(add_php_ajax_vvvvvxh);
var add_php_ajax_vvvvvxe = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvvxe(add_php_ajax_vvvvvxe);
});
jQuery('#adminForm').on('change', '#jform_add_php_ajax',function (e)
{
e.preventDefault();
var add_php_ajax_vvvvvxh = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvvxh(add_php_ajax_vvvvvxh);
var add_php_ajax_vvvvvxe = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvvxe(add_php_ajax_vvvvvxe);
});
// #jform_add_php_getitem listeners for add_php_getitem_vvvvvxi function
// #jform_add_php_getitem listeners for add_php_getitem_vvvvvxf function
jQuery('#jform_add_php_getitem').on('keyup',function()
{
var add_php_getitem_vvvvvxi = jQuery("#jform_add_php_getitem input[type='radio']:checked").val();
vvvvvxi(add_php_getitem_vvvvvxi);
var add_php_getitem_vvvvvxf = jQuery("#jform_add_php_getitem input[type='radio']:checked").val();
vvvvvxf(add_php_getitem_vvvvvxf);
});
jQuery('#adminForm').on('change', '#jform_add_php_getitem',function (e)
{
e.preventDefault();
var add_php_getitem_vvvvvxi = jQuery("#jform_add_php_getitem input[type='radio']:checked").val();
vvvvvxi(add_php_getitem_vvvvvxi);
var add_php_getitem_vvvvvxf = jQuery("#jform_add_php_getitem input[type='radio']:checked").val();
vvvvvxf(add_php_getitem_vvvvvxf);
});
// #jform_add_php_getitems listeners for add_php_getitems_vvvvvxj function
// #jform_add_php_getitems listeners for add_php_getitems_vvvvvxg function
jQuery('#jform_add_php_getitems').on('keyup',function()
{
var add_php_getitems_vvvvvxj = jQuery("#jform_add_php_getitems input[type='radio']:checked").val();
vvvvvxj(add_php_getitems_vvvvvxj);
var add_php_getitems_vvvvvxg = jQuery("#jform_add_php_getitems input[type='radio']:checked").val();
vvvvvxg(add_php_getitems_vvvvvxg);
});
jQuery('#adminForm').on('change', '#jform_add_php_getitems',function (e)
{
e.preventDefault();
var add_php_getitems_vvvvvxj = jQuery("#jform_add_php_getitems input[type='radio']:checked").val();
vvvvvxj(add_php_getitems_vvvvvxj);
var add_php_getitems_vvvvvxg = jQuery("#jform_add_php_getitems input[type='radio']:checked").val();
vvvvvxg(add_php_getitems_vvvvvxg);
});
// #jform_add_php_getitems_after_all listeners for add_php_getitems_after_all_vvvvvxk function
// #jform_add_php_getitems_after_all listeners for add_php_getitems_after_all_vvvvvxh function
jQuery('#jform_add_php_getitems_after_all').on('keyup',function()
{
var add_php_getitems_after_all_vvvvvxk = jQuery("#jform_add_php_getitems_after_all input[type='radio']:checked").val();
vvvvvxk(add_php_getitems_after_all_vvvvvxk);
var add_php_getitems_after_all_vvvvvxh = jQuery("#jform_add_php_getitems_after_all input[type='radio']:checked").val();
vvvvvxh(add_php_getitems_after_all_vvvvvxh);
});
jQuery('#adminForm').on('change', '#jform_add_php_getitems_after_all',function (e)
{
e.preventDefault();
var add_php_getitems_after_all_vvvvvxk = jQuery("#jform_add_php_getitems_after_all input[type='radio']:checked").val();
vvvvvxk(add_php_getitems_after_all_vvvvvxk);
var add_php_getitems_after_all_vvvvvxh = jQuery("#jform_add_php_getitems_after_all input[type='radio']:checked").val();
vvvvvxh(add_php_getitems_after_all_vvvvvxh);
});
// #jform_add_php_getlistquery listeners for add_php_getlistquery_vvvvvxl function
// #jform_add_php_getlistquery listeners for add_php_getlistquery_vvvvvxi function
jQuery('#jform_add_php_getlistquery').on('keyup',function()
{
var add_php_getlistquery_vvvvvxl = jQuery("#jform_add_php_getlistquery input[type='radio']:checked").val();
vvvvvxl(add_php_getlistquery_vvvvvxl);
var add_php_getlistquery_vvvvvxi = jQuery("#jform_add_php_getlistquery input[type='radio']:checked").val();
vvvvvxi(add_php_getlistquery_vvvvvxi);
});
jQuery('#adminForm').on('change', '#jform_add_php_getlistquery',function (e)
{
e.preventDefault();
var add_php_getlistquery_vvvvvxl = jQuery("#jform_add_php_getlistquery input[type='radio']:checked").val();
vvvvvxl(add_php_getlistquery_vvvvvxl);
var add_php_getlistquery_vvvvvxi = jQuery("#jform_add_php_getlistquery input[type='radio']:checked").val();
vvvvvxi(add_php_getlistquery_vvvvvxi);
});
// #jform_add_php_getform listeners for add_php_getform_vvvvvxm function
// #jform_add_php_getform listeners for add_php_getform_vvvvvxj function
jQuery('#jform_add_php_getform').on('keyup',function()
{
var add_php_getform_vvvvvxm = jQuery("#jform_add_php_getform input[type='radio']:checked").val();
vvvvvxm(add_php_getform_vvvvvxm);
var add_php_getform_vvvvvxj = jQuery("#jform_add_php_getform input[type='radio']:checked").val();
vvvvvxj(add_php_getform_vvvvvxj);
});
jQuery('#adminForm').on('change', '#jform_add_php_getform',function (e)
{
e.preventDefault();
var add_php_getform_vvvvvxm = jQuery("#jform_add_php_getform input[type='radio']:checked").val();
vvvvvxm(add_php_getform_vvvvvxm);
var add_php_getform_vvvvvxj = jQuery("#jform_add_php_getform input[type='radio']:checked").val();
vvvvvxj(add_php_getform_vvvvvxj);
});
// #jform_add_php_before_save listeners for add_php_before_save_vvvvvxn function
// #jform_add_php_before_save listeners for add_php_before_save_vvvvvxk function
jQuery('#jform_add_php_before_save').on('keyup',function()
{
var add_php_before_save_vvvvvxn = jQuery("#jform_add_php_before_save input[type='radio']:checked").val();
vvvvvxn(add_php_before_save_vvvvvxn);
var add_php_before_save_vvvvvxk = jQuery("#jform_add_php_before_save input[type='radio']:checked").val();
vvvvvxk(add_php_before_save_vvvvvxk);
});
jQuery('#adminForm').on('change', '#jform_add_php_before_save',function (e)
{
e.preventDefault();
var add_php_before_save_vvvvvxn = jQuery("#jform_add_php_before_save input[type='radio']:checked").val();
vvvvvxn(add_php_before_save_vvvvvxn);
var add_php_before_save_vvvvvxk = jQuery("#jform_add_php_before_save input[type='radio']:checked").val();
vvvvvxk(add_php_before_save_vvvvvxk);
});
// #jform_add_php_save listeners for add_php_save_vvvvvxo function
// #jform_add_php_save listeners for add_php_save_vvvvvxl function
jQuery('#jform_add_php_save').on('keyup',function()
{
var add_php_save_vvvvvxo = jQuery("#jform_add_php_save input[type='radio']:checked").val();
vvvvvxo(add_php_save_vvvvvxo);
var add_php_save_vvvvvxl = jQuery("#jform_add_php_save input[type='radio']:checked").val();
vvvvvxl(add_php_save_vvvvvxl);
});
jQuery('#adminForm').on('change', '#jform_add_php_save',function (e)
{
e.preventDefault();
var add_php_save_vvvvvxo = jQuery("#jform_add_php_save input[type='radio']:checked").val();
vvvvvxo(add_php_save_vvvvvxo);
var add_php_save_vvvvvxl = jQuery("#jform_add_php_save input[type='radio']:checked").val();
vvvvvxl(add_php_save_vvvvvxl);
});
// #jform_add_php_postsavehook listeners for add_php_postsavehook_vvvvvxp function
// #jform_add_php_postsavehook listeners for add_php_postsavehook_vvvvvxm function
jQuery('#jform_add_php_postsavehook').on('keyup',function()
{
var add_php_postsavehook_vvvvvxp = jQuery("#jform_add_php_postsavehook input[type='radio']:checked").val();
vvvvvxp(add_php_postsavehook_vvvvvxp);
var add_php_postsavehook_vvvvvxm = jQuery("#jform_add_php_postsavehook input[type='radio']:checked").val();
vvvvvxm(add_php_postsavehook_vvvvvxm);
});
jQuery('#adminForm').on('change', '#jform_add_php_postsavehook',function (e)
{
e.preventDefault();
var add_php_postsavehook_vvvvvxp = jQuery("#jform_add_php_postsavehook input[type='radio']:checked").val();
vvvvvxp(add_php_postsavehook_vvvvvxp);
var add_php_postsavehook_vvvvvxm = jQuery("#jform_add_php_postsavehook input[type='radio']:checked").val();
vvvvvxm(add_php_postsavehook_vvvvvxm);
});
// #jform_add_php_allowadd listeners for add_php_allowadd_vvvvvxq function
// #jform_add_php_allowadd listeners for add_php_allowadd_vvvvvxn function
jQuery('#jform_add_php_allowadd').on('keyup',function()
{
var add_php_allowadd_vvvvvxq = jQuery("#jform_add_php_allowadd input[type='radio']:checked").val();
vvvvvxq(add_php_allowadd_vvvvvxq);
var add_php_allowadd_vvvvvxn = jQuery("#jform_add_php_allowadd input[type='radio']:checked").val();
vvvvvxn(add_php_allowadd_vvvvvxn);
});
jQuery('#adminForm').on('change', '#jform_add_php_allowadd',function (e)
{
e.preventDefault();
var add_php_allowadd_vvvvvxq = jQuery("#jform_add_php_allowadd input[type='radio']:checked").val();
vvvvvxq(add_php_allowadd_vvvvvxq);
var add_php_allowadd_vvvvvxn = jQuery("#jform_add_php_allowadd input[type='radio']:checked").val();
vvvvvxn(add_php_allowadd_vvvvvxn);
});
// #jform_add_php_allowedit listeners for add_php_allowedit_vvvvvxr function
// #jform_add_php_allowedit listeners for add_php_allowedit_vvvvvxo function
jQuery('#jform_add_php_allowedit').on('keyup',function()
{
var add_php_allowedit_vvvvvxr = jQuery("#jform_add_php_allowedit input[type='radio']:checked").val();
vvvvvxr(add_php_allowedit_vvvvvxr);
var add_php_allowedit_vvvvvxo = jQuery("#jform_add_php_allowedit input[type='radio']:checked").val();
vvvvvxo(add_php_allowedit_vvvvvxo);
});
jQuery('#adminForm').on('change', '#jform_add_php_allowedit',function (e)
{
e.preventDefault();
var add_php_allowedit_vvvvvxr = jQuery("#jform_add_php_allowedit input[type='radio']:checked").val();
vvvvvxr(add_php_allowedit_vvvvvxr);
var add_php_allowedit_vvvvvxo = jQuery("#jform_add_php_allowedit input[type='radio']:checked").val();
vvvvvxo(add_php_allowedit_vvvvvxo);
});
// #jform_add_php_before_cancel listeners for add_php_before_cancel_vvvvvxs function
// #jform_add_php_before_cancel listeners for add_php_before_cancel_vvvvvxp function
jQuery('#jform_add_php_before_cancel').on('keyup',function()
{
var add_php_before_cancel_vvvvvxs = jQuery("#jform_add_php_before_cancel input[type='radio']:checked").val();
vvvvvxs(add_php_before_cancel_vvvvvxs);
var add_php_before_cancel_vvvvvxp = jQuery("#jform_add_php_before_cancel input[type='radio']:checked").val();
vvvvvxp(add_php_before_cancel_vvvvvxp);
});
jQuery('#adminForm').on('change', '#jform_add_php_before_cancel',function (e)
{
e.preventDefault();
var add_php_before_cancel_vvvvvxs = jQuery("#jform_add_php_before_cancel input[type='radio']:checked").val();
vvvvvxs(add_php_before_cancel_vvvvvxs);
var add_php_before_cancel_vvvvvxp = jQuery("#jform_add_php_before_cancel input[type='radio']:checked").val();
vvvvvxp(add_php_before_cancel_vvvvvxp);
});
// #jform_add_php_after_cancel listeners for add_php_after_cancel_vvvvvxt function
// #jform_add_php_after_cancel listeners for add_php_after_cancel_vvvvvxq function
jQuery('#jform_add_php_after_cancel').on('keyup',function()
{
var add_php_after_cancel_vvvvvxt = jQuery("#jform_add_php_after_cancel input[type='radio']:checked").val();
vvvvvxt(add_php_after_cancel_vvvvvxt);
var add_php_after_cancel_vvvvvxq = jQuery("#jform_add_php_after_cancel input[type='radio']:checked").val();
vvvvvxq(add_php_after_cancel_vvvvvxq);
});
jQuery('#adminForm').on('change', '#jform_add_php_after_cancel',function (e)
{
e.preventDefault();
var add_php_after_cancel_vvvvvxt = jQuery("#jform_add_php_after_cancel input[type='radio']:checked").val();
vvvvvxt(add_php_after_cancel_vvvvvxt);
var add_php_after_cancel_vvvvvxq = jQuery("#jform_add_php_after_cancel input[type='radio']:checked").val();
vvvvvxq(add_php_after_cancel_vvvvvxq);
});
// #jform_add_php_batchcopy listeners for add_php_batchcopy_vvvvvxu function
// #jform_add_php_batchcopy listeners for add_php_batchcopy_vvvvvxr function
jQuery('#jform_add_php_batchcopy').on('keyup',function()
{
var add_php_batchcopy_vvvvvxu = jQuery("#jform_add_php_batchcopy input[type='radio']:checked").val();
vvvvvxu(add_php_batchcopy_vvvvvxu);
var add_php_batchcopy_vvvvvxr = jQuery("#jform_add_php_batchcopy input[type='radio']:checked").val();
vvvvvxr(add_php_batchcopy_vvvvvxr);
});
jQuery('#adminForm').on('change', '#jform_add_php_batchcopy',function (e)
{
e.preventDefault();
var add_php_batchcopy_vvvvvxu = jQuery("#jform_add_php_batchcopy input[type='radio']:checked").val();
vvvvvxu(add_php_batchcopy_vvvvvxu);
var add_php_batchcopy_vvvvvxr = jQuery("#jform_add_php_batchcopy input[type='radio']:checked").val();
vvvvvxr(add_php_batchcopy_vvvvvxr);
});
// #jform_add_php_batchmove listeners for add_php_batchmove_vvvvvxv function
// #jform_add_php_batchmove listeners for add_php_batchmove_vvvvvxs function
jQuery('#jform_add_php_batchmove').on('keyup',function()
{
var add_php_batchmove_vvvvvxv = jQuery("#jform_add_php_batchmove input[type='radio']:checked").val();
vvvvvxv(add_php_batchmove_vvvvvxv);
var add_php_batchmove_vvvvvxs = jQuery("#jform_add_php_batchmove input[type='radio']:checked").val();
vvvvvxs(add_php_batchmove_vvvvvxs);
});
jQuery('#adminForm').on('change', '#jform_add_php_batchmove',function (e)
{
e.preventDefault();
var add_php_batchmove_vvvvvxv = jQuery("#jform_add_php_batchmove input[type='radio']:checked").val();
vvvvvxv(add_php_batchmove_vvvvvxv);
var add_php_batchmove_vvvvvxs = jQuery("#jform_add_php_batchmove input[type='radio']:checked").val();
vvvvvxs(add_php_batchmove_vvvvvxs);
});
// #jform_add_php_before_publish listeners for add_php_before_publish_vvvvvxw function
// #jform_add_php_before_publish listeners for add_php_before_publish_vvvvvxt function
jQuery('#jform_add_php_before_publish').on('keyup',function()
{
var add_php_before_publish_vvvvvxw = jQuery("#jform_add_php_before_publish input[type='radio']:checked").val();
vvvvvxw(add_php_before_publish_vvvvvxw);
var add_php_before_publish_vvvvvxt = jQuery("#jform_add_php_before_publish input[type='radio']:checked").val();
vvvvvxt(add_php_before_publish_vvvvvxt);
});
jQuery('#adminForm').on('change', '#jform_add_php_before_publish',function (e)
{
e.preventDefault();
var add_php_before_publish_vvvvvxw = jQuery("#jform_add_php_before_publish input[type='radio']:checked").val();
vvvvvxw(add_php_before_publish_vvvvvxw);
var add_php_before_publish_vvvvvxt = jQuery("#jform_add_php_before_publish input[type='radio']:checked").val();
vvvvvxt(add_php_before_publish_vvvvvxt);
});
// #jform_add_php_after_publish listeners for add_php_after_publish_vvvvvxx function
// #jform_add_php_after_publish listeners for add_php_after_publish_vvvvvxu function
jQuery('#jform_add_php_after_publish').on('keyup',function()
{
var add_php_after_publish_vvvvvxx = jQuery("#jform_add_php_after_publish input[type='radio']:checked").val();
vvvvvxx(add_php_after_publish_vvvvvxx);
var add_php_after_publish_vvvvvxu = jQuery("#jform_add_php_after_publish input[type='radio']:checked").val();
vvvvvxu(add_php_after_publish_vvvvvxu);
});
jQuery('#adminForm').on('change', '#jform_add_php_after_publish',function (e)
{
e.preventDefault();
var add_php_after_publish_vvvvvxx = jQuery("#jform_add_php_after_publish input[type='radio']:checked").val();
vvvvvxx(add_php_after_publish_vvvvvxx);
var add_php_after_publish_vvvvvxu = jQuery("#jform_add_php_after_publish input[type='radio']:checked").val();
vvvvvxu(add_php_after_publish_vvvvvxu);
});
// #jform_add_php_before_delete listeners for add_php_before_delete_vvvvvxy function
// #jform_add_php_before_delete listeners for add_php_before_delete_vvvvvxv function
jQuery('#jform_add_php_before_delete').on('keyup',function()
{
var add_php_before_delete_vvvvvxy = jQuery("#jform_add_php_before_delete input[type='radio']:checked").val();
vvvvvxy(add_php_before_delete_vvvvvxy);
var add_php_before_delete_vvvvvxv = jQuery("#jform_add_php_before_delete input[type='radio']:checked").val();
vvvvvxv(add_php_before_delete_vvvvvxv);
});
jQuery('#adminForm').on('change', '#jform_add_php_before_delete',function (e)
{
e.preventDefault();
var add_php_before_delete_vvvvvxy = jQuery("#jform_add_php_before_delete input[type='radio']:checked").val();
vvvvvxy(add_php_before_delete_vvvvvxy);
var add_php_before_delete_vvvvvxv = jQuery("#jform_add_php_before_delete input[type='radio']:checked").val();
vvvvvxv(add_php_before_delete_vvvvvxv);
});
// #jform_add_php_after_delete listeners for add_php_after_delete_vvvvvxz function
// #jform_add_php_after_delete listeners for add_php_after_delete_vvvvvxw function
jQuery('#jform_add_php_after_delete').on('keyup',function()
{
var add_php_after_delete_vvvvvxz = jQuery("#jform_add_php_after_delete input[type='radio']:checked").val();
vvvvvxz(add_php_after_delete_vvvvvxz);
var add_php_after_delete_vvvvvxw = jQuery("#jform_add_php_after_delete input[type='radio']:checked").val();
vvvvvxw(add_php_after_delete_vvvvvxw);
});
jQuery('#adminForm').on('change', '#jform_add_php_after_delete',function (e)
{
e.preventDefault();
var add_php_after_delete_vvvvvxz = jQuery("#jform_add_php_after_delete input[type='radio']:checked").val();
vvvvvxz(add_php_after_delete_vvvvvxz);
var add_php_after_delete_vvvvvxw = jQuery("#jform_add_php_after_delete input[type='radio']:checked").val();
vvvvvxw(add_php_after_delete_vvvvvxw);
});
// #jform_add_php_document listeners for add_php_document_vvvvvya function
// #jform_add_php_document listeners for add_php_document_vvvvvxx function
jQuery('#jform_add_php_document').on('keyup',function()
{
var add_php_document_vvvvvya = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvvya(add_php_document_vvvvvya);
var add_php_document_vvvvvxx = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvvxx(add_php_document_vvvvvxx);
});
jQuery('#adminForm').on('change', '#jform_add_php_document',function (e)
{
e.preventDefault();
var add_php_document_vvvvvya = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvvya(add_php_document_vvvvvya);
var add_php_document_vvvvvxx = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvvxx(add_php_document_vvvvvxx);
});
// #jform_add_sql listeners for add_sql_vvvvvxy function
jQuery('#jform_add_sql').on('keyup',function()
{
var add_sql_vvvvvxy = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvxy(add_sql_vvvvvxy);
});
jQuery('#adminForm').on('change', '#jform_add_sql',function (e)
{
e.preventDefault();
var add_sql_vvvvvxy = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvxy(add_sql_vvvvvxy);
});
// #jform_source listeners for source_vvvvvxz function
jQuery('#jform_source').on('keyup',function()
{
var source_vvvvvxz = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvxz = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvxz(source_vvvvvxz,add_sql_vvvvvxz);
});
jQuery('#adminForm').on('change', '#jform_source',function (e)
{
e.preventDefault();
var source_vvvvvxz = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvxz = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvxz(source_vvvvvxz,add_sql_vvvvvxz);
});
// #jform_add_sql listeners for add_sql_vvvvvxz function
jQuery('#jform_add_sql').on('keyup',function()
{
var source_vvvvvxz = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvxz = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvxz(source_vvvvvxz,add_sql_vvvvvxz);
});
jQuery('#adminForm').on('change', '#jform_add_sql',function (e)
{
e.preventDefault();
var source_vvvvvxz = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvxz = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvxz(source_vvvvvxz,add_sql_vvvvvxz);
});
// #jform_source listeners for source_vvvvvyb function
jQuery('#jform_source').on('keyup',function()
{
var source_vvvvvyb = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyb = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyb(source_vvvvvyb,add_sql_vvvvvyb);
});
jQuery('#adminForm').on('change', '#jform_source',function (e)
{
e.preventDefault();
var source_vvvvvyb = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyb = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyb(source_vvvvvyb,add_sql_vvvvvyb);
});
// #jform_add_sql listeners for add_sql_vvvvvyb function
jQuery('#jform_add_sql').on('keyup',function()
{
var source_vvvvvyb = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyb = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyb(add_sql_vvvvvyb);
vvvvvyb(source_vvvvvyb,add_sql_vvvvvyb);
});
jQuery('#adminForm').on('change', '#jform_add_sql',function (e)
{
e.preventDefault();
var source_vvvvvyb = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyb = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyb(add_sql_vvvvvyb);
vvvvvyb(source_vvvvvyb,add_sql_vvvvvyb);
});
// #jform_source listeners for source_vvvvvyc function
jQuery('#jform_source').on('keyup',function()
{
var source_vvvvvyc = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyc = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyc(source_vvvvvyc,add_sql_vvvvvyc);
});
jQuery('#adminForm').on('change', '#jform_source',function (e)
{
e.preventDefault();
var source_vvvvvyc = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyc = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyc(source_vvvvvyc,add_sql_vvvvvyc);
});
// #jform_add_sql listeners for add_sql_vvvvvyc function
jQuery('#jform_add_sql').on('keyup',function()
{
var source_vvvvvyc = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyc = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyc(source_vvvvvyc,add_sql_vvvvvyc);
});
jQuery('#adminForm').on('change', '#jform_add_sql',function (e)
{
e.preventDefault();
var source_vvvvvyc = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvyc = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvyc(source_vvvvvyc,add_sql_vvvvvyc);
});
// #jform_source listeners for source_vvvvvye function
jQuery('#jform_source').on('keyup',function()
{
var source_vvvvvye = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvye = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvye(source_vvvvvye,add_sql_vvvvvye);
});
jQuery('#adminForm').on('change', '#jform_source',function (e)
{
e.preventDefault();
var source_vvvvvye = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvye = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvye(source_vvvvvye,add_sql_vvvvvye);
});
// #jform_add_sql listeners for add_sql_vvvvvye function
jQuery('#jform_add_sql').on('keyup',function()
{
var source_vvvvvye = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvye = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvye(source_vvvvvye,add_sql_vvvvvye);
});
jQuery('#adminForm').on('change', '#jform_add_sql',function (e)
{
e.preventDefault();
var source_vvvvvye = jQuery("#jform_source input[type='radio']:checked").val();
var add_sql_vvvvvye = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvye(source_vvvvvye,add_sql_vvvvvye);
});
// #jform_add_custom_button listeners for add_custom_button_vvvvvyg function
// #jform_add_custom_button listeners for add_custom_button_vvvvvyd function
jQuery('#jform_add_custom_button').on('keyup',function()
{
var add_custom_button_vvvvvyg = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvvyg(add_custom_button_vvvvvyg);
var add_custom_button_vvvvvyd = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvvyd(add_custom_button_vvvvvyd);
});
jQuery('#adminForm').on('change', '#jform_add_custom_button',function (e)
{
e.preventDefault();
var add_custom_button_vvvvvyg = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvvyg(add_custom_button_vvvvvyg);
var add_custom_button_vvvvvyd = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvvyd(add_custom_button_vvvvvyd);
});

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_view\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_view\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->guid ?? '';
$title_column = $this->item->system_name ?? '';
$data = [
'contentType' => 'com_componentbuilder.admin_view',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

View File

@ -0,0 +1,115 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admin_views\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=admin_views&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="admin_viewList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>
<script type="text/javascript">
// admin_views footer script
// get page body
var outerBodyDiv = document.querySelector('body');
// start loading spinner
var loadingDiv = document.createElement('div');
loadingDiv.id = 'loading';
// Set CSS properties individually
loadingDiv.style.background = "rgba(255, 255, 255, .8) url('components/com_componentbuilder/assets/images/ajax.gif') 50% 35% no-repeat";
loadingDiv.style.top = (outerBodyDiv.getBoundingClientRect().top + window.pageYOffset) + "px";
loadingDiv.style.left = (outerBodyDiv.getBoundingClientRect().left + window.pageXOffset) + "px";
loadingDiv.style.width = outerBodyDiv.offsetWidth + "px";
loadingDiv.style.height = outerBodyDiv.offsetHeight + "px";
loadingDiv.style.position = 'fixed';
loadingDiv.style.opacity = '0.80';
loadingDiv.style.msFilter = "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
loadingDiv.style.filter = "alpha(opacity=80)";
loadingDiv.style.display = 'none';
// add to page body
outerBodyDiv.appendChild(loadingDiv);
document.addEventListener('DOMContentLoaded', function () {
const pushButton = document.getElementById('toolbar-share-custom-button-pushpowers');
const resetButton = document.getElementById('toolbar-joomla-custom-button-resetpowers');
// Set confirmation messages
if (pushButton) {
const pushText = Joomla.Text._('COM_COMPONENTBUILDER_HTHREEKEEP_THIS_WIDOW_OPENHTHREEPTHIS_IS_A_BVERY_LARGE_TASKB_AND_MAY_TAKE_A_BLONG_TIMEB_TO_COMPLETEBRBRIT_WILL_BPUSH_ALLB_ENTITIES_LINKED_TO_EACH_SELECTED_BADMIN_VIEWB_DOWN_TO_THE_FIELD_LEVELBRBRDO_YOU_WANT_TO_PROCEEDP');
pushButton.setAttribute('confirm-message', pushText);
}
if (resetButton) {
const resetText = Joomla.Text._('COM_COMPONENTBUILDER_HTHREEKEEP_THIS_WIDOW_OPENHTHREEPTHIS_IS_A_BVERY_LARGE_TASKB_AND_MAY_TAKE_A_BLONG_TIMEB_TO_COMPLETEBRBRIT_WILL_BRESET_ALLB_ENTITIES_LINKED_TO_EACH_SELECTED_BADMIN_VIEWB_DOWN_TO_THE_FIELD_LEVELBRBRDO_YOU_WANT_TO_CONTINUEP');
resetButton.setAttribute('confirm-message', resetText);
}
const form = document.adminForm;
// Hook into the form's submit event
if (form && loadingDiv) {
form.addEventListener('submit', function () {
loadingDiv.style.display = 'block';
});
}
});
<?php
// some language strings for JS in this area
Text::script('COM_COMPONENTBUILDER_HTHREEKEEP_THIS_WIDOW_OPENHTHREEPTHIS_IS_A_BVERY_LARGE_TASKB_AND_MAY_TAKE_A_BLONG_TIMEB_TO_COMPLETEBRBRIT_WILL_BPUSH_ALLB_ENTITIES_LINKED_TO_EACH_SELECTED_BADMIN_VIEWB_DOWN_TO_THE_FIELD_LEVELBRBRDO_YOU_WANT_TO_PROCEEDP');
Text::script('COM_COMPONENTBUILDER_HTHREEKEEP_THIS_WIDOW_OPENHTHREEPTHIS_IS_A_BVERY_LARGE_TASKB_AND_MAY_TAKE_A_BLONG_TIMEB_TO_COMPLETEBRBRIT_WILL_BRESET_ALLB_ENTITIES_LINKED_TO_EACH_SELECTED_BADMIN_VIEWB_DOWN_TO_THE_FIELD_LEVELBRBRDO_YOU_WANT_TO_CONTINUEP');
?>
</script>

View File

@ -0,0 +1,63 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admins_custom_tabs\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=admins_custom_tabs&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="admin_custom_tabsList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -0,0 +1,63 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admins_fields\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=admins_fields&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="admin_fieldsList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -0,0 +1,63 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admins_fields_conditions\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=admins_fields_conditions&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="admin_fields_conditionsList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -0,0 +1,63 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Admins_fields_relations\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=admins_fields_relations&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="admin_fields_relationsList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -0,0 +1,63 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_extendings\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=class_extendings&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="class_extendsList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_extends\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_extends\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->guid ?? '';
$title_column = $this->item->name ?? '';
$data = [
'contentType' => 'com_componentbuilder.class_extends',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

View File

@ -111,18 +111,18 @@ $tmpl = $tmpl ? '&tmpl=' . $tmpl : '';
<script type="text/javascript">
// #jform_extension_type listeners for extension_type_vvvvwak function
// #jform_extension_type listeners for extension_type_vvvvwag function
jQuery('#jform_extension_type').on('keyup',function()
{
var extension_type_vvvvwak = jQuery("#jform_extension_type").val();
vvvvwak(extension_type_vvvvwak);
var extension_type_vvvvwag = jQuery("#jform_extension_type").val();
vvvvwag(extension_type_vvvvwag);
});
jQuery('#adminForm').on('change', '#jform_extension_type',function (e)
{
e.preventDefault();
var extension_type_vvvvwak = jQuery("#jform_extension_type").val();
vvvvwak(extension_type_vvvvwak);
var extension_type_vvvvwag = jQuery("#jform_extension_type").val();
vvvvwag(extension_type_vvvvwag);
});

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_method\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_method\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->id ?? '';
$title_column = $this->item->name ?? '';
$data = [
'contentType' => 'com_componentbuilder.class_method',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

View File

@ -0,0 +1,63 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_methods\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=class_methods&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="class_methodList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -98,10 +98,9 @@ $edit = "index.php?option=com_componentbuilder&view=class_properties&task=class_
<?php echo Text::_($item->visibility); ?>
</td>
<td class="hidden-phone">
<div><?php if (isset($item->joomla_plugin_group) && StringHelper::check($item->joomla_plugin_group)): ?>
<div><?php if (isset($item->{2580}) && StringHelper::check($item->{2580})): ?>
<?php echo Text::_($item->extension_type); ?> <?php echo Text::_('COM_COMPONENTBUILDER_GROUP'); ?>: <b>
<?php echo $this->escape($item->joomla_plugin_group_name); ?></b>
<?php echo Text::_($item->extension_type); ?> <?php echo Text::_('COM_COMPONENTBUILDER_GROUP'); ?>: <b>[field=2580]</b>
<?php else: ?>
<?php echo Text::_($item->extension_type); ?>

View File

@ -0,0 +1,63 @@
<?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
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_properties\HtmlView $this */
$app = Factory::getApplication();
if ($app->isClient('site')) {
Session::checkToken('get') or die(Text::_('JINVALID_TOKEN'));
}
// dynamic selection of title key (link in modal)
$this->modalTitleKey = $app->input->get('titleKey', 'id', 'word');
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('core')
->useScript('multiselect')
->useScript('modal-content-select');
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=class_properties&layout=modal&tmpl=component&titleKey=' . $this->getModalTitleKey()); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="class_propertyList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -106,21 +106,6 @@ $tmpl = $tmpl ? '&tmpl=' . $tmpl : '';
<script type="text/javascript">
// #jform_extension_type listeners for extension_type_vvvvwaj function
jQuery('#jform_extension_type').on('keyup',function()
{
var extension_type_vvvvwaj = jQuery("#jform_extension_type").val();
vvvvwaj(extension_type_vvvvwaj);
});
jQuery('#adminForm').on('change', '#jform_extension_type',function (e)
{
e.preventDefault();
var extension_type_vvvvwaj = jQuery("#jform_extension_type").val();
vvvvwaj(extension_type_vvvvwaj);
});

View File

@ -0,0 +1,23 @@
<?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
*/
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_property\HtmlView $this */
?>
<div class="subhead noshadow mb-3">
<?php echo $this->getDocument()->getToolbar('toolbar')->render(); ?>
</div>
<div class="container-popup">
<?php $this->setLayout('edit'); ?>
<?php echo $this->loadTemplate(); ?>
</div>

View File

@ -0,0 +1,47 @@
<?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
*/
use Joomla\CMS\Router\Route;
// No direct access to this file
defined('_JEXEC') or die;
/** @var \VDM\Component\Componentbuilder\Administrator\View\Class_property\HtmlView $this */
$icon = 'icon-check';
$title_key = $this->item->id ?? '';
$title_column = $this->item->name ?? '';
$data = [
'contentType' => 'com_componentbuilder.class_property',
'id' => $title_key,
'title' => $title_column,
'uri' => Route::_('index.php?option=com_componentbuilder&layout=modal&tmpl=component&id='. (int) ($this->item->id ?? 0))
];
// Add Content select script
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select');
// The data for Content select script
$this->getDocument()->addScriptOptions('content-select-on-load', $data, false);
?>
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>" aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title_column; ?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $title_column; ?>
</p>
</div>
</div>

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