Compare commits

..

46 Commits

Author SHA1 Message Date
c7bd2952a8 Release of v4.0.1
Fix auto build from SQL in Joomla 4. 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:39:22 +02:00
8776453b6f Release of v4.0.1-rc1
Final testing for stable release!.
2024-07-19 17:28:59 +02:00
a49ded4918 Release of v4.0.1-beta5
Add option to use placeholders in Joomla Power namespaces.
2024-07-19 12:35:10 +02:00
6b5b42e2eb Update on v4.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:10:48 +02:00
1e24045e0d Release of v4.0.1-beta4
Fix app instances (mismatch) in the install script and schema class when installing from CLI.
2024-07-18 20:48:12 +02:00
d4dc3b4868 Release of v4.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:11:01 +02:00
d567f593e2 Update on v4.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:56 +02:00
eedebc4043 Release of v4.0.1-beta2
Fix function mismatch call in the compiler power class.
2024-07-17 15:57:44 +02:00
582d6535c7 Release of v4.0.1-beta1
Fix subform set methods. Improved the Joomla Power Push path. Fix the metadata, metadesc, metakey database issue.
2024-07-17 02:38:33 +02:00
8ef7c8a4b3 Release of v4.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:54:12 +02:00
017d6a6299 Release of v4.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:30 +02:00
5a2e137f31 Release of v4.0.1-alpha5
Add repositories for better integration with gitea. Refactored the Data classes. Add new Data classes.
2024-06-21 01:37:13 +02:00
f36922f9a1 Release of v4.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:07:37 +02:00
4d544598e9 Release of v4.0.1-alpha3
Add in JCB gitea push feature to help maintain JCB core features. Add extending options to interfaces.
2024-06-05 16:38:32 +02:00
37c3a9a670 Release of v4.0.1-alpha2
Fix permission issue for admin views.
2024-05-16 16:06:17 +02:00
e6a2d4a404 Release of v4.0.1-alpha1
Fix auto build from SQL in Joomla 4.
2024-05-13 12:22:56 +02:00
a1c04bde51 Release of v4.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. 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 J4 #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. 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:35:33 +02:00
a0df7bc893 Release of v4.0.0-rc6
Fix the customfolderlist field. #1120.
2024-05-06 07:43:47 +02:00
43f7b5c54d Release of v4.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:52:32 +02:00
a9483fc662 Release of v4.0.0-rc4
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.
2024-05-03 07:12:58 +02:00
d226e25e4a Release of v4.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:16:21 +02:00
13dedb7b0e Release of v4.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 10:42:14 +02:00
0ec95282ee Release of v4.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 15:51:57 +02:00
9e78f8379e Release of v4.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:31:12 +02:00
5e52db0d54 Release of v4.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:07:22 +02:00
e146195159 Release of v4.0.0-beta3
Add Joomla powers for namespace dynamic management.
2024-04-16 20:03:38 +02:00
1be1608deb Removes a invalid question from the issue_template's a-bug.yml file. 2024-04-09 19:08:35 +02:00
738eb95f21 Release of v4.0.0-beta2
Add view list and single name fix. Add component code name fix. Add reset list of powers.
2024-04-09 13:49:29 +02:00
6cb5f05f1e Release of v4.0.0-beta1
Add the compiler menu back. Fix the CustomfolderlistField #1094.
2024-04-07 11:54:20 +02:00
359b4dd92b Release of v4.0.0-alpha8
Add power path override option on component level. Fix the sql build feature. #1032.
2024-04-06 23:29:23 +02:00
23af2f0b29 Release of v4.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 4. #1096.
2024-03-26 22:31:36 +02:00
543fb2b2e2 Release of v4.0.0-alpha6
Fix [Set String Value] in placeholder table to store the value as a base64 string.
2024-03-20 15:35:43 +02:00
e8c2c17dc7 Release of v4.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 J4 #1095.
2024-03-20 14:20:20 +02:00
9fe4823468 Release of v4.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:12:09 +02:00
d5a2f70c0c Adds and updates the questionare of g-security.yml 2024-03-14 09:05:59 +00:00
7e93203b93 Adds and updates the questionare of e-performance.yml 2024-03-14 09:05:59 +00:00
09a303b309 Adds and updates the questionare of c-task.yml 2024-03-14 09:05:59 +00:00
279b8d1887 Adds and updates the questionare of a-bug.yml 2024-03-14 09:05:59 +00:00
2d0ac255a8 Adds an issue template for reporting the refactoring of specific locations in JCB. 2024-03-14 10:11:04 +02:00
b2995aec40 Adds an issue template for the improvement of documentation in JCB. 2024-03-14 10:09:21 +02:00
a7d12c7b38 Adds a issue template for reporting enhancements to JCB. 2024-03-14 10:06:50 +02:00
2b9973efae Release of v4.0.0-alpha3
Add fix to the update script, so that upgrading JCB from Joomla 3 to 4 will not fail.
2024-03-12 12:50:20 +02:00
d590ada95f Stable release of v4.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:22:04 +02:00
a7ade71c06 Update on v4.0.0-alpha1 (changes towards the next release)
Here's an update on the current version, which includes changes towards the next release still in development.
2024-03-11 17:01:01 +02:00
c8540f2efc Update on v4.0.0-alpha1 (beta for next version)
Here's an update on the current version, which includes changes towards the next release still in beta.
2024-03-11 16:14:23 +02:00
c660bb6280 Stable release of v4.0.0-alpha1
First alpha release of Component Builder towards Joomla 4 (very unstable...).
2024-03-09 21:47:28 +02:00
338 changed files with 15928 additions and 5536 deletions

View File

@ -1,46 +1,29 @@
# v5.0.0 # v4.0.1
- Fix the plug-in installer script builder bug #1067 - Fix auto build from SQL in Joomla 4.
- Fix Event triggers for Joomla 4 and 5 builds. - Fix permission issue for admin views.
- Add fix to the update script, so that upgrading JCB from Joomla 4 to 5 will not fail. - Add in JCB gitea push feature to help maintain JCB core features.
- Fix plugin field selection - Add extending options to interfaces.
- Fix plugin params tab layout - Change the extendsinterfaces field to allow null, #1139
- Add issue templates - Update the Schema class to also update null mismatching if needed
- Force autoloader to always load - Add repositories for better integration with gitea
- Fix repeatable layout #1076 - Refactored the Data classes
- Add Factory class to the J5 Event class. #1093 - Add new Data classes
- Fix customfilelist field to conform to the new namespacing conventions. #1094 - Add new subform classes
- Add menus for languages, servers, get snippets to J5 #1095 - Fix registry class methods return type
- Fix [Set String Value] in placeholder table to store the value as a base64 string. - Update all list and custom fields to use the new layouts
- Fix the search area layout. - Add push options to Joomla Power
- Fix the search area code line selection. - Complete the Joomla Power Init and Reset features
- Fix the input edit button for custom fields. - Fix Gitea Contents class functions
- Add the new layout to list fields (GUI UPDATE) - Fix subform set methods
- Start fixing the field view in Joomla 5. #1096 - Improved the Joomla Power Push path
- Add power path override option on component level. - Fix the metadata, metadesc, metakey database issue
- Fix the sql build feature. #1032 - Fix function mismatch call in the compiler power class.
- Add the compiler menu back. - Fix init feature to only add missing powers
- Fix the CustomfolderlistField #1094 - Fix controller postSaveHook function, for correct model class in Joomla 4 and 5
- Add view list and single name fix. - Fix app instances (mismatch) in the install script and schema class when installing from CLI
- Add component code name fix. - Add option to use placeholders in Joomla Power namespaces.
- Add reset list of powers. - Fix subform layout of uikit in JCB
- 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
# v4.0.0 # v4.0.0
@ -86,28 +69,27 @@
- Add the BaseDatabaseModel use statement to custom site view controller. #1119 - Add the BaseDatabaseModel use statement to custom site view controller. #1119
- Fix the customfolderlist field. #1120 - Fix the customfolderlist field. #1120
# v3.2.1 # v3.2.2
- Add power path override option on component level. - Fix auto build from SQL in Joomla 4 and 5.
- Fix the sql build feature. #1032 - Fix permission issue for admin views.
- Add view list and single name fix. - Add extending options to interfaces.
- Add component code name fix. - Update the Schema class to also update null mismatching if needed
- Add reset list of powers. - Add repositories for better integration with gitea
- Fix missing Factory class in plugin. #1102 - Refactored the Data classes
- Fix plugin code display when methods and properties are missing. - Add new Data classes
- Add Joomla powers for namespace dynamic management. - Add new subform classes
- Add fallback option to ensure that all JCB tables and fields exist. - Fix registry class methods return type
- Move the powers autoloader to its own file. - Update all list and custom fields to use the new layouts
- Fix the media field size limitation. #1109 - Add push options to Joomla Power
- Add dynamic datatype update to schema field check. - Complete the Joomla Power Init and Reset features
- Fix version_update column size. - Fix Gitea Contents class functions
- Improved the Schema Table update engine. - Fix subform set methods
- Improved the Schema Table update engine (more) - Improved the Joomla Power Push path
- Fix autoloader timing, and loading. - Fix the metadata, metadesc, metakey database issue
- Implement the Joomla Powers in JCB code, to move away from JClasses. - Fix function mismatch call in the compiler power class.
- Remove many of the SQL updates, to only use the Schema updates of table columns to avoid collusion. - Fix init feature to only add missing powers
- Fix the admin.css file loading on dashboard. #1112 - Fix controller postSaveHook function, for correct model class in Joomla 4 and 5
- Fix the missing model call. #1114 - Fix app instances (mismatch) in the install script and schema class when installing from CLI
- Fix the wrong $date call. #1115 - Add option to use placeholders in Joomla Power namespaces.
- Add the BaseDatabaseModel use statement to custom site view controller. #1119 - Fix subform layout of uikit in JCB
- Fix the customfolderlist field. #1120

View File

@ -14,13 +14,12 @@ use Joomla\CMS\Language\Text;
use Joomla\CMS\Filesystem\File; use Joomla\CMS\Filesystem\File;
use Joomla\CMS\Installer\InstallerAdapter; use Joomla\CMS\Installer\InstallerAdapter;
use Joomla\CMS\Installer\InstallerScriptInterface; use Joomla\CMS\Installer\InstallerScriptInterface;
use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Log\Log; use Joomla\CMS\Log\Log;
use Joomla\CMS\Version; use Joomla\CMS\Version;
use Joomla\CMS\HTML\HTMLHelper as Html; use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\Filesystem\Folder; use Joomla\Filesystem\Folder;
use Joomla\Database\DatabaseInterface; use Joomla\Database\DatabaseInterface;
use VDM\Joomla\Componentbuilder\Table\Schema; use VDM\Joomla\Componentbuilder\Table\SchemaChecker;
// No direct access to this file // No direct access to this file
defined('_JEXEC') or die; defined('_JEXEC') or die;
@ -35,7 +34,6 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
/** /**
* The CMS Application. * The CMS Application.
* *
* @var CMSApplication
* @since 4.4.2 * @since 4.4.2
*/ */
protected $app; protected $app;
@ -264,6 +262,9 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// Remove Server Data // Remove Server Data
$this->removeViewData("com_componentbuilder.server"); $this->removeViewData("com_componentbuilder.server");
// Remove Repository Data
$this->removeViewData("com_componentbuilder.repository");
// Remove Help document Data // Remove Help document Data
$this->removeViewData("com_componentbuilder.help_document"); $this->removeViewData("com_componentbuilder.help_document");
@ -423,6 +424,9 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// Remove Server from action logs config table. // Remove Server from action logs config table.
$this->removeActionLogConfig('com_componentbuilder.server'); $this->removeActionLogConfig('com_componentbuilder.server');
// Remove Repository from action logs config table.
$this->removeActionLogConfig('com_componentbuilder.repository');
// Remove Help_document from action logs config table. // Remove Help_document from action logs config table.
$this->removeActionLogConfig('com_componentbuilder.help_document'); $this->removeActionLogConfig('com_componentbuilder.help_document');
@ -550,26 +554,23 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
if ($type === 'update') if ($type === 'update')
{ {
// Check if the class and method exist before attempting to call it.
if (class_exists('\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper') &&
method_exists('\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper', 'removeFolder'))
{
// path to the compiler folders
$jcb_powers = [];
$jcb_powers[] = JPATH_LIBRARIES . '/vendor_jcb/VDM.Joomla/src/Componentbuilder';
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla/src/Componentbuilder';
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.FOF';
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Gitea';
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Openai';
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Wasabi';
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Minify';
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Psr';
// we always remove all the old files to avoid mismatching // all things to clear out
foreach ($jcb_powers as $jcb_power) $jcb_cleaner = [];
{ $jcb_cleaner[] = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/compiler';
\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper::removeFolder($jcb_power); $jcb_cleaner[] = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/extrusion';
} $jcb_cleaner[] = JPATH_LIBRARIES . '/vendor_jcb/VDM.Joomla/src/Componentbuilder';
$jcb_cleaner[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla/src/Componentbuilder';
$jcb_cleaner[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.FOF';
$jcb_cleaner[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Gitea';
$jcb_cleaner[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Openai';
$jcb_cleaner[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Wasabi';
$jcb_cleaner[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Minify';
$jcb_cleaner[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Psr';
foreach ($jcb_cleaner as $cleaner)
{
$this->removeFolder($cleaner);
} }
// Check that the required configuration are set for PHP // Check that the required configuration are set for PHP
@ -617,11 +618,11 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// rules // rules
'', '',
// fieldMappings // fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_site_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","php_site_event":"php_site_event","component_version":"component_version","php_admin_event":"php_admin_event","crowdin_username":"crowdin_username","php_preflight_install":"php_preflight_install","remove_line_breaks":"remove_line_breaks","description":"description","php_method_uninstall":"php_method_uninstall","debug_linenr":"debug_linenr","mvc_versiondate":"mvc_versiondate","css_admin":"css_admin","addreadme":"addreadme","php_postflight_install":"php_postflight_install","add_placeholders":"add_placeholders","sql":"sql","author":"author","update_server_url":"update_server_url","email":"email","add_backup_folder_path":"add_backup_folder_path","website":"website","translation_tool":"translation_tool","add_license":"add_license","buildcompsql":"buildcompsql","license_type":"license_type","php_helper_admin":"php_helper_admin","php_helper_site":"php_helper_site","whmcs_key":"whmcs_key","javascript":"javascript","whmcs_url":"whmcs_url","css_site":"css_site","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","php_method_install":"php_method_install","copyright":"copyright","sql_uninstall":"sql_uninstall","preferred_joomla_version":"preferred_joomla_version","add_powers":"add_powers","add_sales_server":"add_sales_server","backup_folder_path":"backup_folder_path","add_jcb_powers_path":"add_jcb_powers_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_namespace_prefix":"add_namespace_prefix","add_javascript":"add_javascript","namespace_prefix":"namespace_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","add_menu_prefix":"add_menu_prefix","dashboard_type":"dashboard_type","menu_prefix":"menu_prefix","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","toignore":"toignore","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","export_key":"export_key","add_php_method_install":"add_php_method_install","joomla_source_link":"joomla_source_link","add_sql":"add_sql","export_buy_link":"export_buy_link","add_sql_uninstall":"add_sql_uninstall","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","emptycontributors":"emptycontributors","update_server_target":"update_server_target","number":"number","update_server":"update_server","sales_server":"sales_server","add_git_folder_path":"add_git_folder_path","git_folder_path":"git_folder_path","jcb_powers_path":"jcb_powers_path","creatuserhelper":"creatuserhelper","adduikit":"adduikit","crowdin_project_api_key":"crowdin_project_api_key","addfootable":"addfootable","crowdin_account_api_key":"crowdin_account_api_key","add_email_helper":"add_email_helper","buildcomp":"buildcomp","add_php_helper_both":"add_php_helper_both","guid":"guid","php_helper_both":"php_helper_both","name":"name"}}', '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_postflight_update","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","crowdin_project_identifier":"crowdin_project_identifier","backup_folder_path":"backup_folder_path","sql_uninstall":"sql_uninstall","php_postflight_update":"php_postflight_update","css_site":"css_site","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","php_helper_site":"php_helper_site","javascript":"javascript","description":"description","debug_linenr":"debug_linenr","author":"author","php_method_install":"php_method_install","email":"email","website":"website","add_sales_server":"add_sales_server","license":"license","add_jcb_powers_path":"add_jcb_powers_path","bom":"bom","image":"image","php_admin_event":"php_admin_event","copyright":"copyright","php_site_event":"php_site_event","css_admin":"css_admin","php_preflight_update":"php_preflight_update","component_version":"component_version","php_preflight_install":"php_preflight_install","preferred_joomla_version":"preferred_joomla_version","php_postflight_install":"php_postflight_install","add_powers":"add_powers","php_method_uninstall":"php_method_uninstall","sql":"sql","addreadme":"addreadme","update_server_url":"update_server_url","add_backup_folder_path":"add_backup_folder_path","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","add_namespace_prefix":"add_namespace_prefix","namespace_prefix":"namespace_prefix","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_menu_prefix":"add_menu_prefix","add_javascript":"add_javascript","menu_prefix":"menu_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","dashboard_type":"dashboard_type","toignore":"toignore","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","export_key":"export_key","add_php_postflight_install":"add_php_postflight_install","joomla_source_link":"joomla_source_link","add_php_postflight_update":"add_php_postflight_update","export_buy_link":"export_buy_link","add_php_method_uninstall":"add_php_method_uninstall","add_php_method_install":"add_php_method_install","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","emptycontributors":"emptycontributors","assets_table_fix":"assets_table_fix","number":"number","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","update_server":"update_server","sales_server":"sales_server","creatuserhelper":"creatuserhelper","add_git_folder_path":"add_git_folder_path","adduikit":"adduikit","git_folder_path":"git_folder_path","addfootable":"addfootable","jcb_powers_path":"jcb_powers_path","add_email_helper":"add_email_helper","add_php_helper_both":"add_php_helper_both","crowdin_project_api_key":"crowdin_project_api_key","php_helper_both":"php_helper_both","crowdin_account_api_key":"crowdin_account_api_key","add_php_helper_admin":"add_php_helper_admin","buildcomp":"buildcomp","php_helper_admin":"php_helper_admin","guid":"guid","add_admin_event":"add_admin_event","name":"name"}}',
// router // router
'', '',
// contentHistoryOptions // contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","remove_line_breaks","debug_linenr","mvc_versiondate","addreadme","add_placeholders","add_backup_folder_path","translation_tool","add_license","license_type","preferred_joomla_version","add_powers","add_sales_server","add_jcb_powers_path","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_php_method_install","add_sql","add_sql_uninstall","assets_table_fix","add_update_server","emptycontributors","update_server_target","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","addfootable","add_email_helper","buildcomp","add_php_helper_both"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}' '{"formFile": "administrator/components/com_componentbuilder/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","mvc_versiondate","remove_line_breaks","add_placeholders","debug_linenr","add_sales_server","add_jcb_powers_path","preferred_joomla_version","add_powers","addreadme","add_backup_folder_path","translation_tool","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_php_method_install","add_sql","add_sql_uninstall","emptycontributors","assets_table_fix","number","add_update_server","update_server_target","update_server","sales_server","creatuserhelper","add_git_folder_path","adduikit","addfootable","add_email_helper","add_php_helper_both","add_php_helper_admin","buildcomp","add_admin_event"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}'
); );
// Install Joomla module Content Types. // Install Joomla module Content Types.
$this->setContentType( $this->setContentType(
@ -685,11 +686,11 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// rules // rules
'', '',
// fieldMappings // fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "head","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","namespace":"namespace","type":"type","power_version":"power_version","licensing_template":"licensing_template","description":"description","extends":"extends","approved":"approved","add_head":"add_head","extends_custom":"extends_custom","implements_custom":"implements_custom","implements":"implements","head":"head","approved_paths":"approved_paths","main_class_code":"main_class_code","add_licensing_template":"add_licensing_template","guid":"guid","name":"name"}}', '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "head","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","namespace":"namespace","type":"type","power_version":"power_version","description":"description","licensing_template":"licensing_template","approved":"approved","extendsinterfaces_custom":"extendsinterfaces_custom","add_head":"add_head","extends":"extends","extends_custom":"extends_custom","implements_custom":"implements_custom","implements":"implements","extendsinterfaces":"extendsinterfaces","approved_paths":"approved_paths","head":"head","add_licensing_template":"add_licensing_template","main_class_code":"main_class_code","guid":"guid","name":"name"}}',
// router // router
'', '',
// contentHistoryOptions // contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/power.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","approved","add_head","add_licensing_template"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "extends","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"},{"sourceColumn": "implements","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"}]}' '{"formFile": "administrator/components/com_componentbuilder/forms/power.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","approved","add_head","add_licensing_template"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "extends","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"},{"sourceColumn": "implements","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"},{"sourceColumn": "extendsinterfaces","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"}]}'
); );
// Install Admin view Content Types. // Install Admin view Content Types.
$this->setContentType( $this->setContentType(
@ -923,7 +924,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// rules // rules
'', '',
// fieldMappings // fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "css_views","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","fieldtype":"fieldtype","datatype":"datatype","indexes":"indexes","null_switch":"null_switch","store":"store","on_save_model_field":"on_save_model_field","initiator_on_get_model":"initiator_on_get_model","initiator_on_save_model":"initiator_on_save_model","xml":"xml","datalenght":"datalenght","css_views":"css_views","css_view":"css_view","datadefault_other":"datadefault_other","datadefault":"datadefault","datalenght_other":"datalenght_other","on_get_model_field":"on_get_model_field","javascript_view_footer":"javascript_view_footer","javascript_views_footer":"javascript_views_footer","add_css_view":"add_css_view","add_css_views":"add_css_views","add_javascript_view_footer":"add_javascript_view_footer","add_javascript_views_footer":"add_javascript_views_footer","guid":"guid"}}', '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "javascript_view_footer","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","fieldtype":"fieldtype","datatype":"datatype","indexes":"indexes","null_switch":"null_switch","store":"store","on_get_model_field":"on_get_model_field","on_save_model_field":"on_save_model_field","initiator_on_get_model":"initiator_on_get_model","xml":"xml","datalenght":"datalenght","javascript_view_footer":"javascript_view_footer","css_views":"css_views","css_view":"css_view","datadefault_other":"datadefault_other","datadefault":"datadefault","datalenght_other":"datalenght_other","javascript_views_footer":"javascript_views_footer","add_css_view":"add_css_view","add_css_views":"add_css_views","add_javascript_view_footer":"add_javascript_view_footer","add_javascript_views_footer":"add_javascript_views_footer","initiator_on_save_model":"initiator_on_save_model","guid":"guid"}}',
// router // router
'', '',
// contentHistoryOptions // contentHistoryOptions
@ -1031,6 +1032,23 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// contentHistoryOptions // contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/server.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","protocol","authentication"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}' '{"formFile": "administrator/components/com_componentbuilder/forms/server.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","protocol","authentication"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'
); );
// Install Repository Content Types.
$this->setContentType(
// typeTitle
'Componentbuilder Repository',
// typeAlias
'com_componentbuilder.repository',
// table
'{"special": {"dbtable": "#__componentbuilder_repository","key": "id","type": "RepositoryTable","prefix": "VDM\Component\Componentbuilder\Administrator\Table"}}',
// rules
'',
// fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","organisation":"organisation","repository":"repository","target":"target","type":"type","base":"base","guid":"guid","access_repo":"access_repo","write_branch":"write_branch","read_branch":"read_branch","token":"token","username":"username"}}',
// router
'',
// contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/repository.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","target","type","access_repo"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'
);
// Install Help document Content Types. // Install Help document Content Types.
$this->setContentType( $this->setContentType(
// typeTitle // typeTitle
@ -1493,16 +1511,19 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// Fix the assets table rules column size. // Fix the assets table rules column size.
$this->setDatabaseAssetsRulesFix(93920, "MEDIUMTEXT"); $this->setDatabaseAssetsRulesFix(96160, "MEDIUMTEXT");
// Install the global extension params. // Install the global extension params.
$this->setExtensionsParams( $this->setExtensionsParams(
'{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","super_powers_documentation":"0","powers_repository":"0","super_powers_repositories":"0","approved_paths":"default","add_custom_gitea_url":"1","custom_gitea_url":"https://git.vdm.dev","super_powers_core_organisation":"joomla","super_powers_core":"joomla/super-powers","builder_gif_size":"480-272","compiler_plugin":["componentbuilderactionlogcompiler","componentbuilderfieldorderingcompiler","componentbuilderheaderscompiler","componentbuilderpowersautoloadercompiler","componentbuilderprivacycompiler"],"add_menu_prefix":"1","menu_prefix":"»","namespace_prefix":"JCB","minify":"0","language":"en-GB","percentagelanguageadd":"30","assets_table_fix":"2","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","import_guid_only":"1","export_language_strings":"1","development_method":"1","expansion":"0","return_options_build":"2","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","add_jquery_framework":"1","uikit_load":"1","uikit_min":"","uikit_style":""}' '{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","super_powers_documentation":"0","powers_repository":"0","super_powers_repositories":"0","builder_gif_size":"480-272","compiler_plugin":["componentbuilderactionlogcompiler","componentbuilderfieldorderingcompiler","componentbuilderheaderscompiler","componentbuilderpowersautoloadercompiler","componentbuilderprivacycompiler"],"add_menu_prefix":"1","menu_prefix":"»","namespace_prefix":"JCB","minify":"0","language":"en-GB","percentagelanguageadd":"30","assets_table_fix":"2","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","import_guid_only":"1","export_language_strings":"1","development_method":"1","expansion":"0","return_options_build":"2","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","add_jquery_framework":"1","uikit_load":"1","uikit_min":"","uikit_style":""}'
); );
// Check that the database is up-to date // Check that the database is up-to date
$this->databaseSchemaCheck($this->app); if ($this->classExists(SchemaChecker::class))
{
(new SchemaChecker())->run();
}
echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://dev.vdm.io" title="Component Builder"> 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"/> <img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
@ -1879,6 +1900,22 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
'COM_COMPONENTBUILDER' 'COM_COMPONENTBUILDER'
); );
// Add Repository to the action logs config table.
$this->setActionLogConfig(
// typeTitle
'REPOSITORY',
// typeAlias
'com_componentbuilder.repository',
// idHolder
'id',
// titleHolder
'system_name',
// tableName
'#__componentbuilder_repository',
// textPrefix
'COM_COMPONENTBUILDER'
);
// Add Help_document to the action logs config table. // Add Help_document to the action logs config table.
$this->setActionLogConfig( $this->setActionLogConfig(
// typeTitle // typeTitle
@ -2327,11 +2364,11 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// rules // rules
'', '',
// fieldMappings // fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_site_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","php_site_event":"php_site_event","component_version":"component_version","php_admin_event":"php_admin_event","crowdin_username":"crowdin_username","php_preflight_install":"php_preflight_install","remove_line_breaks":"remove_line_breaks","description":"description","php_method_uninstall":"php_method_uninstall","debug_linenr":"debug_linenr","mvc_versiondate":"mvc_versiondate","css_admin":"css_admin","addreadme":"addreadme","php_postflight_install":"php_postflight_install","add_placeholders":"add_placeholders","sql":"sql","author":"author","update_server_url":"update_server_url","email":"email","add_backup_folder_path":"add_backup_folder_path","website":"website","translation_tool":"translation_tool","add_license":"add_license","buildcompsql":"buildcompsql","license_type":"license_type","php_helper_admin":"php_helper_admin","php_helper_site":"php_helper_site","whmcs_key":"whmcs_key","javascript":"javascript","whmcs_url":"whmcs_url","css_site":"css_site","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","php_method_install":"php_method_install","copyright":"copyright","sql_uninstall":"sql_uninstall","preferred_joomla_version":"preferred_joomla_version","add_powers":"add_powers","add_sales_server":"add_sales_server","backup_folder_path":"backup_folder_path","add_jcb_powers_path":"add_jcb_powers_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_namespace_prefix":"add_namespace_prefix","add_javascript":"add_javascript","namespace_prefix":"namespace_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","add_menu_prefix":"add_menu_prefix","dashboard_type":"dashboard_type","menu_prefix":"menu_prefix","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","toignore":"toignore","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","export_key":"export_key","add_php_method_install":"add_php_method_install","joomla_source_link":"joomla_source_link","add_sql":"add_sql","export_buy_link":"export_buy_link","add_sql_uninstall":"add_sql_uninstall","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","emptycontributors":"emptycontributors","update_server_target":"update_server_target","number":"number","update_server":"update_server","sales_server":"sales_server","add_git_folder_path":"add_git_folder_path","git_folder_path":"git_folder_path","jcb_powers_path":"jcb_powers_path","creatuserhelper":"creatuserhelper","adduikit":"adduikit","crowdin_project_api_key":"crowdin_project_api_key","addfootable":"addfootable","crowdin_account_api_key":"crowdin_account_api_key","add_email_helper":"add_email_helper","buildcomp":"buildcomp","add_php_helper_both":"add_php_helper_both","guid":"guid","php_helper_both":"php_helper_both","name":"name"}}', '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_postflight_update","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","crowdin_project_identifier":"crowdin_project_identifier","backup_folder_path":"backup_folder_path","sql_uninstall":"sql_uninstall","php_postflight_update":"php_postflight_update","css_site":"css_site","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","php_helper_site":"php_helper_site","javascript":"javascript","description":"description","debug_linenr":"debug_linenr","author":"author","php_method_install":"php_method_install","email":"email","website":"website","add_sales_server":"add_sales_server","license":"license","add_jcb_powers_path":"add_jcb_powers_path","bom":"bom","image":"image","php_admin_event":"php_admin_event","copyright":"copyright","php_site_event":"php_site_event","css_admin":"css_admin","php_preflight_update":"php_preflight_update","component_version":"component_version","php_preflight_install":"php_preflight_install","preferred_joomla_version":"preferred_joomla_version","php_postflight_install":"php_postflight_install","add_powers":"add_powers","php_method_uninstall":"php_method_uninstall","sql":"sql","addreadme":"addreadme","update_server_url":"update_server_url","add_backup_folder_path":"add_backup_folder_path","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","add_namespace_prefix":"add_namespace_prefix","namespace_prefix":"namespace_prefix","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_menu_prefix":"add_menu_prefix","add_javascript":"add_javascript","menu_prefix":"menu_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","dashboard_type":"dashboard_type","toignore":"toignore","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","export_key":"export_key","add_php_postflight_install":"add_php_postflight_install","joomla_source_link":"joomla_source_link","add_php_postflight_update":"add_php_postflight_update","export_buy_link":"export_buy_link","add_php_method_uninstall":"add_php_method_uninstall","add_php_method_install":"add_php_method_install","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","emptycontributors":"emptycontributors","assets_table_fix":"assets_table_fix","number":"number","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","update_server":"update_server","sales_server":"sales_server","creatuserhelper":"creatuserhelper","add_git_folder_path":"add_git_folder_path","adduikit":"adduikit","git_folder_path":"git_folder_path","addfootable":"addfootable","jcb_powers_path":"jcb_powers_path","add_email_helper":"add_email_helper","add_php_helper_both":"add_php_helper_both","crowdin_project_api_key":"crowdin_project_api_key","php_helper_both":"php_helper_both","crowdin_account_api_key":"crowdin_account_api_key","add_php_helper_admin":"add_php_helper_admin","buildcomp":"buildcomp","php_helper_admin":"php_helper_admin","guid":"guid","add_admin_event":"add_admin_event","name":"name"}}',
// router // router
'', '',
// contentHistoryOptions // contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","remove_line_breaks","debug_linenr","mvc_versiondate","addreadme","add_placeholders","add_backup_folder_path","translation_tool","add_license","license_type","preferred_joomla_version","add_powers","add_sales_server","add_jcb_powers_path","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_php_method_install","add_sql","add_sql_uninstall","assets_table_fix","add_update_server","emptycontributors","update_server_target","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","addfootable","add_email_helper","buildcomp","add_php_helper_both"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}' '{"formFile": "administrator/components/com_componentbuilder/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","mvc_versiondate","remove_line_breaks","add_placeholders","debug_linenr","add_sales_server","add_jcb_powers_path","preferred_joomla_version","add_powers","addreadme","add_backup_folder_path","translation_tool","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_php_method_install","add_sql","add_sql_uninstall","emptycontributors","assets_table_fix","number","add_update_server","update_server_target","update_server","sales_server","creatuserhelper","add_git_folder_path","adduikit","addfootable","add_email_helper","add_php_helper_both","add_php_helper_admin","buildcomp","add_admin_event"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}'
); );
// Update Joomla module Content Types. // Update Joomla module Content Types.
$this->setContentType( $this->setContentType(
@ -2395,11 +2432,11 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// rules // rules
'', '',
// fieldMappings // fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "head","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","namespace":"namespace","type":"type","power_version":"power_version","licensing_template":"licensing_template","description":"description","extends":"extends","approved":"approved","add_head":"add_head","extends_custom":"extends_custom","implements_custom":"implements_custom","implements":"implements","head":"head","approved_paths":"approved_paths","main_class_code":"main_class_code","add_licensing_template":"add_licensing_template","guid":"guid","name":"name"}}', '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "head","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","namespace":"namespace","type":"type","power_version":"power_version","description":"description","licensing_template":"licensing_template","approved":"approved","extendsinterfaces_custom":"extendsinterfaces_custom","add_head":"add_head","extends":"extends","extends_custom":"extends_custom","implements_custom":"implements_custom","implements":"implements","extendsinterfaces":"extendsinterfaces","approved_paths":"approved_paths","head":"head","add_licensing_template":"add_licensing_template","main_class_code":"main_class_code","guid":"guid","name":"name"}}',
// router // router
'', '',
// contentHistoryOptions // contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/power.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","approved","add_head","add_licensing_template"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "extends","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"},{"sourceColumn": "implements","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"}]}' '{"formFile": "administrator/components/com_componentbuilder/forms/power.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","approved","add_head","add_licensing_template"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "extends","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"},{"sourceColumn": "implements","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"},{"sourceColumn": "extendsinterfaces","targetTable": "#__componentbuilder_power","targetColumn": "guid","displayColumn": "name"}]}'
); );
// Update Admin view Content Types. // Update Admin view Content Types.
$this->setContentType( $this->setContentType(
@ -2633,7 +2670,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// rules // rules
'', '',
// fieldMappings // fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "css_views","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","fieldtype":"fieldtype","datatype":"datatype","indexes":"indexes","null_switch":"null_switch","store":"store","on_save_model_field":"on_save_model_field","initiator_on_get_model":"initiator_on_get_model","initiator_on_save_model":"initiator_on_save_model","xml":"xml","datalenght":"datalenght","css_views":"css_views","css_view":"css_view","datadefault_other":"datadefault_other","datadefault":"datadefault","datalenght_other":"datalenght_other","on_get_model_field":"on_get_model_field","javascript_view_footer":"javascript_view_footer","javascript_views_footer":"javascript_views_footer","add_css_view":"add_css_view","add_css_views":"add_css_views","add_javascript_view_footer":"add_javascript_view_footer","add_javascript_views_footer":"add_javascript_views_footer","guid":"guid"}}', '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "javascript_view_footer","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","fieldtype":"fieldtype","datatype":"datatype","indexes":"indexes","null_switch":"null_switch","store":"store","on_get_model_field":"on_get_model_field","on_save_model_field":"on_save_model_field","initiator_on_get_model":"initiator_on_get_model","xml":"xml","datalenght":"datalenght","javascript_view_footer":"javascript_view_footer","css_views":"css_views","css_view":"css_view","datadefault_other":"datadefault_other","datadefault":"datadefault","datalenght_other":"datalenght_other","javascript_views_footer":"javascript_views_footer","add_css_view":"add_css_view","add_css_views":"add_css_views","add_javascript_view_footer":"add_javascript_view_footer","add_javascript_views_footer":"add_javascript_views_footer","initiator_on_save_model":"initiator_on_save_model","guid":"guid"}}',
// router // router
'', '',
// contentHistoryOptions // contentHistoryOptions
@ -2741,6 +2778,23 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// contentHistoryOptions // contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/server.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","protocol","authentication"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}' '{"formFile": "administrator/components/com_componentbuilder/forms/server.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","protocol","authentication"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'
); );
// Update Repository Content Types.
$this->setContentType(
// typeTitle
'Componentbuilder Repository',
// typeAlias
'com_componentbuilder.repository',
// table
'{"special": {"dbtable": "#__componentbuilder_repository","key": "id","type": "RepositoryTable","prefix": "VDM\Component\Componentbuilder\Administrator\Table"}}',
// rules
'',
// fieldMappings
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","organisation":"organisation","repository":"repository","target":"target","type":"type","base":"base","guid":"guid","access_repo":"access_repo","write_branch":"write_branch","read_branch":"read_branch","token":"token","username":"username"}}',
// router
'',
// contentHistoryOptions
'{"formFile": "administrator/components/com_componentbuilder/forms/repository.xml","hideFields": ["asset_id","checked_out","checked_out_time"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","target","type","access_repo"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'
);
// Update Help document Content Types. // Update Help document Content Types.
$this->setContentType( $this->setContentType(
// typeTitle // typeTitle
@ -3205,12 +3259,15 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// Check that the database is up-to date // Check that the database is up-to date
$this->databaseSchemaCheck($this->app); if ($this->classExists(SchemaChecker::class))
{
(new SchemaChecker())->run();
}
echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://dev.vdm.io" title="Component Builder"> 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"/> <img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
</a> </a>
<h3>Upgrade to Version 5.0.0 Was Successful! Let us know if anything is not working as expected.</h3></div>'; <h3>Upgrade to Version 4.0.1 Was Successful! Let us know if anything is not working as expected.</h3></div>';
// Add/Update component in the action logs extensions table. // Add/Update component in the action logs extensions table.
$this->setActionLogsExtensions(); $this->setActionLogsExtensions();
@ -3583,6 +3640,22 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
'COM_COMPONENTBUILDER' 'COM_COMPONENTBUILDER'
); );
// Add/Update Repository in the action logs config table.
$this->setActionLogConfig(
// typeTitle
'REPOSITORY',
// typeAlias
'com_componentbuilder.repository',
// idHolder
'id',
// titleHolder
'system_name',
// tableName
'#__componentbuilder_repository',
// textPrefix
'COM_COMPONENTBUILDER'
);
// Add/Update Help_document in the action logs config table. // Add/Update Help_document in the action logs config table.
$this->setActionLogConfig( $this->setActionLogConfig(
// typeTitle // typeTitle
@ -4025,6 +4098,80 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
return true; return true;
} }
/**
* Remove folders with files (with ignore options)
*
* @param string $dir The path to the folder to remove.
* @param array|null $ignore The folders and files to ignore and not remove.
*
* @return bool True if all specified files/folders are removed, false otherwise.
* @since 3.2.2
*/
protected function removeFolder(string $dir, ?array $ignore = null): bool
{
if (!is_dir($dir))
{
return false;
}
$it = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
$it = new \RecursiveIteratorIterator($it, \RecursiveIteratorIterator::CHILD_FIRST);
// Remove trailing slash
$dir = rtrim($dir, '/');
foreach ($it as $file)
{
$filePath = $file->getPathname();
$relativePath = str_replace($dir . '/', '', $filePath);
if ($ignore !== null && in_array($relativePath, $ignore, true))
{
continue;
}
if ($file->isDir())
{
Folder::delete($filePath);
}
else
{
File::delete($filePath);
}
}
// Delete the root folder if there are no ignored files/folders left
if ($ignore === null || $this->isDirEmpty($dir, $ignore))
{
return Folder::delete($dir);
}
return true;
}
/**
* Check if a directory is empty considering ignored files/folders.
*
* @param string $dir The path to the folder to check.
* @param array $ignore The folders and files to ignore.
*
* @return bool True if the directory is empty or contains only ignored items, false otherwise.
* @since 3.2.1
*/
protected function isDirEmpty(string $dir, array $ignore): bool
{
$it = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
foreach ($it as $file)
{
$relativePath = str_replace($dir . '/', '', $file->getPathname());
if (!in_array($relativePath, $ignore, true))
{
return false;
}
}
return true;
}
/** /**
* Remove the files and folders in the given array from * Remove the files and folders in the given array from
* *
@ -4843,6 +4990,35 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
} }
} }
/**
* Ensures that a class in the namespace is available.
* If the class is not already loaded, it attempts to load it via the specified autoloader.
*
* @param string $className The fully qualified name of the class to check.
*
* @return bool True if the class exists or was successfully loaded, false otherwise.
* @since 4.0.1
*/
protected function classExists(string $className): bool
{
if (!class_exists($className, true))
{
// The power autoloader for this project (JPATH_ADMINISTRATOR) area.
$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/src/Helper/PowerloaderHelper.php';
if (file_exists($power_autoloader))
{
require_once $power_autoloader;
}
// Check again if the class now exists after requiring the autoloader
if (!class_exists($className, true))
{
return false;
}
}
return true;
}
/** /**
* Define the required limits with specific messages for success and warning scenarios * Define the required limits with specific messages for success and warning scenarios
* *
@ -4951,66 +5127,6 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
} }
} }
/**
* Make sure that the componentbuilder database schema is up to date.
*
* @return void
* @since 3.2.1
*/
protected function databaseSchemaCheck($app): void
{
// try to load the schema class
try
{
// make sure the class is loaded
$this->ensureClassExists(
Schema::class
);
// instantiate the schema class and check/update the database
$messages = (new Schema())->update();
}
catch (\Exception $e)
{
$app->enqueueMessage($e->getMessage(), 'warning');
return;
}
foreach ($messages as $message)
{
$app->enqueueMessage($message, 'message');
}
}
/**
* Ensures that a class in the namespace is available.
* If the class is not already loaded, it attempts to load it via the power autoloader.
*
* @param mixed $nameClass The name::class we are looking for.
*
* @return void
* @since 3.2.1
* @throws \Exception If the class could not be loaded.
*/
protected function ensureClassExists($nameClass): void
{
if (!class_exists($nameClass, true))
{
// The power autoloader for this project admin area.
$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/src/Helper/PowerloaderHelper.php';
if (file_exists($power_autoloader))
{
require_once $power_autoloader;
}
// Check again if the class now exists after requiring it
if (!class_exists($nameClass, true))
{
throw new \Exception("We failed to find/load the $nameClass");
}
}
}
/** /**
* Method to move folders into place. * Method to move folders into place.
* *

View File

@ -1,7 +1,7 @@
# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com)) # Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com))
This is a [Joomla 5.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) This is a [Joomla 4.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder") ![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder")
@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have! Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (5.0.0) with **ALL** its features and **ALL** concepts totally open-source and free! You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (4.0.1) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -144,14 +144,14 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder) + *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 10th May, 2024 + *Last Build*: 20th July, 2024
+ *Version*: 5.0.0 + *Version*: 4.0.1
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt + *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **746228** + *Line count*: **780706**
+ *Field count*: **2097** + *Field count*: **2104**
+ *File count*: **5287** + *File count*: **5462**
+ *Folder count*: **528** + *Folder count*: **540**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). > This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io) > Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)

View File

@ -1,7 +1,7 @@
# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com)) # Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com))
This is a [Joomla 5.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) This is a [Joomla 4.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder") ![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder")
@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have! Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (5.0.0) with **ALL** its features and **ALL** concepts totally open-source and free! You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (4.0.1) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -144,14 +144,14 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder) + *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 10th May, 2024 + *Last Build*: 20th July, 2024
+ *Version*: 5.0.0 + *Version*: 4.0.1
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt + *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **746228** + *Line count*: **780706**
+ *Field count*: **2097** + *Field count*: **2104**
+ *File count*: **5287** + *File count*: **5462**
+ *Folder count*: **528** + *Folder count*: **540**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). > This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io) > Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)

View File

@ -388,6 +388,7 @@
<action name="joomla_plugin_updates.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE_DESC" /> <action name="joomla_plugin_updates.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE_DESC" />
<action name="joomla_plugin_updates.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION_DESC" /> <action name="joomla_plugin_updates.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION_DESC" />
<action name="joomla_power.init" title="COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS_DESC" /> <action name="joomla_power.init" title="COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS_DESC" />
<action name="joomla_power.push" title="COM_COMPONENTBUILDER_JOOMLA_POWER_PUSH_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_PUSH_BUTTON_ACCESS_DESC" />
<action name="joomla_power.reset" title="COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS_DESC" /> <action name="joomla_power.reset" title="COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS_DESC" />
<action name="joomla_power.access" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS_DESC" /> <action name="joomla_power.access" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS_DESC" />
<action name="joomla_power.batch" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE_DESC" /> <action name="joomla_power.batch" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE_DESC" />
@ -483,6 +484,18 @@
<action name="power.edit.state" title="COM_COMPONENTBUILDER_POWERS_EDIT_STATE" description="COM_COMPONENTBUILDER_POWERS_EDIT_STATE_DESC" /> <action name="power.edit.state" title="COM_COMPONENTBUILDER_POWERS_EDIT_STATE" description="COM_COMPONENTBUILDER_POWERS_EDIT_STATE_DESC" />
<action name="power.version" title="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION_DESC" /> <action name="power.version" title="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION_DESC" />
<action name="power.submenu" title="COM_COMPONENTBUILDER_POWERS_SUBMENU" description="COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC" /> <action name="power.submenu" title="COM_COMPONENTBUILDER_POWERS_SUBMENU" description="COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC" />
<action name="repository.access" title="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS" description="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS_DESC" />
<action name="repository.batch" title="COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE" description="COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE_DESC" />
<action name="repository.create" title="COM_COMPONENTBUILDER_REPOSITORIES_CREATE" description="COM_COMPONENTBUILDER_REPOSITORIES_CREATE_DESC" />
<action name="repository.dashboard_list" title="COM_COMPONENTBUILDER_REPOSITORIES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_REPOSITORIES_DASHBOARD_LIST_DESC" />
<action name="repository.delete" title="COM_COMPONENTBUILDER_REPOSITORIES_DELETE" description="COM_COMPONENTBUILDER_REPOSITORIES_DELETE_DESC" />
<action name="repository.edit" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_DESC" />
<action name="repository.edit.created_by" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY_DESC" />
<action name="repository.edit.created" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE_DESC" />
<action name="repository.edit.own" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN_DESC" />
<action name="repository.edit.state" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE_DESC" />
<action name="repository.version" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION_DESC" />
<action name="repository.submenu" title="COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU" description="COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU_DESC" />
<action name="search.access" title="COM_COMPONENTBUILDER_SEARCH_ACCESS" description="COM_COMPONENTBUILDER_SEARCH_ACCESS_DESC" /> <action name="search.access" title="COM_COMPONENTBUILDER_SEARCH_ACCESS" description="COM_COMPONENTBUILDER_SEARCH_ACCESS_DESC" />
<action name="search.compiler" title="COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS_DESC" /> <action name="search.compiler" title="COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS_DESC" />
<action name="search.dashboard_list" title="COM_COMPONENTBUILDER_SEARCH_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_SEARCH_DASHBOARD_LIST_DESC" /> <action name="search.dashboard_list" title="COM_COMPONENTBUILDER_SEARCH_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_SEARCH_DASHBOARD_LIST_DESC" />
@ -766,6 +779,17 @@
<action name="server.access" title="COM_COMPONENTBUILDER_SERVERS_ACCESS" description="COM_COMPONENTBUILDER_SERVERS_ACCESS_DESC" /> <action name="server.access" title="COM_COMPONENTBUILDER_SERVERS_ACCESS" description="COM_COMPONENTBUILDER_SERVERS_ACCESS_DESC" />
<action name="server.version" title="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION_DESC" /> <action name="server.version" title="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION_DESC" />
</section> </section>
<section name="repository">
<action name="repository.edit" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_DESC" />
<action name="repository.edit.own" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN_DESC" />
<action name="repository.edit.state" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE_DESC" />
<action name="repository.edit.created_by" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY_DESC" />
<action name="repository.edit.created" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE_DESC" />
<action name="repository.create" title="COM_COMPONENTBUILDER_REPOSITORIES_CREATE" description="COM_COMPONENTBUILDER_REPOSITORIES_CREATE_DESC" />
<action name="repository.delete" title="COM_COMPONENTBUILDER_REPOSITORIES_DELETE" description="COM_COMPONENTBUILDER_REPOSITORIES_DELETE_DESC" />
<action name="repository.access" title="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS" description="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS_DESC" />
<action name="repository.version" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION_DESC" />
</section>
<section name="help_document"> <section name="help_document">
<action name="help_document.edit" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_DESC" /> <action name="help_document.edit" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_DESC" />
<action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" /> <action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" />

View File

@ -0,0 +1,13 @@
/**
* @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
*/
/* CSS Document */

View File

@ -0,0 +1,13 @@
/**
* @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
*/
/* CSS Document */

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file // No direct access to this file
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
###CUSTOM_POWER_AUTOLOADER### ###POWER_AUTOLOADER###
###ADMIN_HELPER_CLASS_HEADER### ###ADMIN_HELPER_CLASS_HEADER###

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file // No direct access to this file
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
###SITE_CUSTOM_POWER_AUTOLOADER### ###SITE_POWER_AUTOLOADER###
###SITE_HELPER_CLASS_HEADER### ###SITE_HELPER_CLASS_HEADER###

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file // No direct access to this file
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
###CUSTOM_POWER_AUTOLOADER### ###POWER_AUTOLOADER###
###ADMIN_COMPONENT_HEADER### ###ADMIN_COMPONENT_HEADER###

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file // No direct access to this file
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
###SITE_CUSTOM_POWER_AUTOLOADER### ###SITE_POWER_AUTOLOADER###
###SITE_COMPONENT_HEADER### ###SITE_COMPONENT_HEADER###

View File

@ -138,76 +138,77 @@ class Com_###Component###InstallerScript
} }
/** /**
* Remove folders with files * Remove folders with files (with ignore options)
* *
* @param string $dir The path to folder to remove * @param string $dir The path to the folder to remove.
* @param boolean $ignore The folders and files to ignore and not remove * @param array|null $ignore The folders and files to ignore and not remove.
*
* @return boolean True in all is removed
* *
* @return bool True if all specified files/folders are removed, false otherwise.
* @since 3.2.2
*/ */
protected function removeFolder($dir, $ignore = false) protected function removeFolder(string $dir, ?array $ignore = null): bool
{ {
if (Folder::exists($dir)) if (!is_dir($dir))
{ {
$it = new RecursiveDirectoryIterator($dir); return false;
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
// remove ending /
$dir = rtrim($dir, '/');
// now loop the files & folders
foreach ($it as $file)
{
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
// set file dir
$file_dir = $file->getPathname();
// check if this is a dir or a file
if ($file->isDir())
{
$keeper = false;
if ($this->checkArray($ignore))
{
foreach ($ignore as $keep)
{
if (strpos($file_dir, $dir.'/'.$keep) !== false)
{
$keeper = true;
}
}
}
if ($keeper)
{
continue;
}
Folder::delete($file_dir);
}
else
{
$keeper = false;
if ($this->checkArray($ignore))
{
foreach ($ignore as $keep)
{
if (strpos($file_dir, $dir.'/'.$keep) !== false)
{
$keeper = true;
}
}
}
if ($keeper)
{
continue;
}
File::delete($file_dir);
}
}
// delete the root folder if not ignore found
if (!$this->checkArray($ignore))
{
return Folder::delete($dir);
}
return true;
} }
return false;
$it = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
$it = new \RecursiveIteratorIterator($it, \RecursiveIteratorIterator::CHILD_FIRST);
// Remove trailing slash
$dir = rtrim($dir, '/');
foreach ($it as $file)
{
$filePath = $file->getPathname();
$relativePath = str_replace($dir . '/', '', $filePath);
if ($ignore !== null && in_array($relativePath, $ignore, true))
{
continue;
}
if ($file->isDir())
{
Folder::delete($filePath);
}
else
{
File::delete($filePath);
}
}
// Delete the root folder if there are no ignored files/folders left
if ($ignore === null || $this->isDirEmpty($dir, $ignore))
{
return Folder::delete($dir);
}
return true;
}
/**
* Check if a directory is empty considering ignored files/folders.
*
* @param string $dir The path to the folder to check.
* @param array $ignore The folders and files to ignore.
*
* @return bool True if the directory is empty or contains only ignored items, false otherwise.
* @since 3.2.1
*/
protected function isDirEmpty(string $dir, array $ignore): bool
{
$it = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
foreach ($it as $file)
{
$relativePath = str_replace($dir . '/', '', $file->getPathname());
if (!in_array($relativePath, $ignore, true))
{
return false;
}
}
return true;
} }
/** /**
@ -216,6 +217,7 @@ class Com_###Component###InstallerScript
* @input array The array to check * @input array The array to check
* *
* @returns bool/int number of items in array on success * @returns bool/int number of items in array on success
* @since 3.2.2
*/ */
protected function checkArray($array, $removeEmptyString = false) protected function checkArray($array, $removeEmptyString = false)
{ {
@ -236,5 +238,29 @@ class Com_###Component###InstallerScript
return $nr; return $nr;
} }
return false; return false;
}
/**
* Ensures that a class in the namespace is available.
* If the class is not already loaded, it attempts to load it via the specified autoloader.
*
* @param string $className The fully qualified name of the class to check.
*
* @return bool True if the class exists or was successfully loaded, false otherwise.
* @since 3.2.2
*/
protected function classExists(string $className): bool
{
if (!class_exists($className, true))
{
###THREE_POWER_AUTOLOADER###
// Check again if the class now exists after requiring the autoloader
if (!class_exists($className, true))
{
return false;
}
}
return true;
}###INSTALLERMETHODS### }###INSTALLERMETHODS###
} }

View File

@ -15,7 +15,7 @@ defined('_JCB_TEMPLATE') or die;
###BOM### ###BOM###
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator\Helper; namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator\Helper;
###CUSTOM_POWER_AUTOLOADER### ###POWER_AUTOLOADER###
###ADMIN_HELPER_CLASS_HEADER### ###ADMIN_HELPER_CLASS_HEADER###

View File

@ -14,7 +14,7 @@ defined('_JCB_TEMPLATE') or die;
?> ?>
###BOM### ###BOM###
###CUSTOM_POWER_AUTOLOADER### ###POWER_AUTOLOADER###
// (soon) use Joomla\CMS\Association\AssociationExtensionInterface; // (soon) use Joomla\CMS\Association\AssociationExtensionInterface;
use Joomla\CMS\Categories\CategoryFactoryInterface; use Joomla\CMS\Categories\CategoryFactoryInterface;
@ -55,10 +55,10 @@ return new class () implements ServiceProviderInterface
{ {
// (soon) $container->set(AssociationExtensionInterface::class, new AssociationsHelper()); // (soon) $container->set(AssociationExtensionInterface::class, new AssociationsHelper());
$container->registerServiceProvider(new CategoryFactory('\\###NAMESPACEPREFIX###\\Component\\###Component###')); $container->registerServiceProvider(new CategoryFactory('\\###NAMESPACEPREFIX###\\Component\\###ComponentNamespace###'));
$container->registerServiceProvider(new MVCFactory('\\###NAMESPACEPREFIX###\\Component\\###Component###')); $container->registerServiceProvider(new MVCFactory('\\###NAMESPACEPREFIX###\\Component\\###ComponentNamespace###'));
$container->registerServiceProvider(new ComponentDispatcherFactory('\\###NAMESPACEPREFIX###\\Component\\###Component###')); $container->registerServiceProvider(new ComponentDispatcherFactory('\\###NAMESPACEPREFIX###\\Component\\###ComponentNamespace###'));
$container->registerServiceProvider(new RouterFactory('\\###NAMESPACEPREFIX###\\Component\\###Component###')); $container->registerServiceProvider(new RouterFactory('\\###NAMESPACEPREFIX###\\Component\\###ComponentNamespace###'));
$container->set( $container->set(
ComponentInterface::class, ComponentInterface::class,

View File

@ -261,7 +261,7 @@ class ###View###Controller extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -19,7 +19,6 @@ use Joomla\CMS\Language\Text;
use Joomla\CMS\Filesystem\File; use Joomla\CMS\Filesystem\File;
use Joomla\CMS\Installer\InstallerAdapter; use Joomla\CMS\Installer\InstallerAdapter;
use Joomla\CMS\Installer\InstallerScriptInterface; use Joomla\CMS\Installer\InstallerScriptInterface;
use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Log\Log; use Joomla\CMS\Log\Log;
use Joomla\CMS\Version; use Joomla\CMS\Version;
use Joomla\CMS\HTML\HTMLHelper as Html; use Joomla\CMS\HTML\HTMLHelper as Html;
@ -39,7 +38,6 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
/** /**
* The CMS Application. * The CMS Application.
* *
* @var CMSApplication
* @since 4.4.2 * @since 4.4.2
*/ */
protected $app; protected $app;
@ -279,6 +277,80 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
return true; return true;
} }
/**
* Remove folders with files (with ignore options)
*
* @param string $dir The path to the folder to remove.
* @param array|null $ignore The folders and files to ignore and not remove.
*
* @return bool True if all specified files/folders are removed, false otherwise.
* @since 3.2.2
*/
protected function removeFolder(string $dir, ?array $ignore = null): bool
{
if (!is_dir($dir))
{
return false;
}
$it = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
$it = new \RecursiveIteratorIterator($it, \RecursiveIteratorIterator::CHILD_FIRST);
// Remove trailing slash
$dir = rtrim($dir, '/');
foreach ($it as $file)
{
$filePath = $file->getPathname();
$relativePath = str_replace($dir . '/', '', $filePath);
if ($ignore !== null && in_array($relativePath, $ignore, true))
{
continue;
}
if ($file->isDir())
{
Folder::delete($filePath);
}
else
{
File::delete($filePath);
}
}
// Delete the root folder if there are no ignored files/folders left
if ($ignore === null || $this->isDirEmpty($dir, $ignore))
{
return Folder::delete($dir);
}
return true;
}
/**
* Check if a directory is empty considering ignored files/folders.
*
* @param string $dir The path to the folder to check.
* @param array $ignore The folders and files to ignore.
*
* @return bool True if the directory is empty or contains only ignored items, false otherwise.
* @since 3.2.1
*/
protected function isDirEmpty(string $dir, array $ignore): bool
{
$it = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
foreach ($it as $file)
{
$relativePath = str_replace($dir . '/', '', $file->getPathname());
if (!in_array($relativePath, $ignore, true))
{
return false;
}
}
return true;
}
/** /**
* Remove the files and folders in the given array from * Remove the files and folders in the given array from
* *
@ -1095,5 +1167,29 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
); );
} }
} }
}
/**
* Ensures that a class in the namespace is available.
* If the class is not already loaded, it attempts to load it via the specified autoloader.
*
* @param string $className The fully qualified name of the class to check.
*
* @return bool True if the class exists or was successfully loaded, false otherwise.
* @since 4.0.1
*/
protected function classExists(string $className): bool
{
if (!class_exists($className, true))
{
###THREE_POWER_AUTOLOADER###
// Check again if the class now exists after requiring the autoloader
if (!class_exists($className, true))
{
return false;
}
}
return true;
}###INSTALLERMETHODS### }###INSTALLERMETHODS###
} }

View File

@ -277,7 +277,7 @@ class ###View###Controller extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -15,7 +15,7 @@ defined('_JCB_TEMPLATE') or die;
###BOM### ###BOM###
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\Helper; namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\Helper;
###SITE_CUSTOM_POWER_AUTOLOADER### ###SITE_POWER_AUTOLOADER###
###SITE_HELPER_CLASS_HEADER### ###SITE_HELPER_CLASS_HEADER###

View File

@ -107,14 +107,14 @@ class ###SView###Controller extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param JModelLegacy $model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void
* *
* @since 12.2 * @since 12.2
*/ */
protected function postSaveHook(JModelLegacy $model, $validData = []) protected function postSaveHook(BaseDatabaseModel $model, $validData = [])
{ {
} }
} }

View File

@ -134,6 +134,19 @@
folder="editors" folder="editors"
filter="cmd" filter="cmd"
/> />
<!-- Gitea_username Field. Type: Text. (joomla) -->
<field
type="text"
name="gitea_username"
label="COM_COMPONENTBUILDER_CONFIG_GITEA_USERNAME_LABEL"
size="128"
maxlength="50"
description="COM_COMPONENTBUILDER_CONFIG_GITEA_USERNAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_CONFIG_GITEA_USERNAME_MESSAGE"
hint="COM_COMPONENTBUILDER_CONFIG_GITEA_USERNAME_HINT"
/>
<!-- Gitea_token Field. Type: Password. (joomla) --> <!-- Gitea_token Field. Type: Password. (joomla) -->
<field <field
type="password" type="password"
@ -189,6 +202,7 @@
label="COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_LABEL" label="COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION" description="COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true" multiple="true"
default="" default=""
showon="manage_jcb_package_directories:1"> showon="manage_jcb_package_directories:1">
@ -222,6 +236,7 @@
label="COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_LABEL" label="COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_DESCRIPTION" description="COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="global" default="global"
showon="set_browser_storage:1"> showon="set_browser_storage:1">
@ -743,62 +758,7 @@
COM_COMPONENTBUILDER_CONFIG_NO</option> COM_COMPONENTBUILDER_CONFIG_NO</option>
</field> </field>
<!-- Note_super_powers_repositories Field. Type: Note. A None Database Field. (joomla) --> <!-- Note_super_powers_repositories Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_super_powers_repositories" label="COM_COMPONENTBUILDER_CONFIG_NOTE_SUPER_POWERS_REPOSITORIES_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_SUPER_POWERS_REPOSITORIES_DESCRIPTION" heading="h4" class="alert alert-info note_super_powers_repositories" showon="powers_repository:1[AND]super_powers_repositories:1" /> <field type="note" name="note_super_powers_repositories" label="COM_COMPONENTBUILDER_CONFIG_NOTE_SUPER_POWERS_REPOSITORIES_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_SUPER_POWERS_REPOSITORIES_DESCRIPTION" heading="h4" class="alert alert-error note_super_powers_repositories" showon="powers_repository:1[AND]super_powers_repositories:1" />
<!-- Approved_paths Field. Type: Subform. (joomla) -->
<field
type="subform"
name="approved_paths"
label="COM_COMPONENTBUILDER_CONFIG_APPROVED_PATHS_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
buttons="add,remove,move"
icon="list"
max="30"
min="1"
showon="powers_repository:1[AND]super_powers_repositories:1">
<form hidden="true" name="list_approved_paths_modal" repeat="true">
<!-- Owner Field. Type: Text. (joomla) -->
<field
type="text"
name="owner"
label="COM_COMPONENTBUILDER_CONFIG_OWNER_LABEL"
size="70"
maxlength="150"
class="text_area span12"
readonly="false"
filter="CMD"
hint="COM_COMPONENTBUILDER_CONFIG_OWNER_HINT"
autocomplete="on"
/>
<!-- Repo Field. Type: Text. (joomla) -->
<field
type="text"
name="repo"
label="COM_COMPONENTBUILDER_CONFIG_REPO_LABEL"
size="70"
maxlength="150"
class="text_area span12"
readonly="false"
filter="CMD"
hint="COM_COMPONENTBUILDER_CONFIG_REPO_HINT"
autocomplete="on"
/>
<!-- Branch Field. Type: Text. (joomla) -->
<field
type="text"
name="branch"
label="COM_COMPONENTBUILDER_CONFIG_BRANCH_LABEL"
size="70"
maxlength="150"
default="default"
class="text_area span12"
readonly="false"
filter="CMD"
hint="COM_COMPONENTBUILDER_CONFIG_BRANCH_HINT"
autocomplete="on"
/>
</form>
</field>
<!-- Note_powers_repository_path Field. Type: Note. A None Database Field. (joomla) --> <!-- Note_powers_repository_path Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_powers_repository_path" label="COM_COMPONENTBUILDER_CONFIG_NOTE_POWERS_REPOSITORY_PATH_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_POWERS_REPOSITORY_PATH_DESCRIPTION" heading="h4" class="alert alert-info note_powers_repository_path" showon="powers_repository:1" /> <field type="note" name="note_powers_repository_path" label="COM_COMPONENTBUILDER_CONFIG_NOTE_POWERS_REPOSITORY_PATH_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_POWERS_REPOSITORY_PATH_DESCRIPTION" heading="h4" class="alert alert-info note_powers_repository_path" showon="powers_repository:1" />
<!-- Local_powers_repository_path Field. Type: Text. (joomla) --> <!-- Local_powers_repository_path Field. Type: Text. (joomla) -->
@ -819,88 +779,6 @@
autocomplete="on" autocomplete="on"
showon="powers_repository:1" showon="powers_repository:1"
/> />
<!-- Add_custom_gitea_url Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_custom_gitea_url"
label="COM_COMPONENTBUILDER_CONFIG_ADD_CUSTOM_GITEA_URL_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_ADD_CUSTOM_GITEA_URL_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_GITVDMDEV</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_CUSTOMGITEA</option>
</field>
<!-- Note_custom_gitea_url Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_custom_gitea_url" label="COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_GITEA_URL_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_GITEA_URL_DESCRIPTION" heading="h3" class="alert alert-success note_custom_gitea_url" showon="add_custom_gitea_url:2" />
<!-- Custom_gitea_url Field. Type: Url. (joomla) -->
<field
type="url"
name="custom_gitea_url"
label="COM_COMPONENTBUILDER_CONFIG_CUSTOM_GITEA_URL_LABEL"
size="70"
maxlength="150"
default="https://git.vdm.dev"
description="COM_COMPONENTBUILDER_CONFIG_CUSTOM_GITEA_URL_DESCRIPTION"
class="text_area"
filter="url"
validated="url"
scheme="http,https"
message="COM_COMPONENTBUILDER_CONFIG_CUSTOM_GITEA_URL_MESSAGE"
hint="COM_COMPONENTBUILDER_CONFIG_CUSTOM_GITEA_URL_HINT"
autocomplete="on"
showon="add_custom_gitea_url:2"
/>
<!-- Custom_gitea_token Field. Type: Password. (joomla) -->
<field
type="password"
name="custom_gitea_token"
label="COM_COMPONENTBUILDER_CONFIG_CUSTOM_GITEA_TOKEN_LABEL"
size="128"
description="COM_COMPONENTBUILDER_CONFIG_CUSTOM_GITEA_TOKEN_DESCRIPTION"
message="Error! Please add token here."
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="STRING"
hint="COM_COMPONENTBUILDER_CONFIG_CUSTOM_GITEA_TOKEN_HINT"
autocomplete="off"
showon="add_custom_gitea_url:2"
/>
<!-- Super_powers_core_organisation_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="super_powers_core_organisation_note" label="COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_CORE_ORGANISATION_NOTE_LABEL" description="COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_CORE_ORGANISATION_NOTE_DESCRIPTION" heading="h4" class="alert alert-success super_powers_core_organisation_note" showon="add_custom_gitea_url:2" />
<!-- Super_powers_core_organisation Field. Type: Text. (joomla) -->
<field
type="text"
name="super_powers_core_organisation"
label="COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_CORE_ORGANISATION_LABEL"
size="70"
maxlength="150"
default="joomla"
description="COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_CORE_ORGANISATION_DESCRIPTION"
class="text_area"
filter="WORD"
hint="COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_CORE_ORGANISATION_HINT"
autocomplete="on"
showon="add_custom_gitea_url:2"
/>
<!-- Super_powers_core Field. Type: Text. (joomla) -->
<field
type="text"
name="super_powers_core"
label="COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_CORE_LABEL"
size="70"
maxlength="150"
default="joomla/super-powers"
class="text_area"
filter="PATH"
hint="COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_CORE_HINT"
autocomplete="on"
showon="add_custom_gitea_url:2"
/>
</fieldset> </fieldset>
<fieldset <fieldset
name="compiler_custom_config" name="compiler_custom_config"
@ -913,6 +791,7 @@
label="COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_LABEL" label="COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_DESCRIPTION" description="COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default="480-272"> default="480-272">
@ -1038,6 +917,7 @@
label="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_LABEL" label="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_DESCRIPTION" description="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="2"> default="2">
<!-- Option Set. --> <!-- Option Set. -->
@ -1055,6 +935,7 @@
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL" label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
filter="INT" filter="INT"
required="true" required="true"
default="2"> default="2">
@ -1262,6 +1143,7 @@
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_LABEL" label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_DESCRIPTION" description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
showon="cronjob_backup_type:2" showon="cronjob_backup_type:2"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ADMIN_VIEW_LABEL" label="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ADMIN_VIEW_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ADMIN_VIEW_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ADMIN_VIEW_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADMIN_VIEW_LABEL" label="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADMIN_VIEW_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADMIN_VIEW_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADMIN_VIEW_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADMIN_VIEW_LABEL" label="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADMIN_VIEW_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADMIN_VIEW_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADMIN_VIEW_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADMIN_VIEW_LABEL" label="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADMIN_VIEW_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADMIN_VIEW_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADMIN_VIEW_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"

View File

@ -311,6 +311,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_CHARSET_LABEL" label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_CHARSET_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_CHARSET_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_CHARSET_DESCRIPTION"
class="list_class bestview" class="list_class bestview"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="CMD" filter="CMD"
required="true" required="true"
@ -422,6 +423,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_LABEL" label="COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_DESCRIPTION"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
filter="INT" filter="INT"
default="1"> default="1">
<!-- Option Set. --> <!-- Option Set. -->
@ -852,6 +854,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ROW_FORMAT_LABEL" label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ROW_FORMAT_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ROW_FORMAT_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ROW_FORMAT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default="DYNAMIC"> default="DYNAMIC">
@ -1918,6 +1921,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ENGINE_LABEL" label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ENGINE_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ENGINE_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ENGINE_DESCRIPTION"
class="list_class bestview" class="list_class bestview"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="CMD" filter="CMD"
required="true" required="true"
@ -1957,6 +1961,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_COLLATE_LABEL" label="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_COLLATE_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_COLLATE_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_COLLATE_DESCRIPTION"
class="list_class bestview" class="list_class bestview"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="CMD" filter="CMD"
required="true" required="true"

View File

@ -120,6 +120,7 @@
label="COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_LABEL" label="COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_LABEL"
description="COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true"> required="true">
<!-- Option Set. --> <!-- Option Set. -->

View File

@ -120,6 +120,7 @@
label="COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_LABEL" label="COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_LABEL"
description="COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_DESCRIPTION" description="COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="STRING" filter="STRING"
required="true"> required="true">
@ -144,6 +145,7 @@
label="COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_LABEL" label="COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_LABEL"
description="COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true"> required="true">
<!-- Option Set. --> <!-- Option Set. -->
@ -207,6 +209,7 @@
name="joomla_plugin_group" name="joomla_plugin_group"
label="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_LABEL" label="COM_COMPONENTBUILDER_CLASS_METHOD_JOOMLA_PLUGIN_GROUP_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"

View File

@ -120,6 +120,7 @@
label="COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_LABEL" label="COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_LABEL"
description="COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_DESCRIPTION" description="COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="STRING" filter="STRING"
required="true"> required="true">
@ -144,6 +145,7 @@
label="COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_LABEL" label="COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_LABEL"
description="COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true"> required="true">
<!-- Option Set. --> <!-- Option Set. -->
@ -191,6 +193,7 @@
name="joomla_plugin_group" name="joomla_plugin_group"
label="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_LABEL" label="COM_COMPONENTBUILDER_CLASS_PROPERTY_JOOMLA_PLUGIN_GROUP_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_MODULES_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_PLUGINS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_PLUGINS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_PLUGINS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_PLUGINS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_PLUGINS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_PLUGINS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_ROUTER_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_ROUTER_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_ROUTER_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_ROUTER_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_UPDATES_JOOMLA_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_UPDATES_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_UPDATES_JOOMLA_COMPONENT_DESCRIPTION" description="COM_COMPONENTBUILDER_COMPONENT_UPDATES_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
readonly="true" readonly="true"
@ -115,6 +116,7 @@
name="clone_me" name="clone_me"
label="COM_COMPONENTBUILDER_COMPONENT_UPDATES_CLONE_ME_LABEL" label="COM_COMPONENTBUILDER_COMPONENT_UPDATES_CLONE_ME_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"

View File

@ -149,6 +149,7 @@
name="main_get" name="main_get"
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_LABEL" label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_DESCRIPTION" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"
@ -277,6 +278,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SNIPPET_LABEL" label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SNIPPET_DESCRIPTION" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SNIPPET_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="false" required="false"
button="true" button="true"
@ -607,6 +609,7 @@
name="dynamic_get" name="dynamic_get"
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DYNAMIC_GET_LABEL" label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DYNAMIC_GET_DESCRIPTION" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DYNAMIC_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="false" required="false"

View File

@ -103,6 +103,7 @@
name="component" name="component"
label="COM_COMPONENTBUILDER_CUSTOM_CODE_COMPONENT_LABEL" label="COM_COMPONENTBUILDER_CUSTOM_CODE_COMPONENT_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"

View File

@ -120,6 +120,7 @@
label="COM_COMPONENTBUILDER_DYNAMIC_GET_MAIN_SOURCE_LABEL" label="COM_COMPONENTBUILDER_DYNAMIC_GET_MAIN_SOURCE_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_MAIN_SOURCE_DESCRIPTION" description="COM_COMPONENTBUILDER_DYNAMIC_GET_MAIN_SOURCE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"
@ -141,6 +142,7 @@
label="COM_COMPONENTBUILDER_DYNAMIC_GET_GETTYPE_LABEL" label="COM_COMPONENTBUILDER_DYNAMIC_GET_GETTYPE_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_GETTYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_DYNAMIC_GET_GETTYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"
@ -307,6 +309,7 @@
label="COM_COMPONENTBUILDER_DYNAMIC_GET_PLUGIN_EVENTS_LABEL" label="COM_COMPONENTBUILDER_DYNAMIC_GET_PLUGIN_EVENTS_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_PLUGIN_EVENTS_DESCRIPTION" description="COM_COMPONENTBUILDER_DYNAMIC_GET_PLUGIN_EVENTS_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"> multiple="true">
<!-- Option Set. --> <!-- Option Set. -->
<option value="onContentAfterTitle"> <option value="onContentAfterTitle">
@ -335,6 +338,7 @@
name="view_table_main" name="view_table_main"
label="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_LABEL" label="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_DESCRIPTION" description="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"

View File

@ -119,7 +119,7 @@
name="fieldtype" name="fieldtype"
label="COM_COMPONENTBUILDER_FIELD_FIELDTYPE_LABEL" label="COM_COMPONENTBUILDER_FIELD_FIELDTYPE_LABEL"
description="COM_COMPONENTBUILDER_FIELD_FIELDTYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELD_FIELDTYPE_DESCRIPTION"
class="btn-group" layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"
@ -132,6 +132,7 @@
label="COM_COMPONENTBUILDER_FIELD_DATATYPE_LABEL" label="COM_COMPONENTBUILDER_FIELD_DATATYPE_LABEL"
description="COM_COMPONENTBUILDER_FIELD_DATATYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELD_DATATYPE_DESCRIPTION"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default=""> default="">
@ -181,6 +182,7 @@
name="indexes" name="indexes"
label="COM_COMPONENTBUILDER_FIELD_INDEXES_LABEL" label="COM_COMPONENTBUILDER_FIELD_INDEXES_LABEL"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"
@ -214,6 +216,7 @@
label="COM_COMPONENTBUILDER_FIELD_STORE_LABEL" label="COM_COMPONENTBUILDER_FIELD_STORE_LABEL"
description="COM_COMPONENTBUILDER_FIELD_STORE_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELD_STORE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"
@ -229,8 +232,6 @@
COM_COMPONENTBUILDER_FIELD_BASIC_ENCRYPTION_LOCALDBKEY</option> COM_COMPONENTBUILDER_FIELD_BASIC_ENCRYPTION_LOCALDBKEY</option>
<option value="5"> <option value="5">
COM_COMPONENTBUILDER_FIELD_MEDIUM_ENCRYPTION_LOCALFILEKEY</option> COM_COMPONENTBUILDER_FIELD_MEDIUM_ENCRYPTION_LOCALFILEKEY</option>
<option value="4">
COM_COMPONENTBUILDER_FIELD_WHMCSKEY_ENCRYPTION</option>
<option value="6"> <option value="6">
COM_COMPONENTBUILDER_FIELD_EXPERT_MODE_CUSTOM</option> COM_COMPONENTBUILDER_FIELD_EXPERT_MODE_CUSTOM</option>
</field> </field>
@ -243,6 +244,21 @@
description="COM_COMPONENTBUILDER_FIELD_CATID_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELD_CATID_DESCRIPTION"
class="inputbox" class="inputbox"
/> />
<!-- Note_no_database_settings_needed Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_no_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_no_database_settings_needed" />
<!-- On_get_model_field Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="on_get_model_field"
label="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_HINT"
required="true"
/>
<!-- On_save_model_field Field. Type: Textarea. (joomla) --> <!-- On_save_model_field Field. Type: Textarea. (joomla) -->
<field <field
type="textarea" type="textarea"
@ -269,19 +285,6 @@
hint="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_GET_MODEL_HINT" hint="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_GET_MODEL_HINT"
required="false" required="false"
/> />
<!-- Initiator_on_save_model Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="initiator_on_save_model"
label="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_HINT"
required="false"
/>
<!-- Note_filter_information Field. Type: Note. A None Database Field. (joomla) --> <!-- Note_filter_information Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_filter_information" description="COM_COMPONENTBUILDER_FIELD_NOTE_FILTER_INFORMATION_DESCRIPTION" class="note_filter_information" /> <field type="note" name="note_filter_information" description="COM_COMPONENTBUILDER_FIELD_NOTE_FILTER_INFORMATION_DESCRIPTION" class="note_filter_information" />
<!-- Xml Field. Type: Hidden. (joomla) --> <!-- Xml Field. Type: Hidden. (joomla) -->
@ -298,6 +301,7 @@
label="COM_COMPONENTBUILDER_FIELD_DATALENGHT_LABEL" label="COM_COMPONENTBUILDER_FIELD_DATALENGHT_LABEL"
description="COM_COMPONENTBUILDER_FIELD_DATALENGHT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELD_DATALENGHT_DESCRIPTION"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default=""> default="">
@ -327,8 +331,22 @@
<option value="Other"> <option value="Other">
COM_COMPONENTBUILDER_FIELD_OTHER</option> COM_COMPONENTBUILDER_FIELD_OTHER</option>
</field> </field>
<!-- Note_database_settings_needed Field. Type: Note. A None Database Field. (joomla) --> <!-- Javascript_view_footer Field. Type: Editor. (joomla) -->
<field type="note" name="note_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_database_settings_needed" /> <field
type="editor"
name="javascript_view_footer"
label="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_LABEL"
description="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="javascript"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Css_views Field. Type: Editor. (joomla) --> <!-- Css_views Field. Type: Editor. (joomla) -->
<field <field
type="editor" type="editor"
@ -384,6 +402,7 @@
label="COM_COMPONENTBUILDER_FIELD_DATADEFAULT_LABEL" label="COM_COMPONENTBUILDER_FIELD_DATADEFAULT_LABEL"
description="COM_COMPONENTBUILDER_FIELD_DATADEFAULT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELD_DATADEFAULT_DESCRIPTION"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default=""> default="">
<!-- Option Set. --> <!-- Option Set. -->
@ -414,37 +433,8 @@
message="COM_COMPONENTBUILDER_FIELD_DATALENGHT_OTHER_MESSAGE" message="COM_COMPONENTBUILDER_FIELD_DATALENGHT_OTHER_MESSAGE"
hint="COM_COMPONENTBUILDER_FIELD_DATALENGHT_OTHER_HINT" hint="COM_COMPONENTBUILDER_FIELD_DATALENGHT_OTHER_HINT"
/> />
<!-- On_get_model_field Field. Type: Textarea. (joomla) --> <!-- Note_database_settings_needed Field. Type: Note. A None Database Field. (joomla) -->
<field <field type="note" name="note_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_database_settings_needed" />
type="textarea"
name="on_get_model_field"
label="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_HINT"
required="true"
/>
<!-- Javascript_view_footer Field. Type: Editor. (joomla) -->
<field
type="editor"
name="javascript_view_footer"
label="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_LABEL"
description="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="javascript"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Note_no_database_settings_needed Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_no_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_no_database_settings_needed" />
<!-- Javascript_views_footer Field. Type: Editor. (joomla) --> <!-- Javascript_views_footer Field. Type: Editor. (joomla) -->
<field <field
type="editor" type="editor"
@ -527,12 +517,23 @@
<option value="0"> <option value="0">
COM_COMPONENTBUILDER_FIELD_NO</option> COM_COMPONENTBUILDER_FIELD_NO</option>
</field> </field>
<!-- Note_whmcs_encryption Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_whmcs_encryption" label="COM_COMPONENTBUILDER_FIELD_NOTE_WHMCS_ENCRYPTION_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_WHMCS_ENCRYPTION_DESCRIPTION" heading="h4" class="alert alert-success note_whmcs_encryption" />
<!-- Helpnote Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="helpnote" label="COM_COMPONENTBUILDER_FIELD_HELPNOTE_LABEL" class="helpNote helpnote" />
<!-- Note_expert_field_save_mode Field. Type: Note. A None Database Field. (joomla) --> <!-- Note_expert_field_save_mode Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_expert_field_save_mode" label="COM_COMPONENTBUILDER_FIELD_NOTE_EXPERT_FIELD_SAVE_MODE_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_EXPERT_FIELD_SAVE_MODE_DESCRIPTION" heading="h4" class="alert alert-success note_expert_encryption note_expert_field_save_mode" /> <field type="note" name="note_expert_field_save_mode" label="COM_COMPONENTBUILDER_FIELD_NOTE_EXPERT_FIELD_SAVE_MODE_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_EXPERT_FIELD_SAVE_MODE_DESCRIPTION" heading="h4" class="alert alert-success note_expert_encryption note_expert_field_save_mode" />
<!-- Helpnote Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="helpnote" label="COM_COMPONENTBUILDER_FIELD_HELPNOTE_LABEL" class="helpNote helpnote" />
<!-- Initiator_on_save_model Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="initiator_on_save_model"
label="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_HINT"
required="false"
/>
<!-- Guid Field. Type: Text. (joomla) --> <!-- Guid Field. Type: Text. (joomla) -->
<field <field
type="text" type="text"

View File

@ -120,6 +120,7 @@
label="COM_COMPONENTBUILDER_FIELDTYPE_STORE_LABEL" label="COM_COMPONENTBUILDER_FIELDTYPE_STORE_LABEL"
description="COM_COMPONENTBUILDER_FIELDTYPE_STORE_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPE_STORE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"
@ -135,8 +136,6 @@
COM_COMPONENTBUILDER_FIELDTYPE_BASIC_ENCRYPTION_LOCALDBKEY</option> COM_COMPONENTBUILDER_FIELDTYPE_BASIC_ENCRYPTION_LOCALDBKEY</option>
<option value="5"> <option value="5">
COM_COMPONENTBUILDER_FIELDTYPE_MEDIUM_ENCRYPTION_LOCALFILEKEY</option> COM_COMPONENTBUILDER_FIELDTYPE_MEDIUM_ENCRYPTION_LOCALFILEKEY</option>
<option value="4">
COM_COMPONENTBUILDER_FIELDTYPE_WHMCSKEY_ENCRYPTION</option>
<option value="6"> <option value="6">
COM_COMPONENTBUILDER_FIELDTYPE_EXPERT_MODE_CUSTOM</option> COM_COMPONENTBUILDER_FIELDTYPE_EXPERT_MODE_CUSTOM</option>
</field> </field>
@ -160,6 +159,7 @@
name="indexes" name="indexes"
label="COM_COMPONENTBUILDER_FIELDTYPE_INDEXES_LABEL" label="COM_COMPONENTBUILDER_FIELDTYPE_INDEXES_LABEL"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"
@ -195,6 +195,7 @@
label="COM_COMPONENTBUILDER_FIELDTYPE_DATADEFAULT_LABEL" label="COM_COMPONENTBUILDER_FIELDTYPE_DATADEFAULT_LABEL"
description="COM_COMPONENTBUILDER_FIELDTYPE_DATADEFAULT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPE_DATADEFAULT_DESCRIPTION"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default=""> default="">
<!-- Option Set. --> <!-- Option Set. -->
@ -234,6 +235,7 @@
label="COM_COMPONENTBUILDER_FIELDTYPE_DATATYPE_LABEL" label="COM_COMPONENTBUILDER_FIELDTYPE_DATATYPE_LABEL"
description="COM_COMPONENTBUILDER_FIELDTYPE_DATATYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPE_DATATYPE_DESCRIPTION"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default=""> default="">
@ -401,6 +403,7 @@
label="COM_COMPONENTBUILDER_FIELDTYPE_DATALENGHT_LABEL" label="COM_COMPONENTBUILDER_FIELDTYPE_DATALENGHT_LABEL"
description="COM_COMPONENTBUILDER_FIELDTYPE_DATALENGHT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPE_DATALENGHT_DESCRIPTION"
class="btn-group" class="btn-group"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default=""> default="">

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addruleprefix="VDM\Component\Componentbuilder\Administrator\Rule"
addfieldprefix="VDM\Component\Componentbuilder\Administrator\Field"
>
<fields name="filter">
<field
type="text"
name="search"
inputmode="search"
label="COM_COMPONENTBUILDER_FILTER_SEARCH"
description="COM_COMPONENTBUILDER_FILTER_SEARCH_REPOSITORIES"
hint="JSEARCH_FILTER"
/>
<field
type="status"
name="published"
label="COM_COMPONENTBUILDER_FILTER_PUBLISHED"
description="COM_COMPONENTBUILDER_FILTER_PUBLISHED_REPOSITORIES"
class="js-select-submit-on-change"
>
<option value="">JOPTION_SELECT_PUBLISHED</option>
</field>
<field
type="accesslevel"
name="access"
label="JGRID_HEADING_ACCESS"
hint="JOPTION_SELECT_ACCESS"
multiple="true"
class="js-select-submit-on-change"
layout="joomla.form.field.list-fancy-select"
/>
<field
type="repositoriesfilterorganisation"
name="organisation"
label="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="repositoriesfilterrepository"
name="repository"
label="COM_COMPONENTBUILDER_REPOSITORY_REPOSITORY_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="repositoriesfiltertarget"
name="target"
label="COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="repositoriesfilterbase"
name="base"
label="COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<input type="hidden" name="form_submited" value="1"/>
</fields>
<fields name="list">
<field
name="fullordering"
type="list"
label="JGLOBAL_SORT_BY"
class="js-select-submit-on-change"
default="a.id DESC"
validate="options"
>
<option value="">JGLOBAL_SORT_BY</option>
<option value="a.ordering ASC">JGRID_HEADING_ORDERING_ASC</option>
<option value="a.ordering DESC">JGRID_HEADING_ORDERING_DESC</option>
<option value="a.published ASC">JSTATUS_ASC</option>
<option value="a.published DESC">JSTATUS_DESC</option>
<option value="a.organisation ASC">COM_COMPONENTBUILDER_FILTER_ORGANISATION_ASCENDING</option>
<option value="a.organisation DESC">COM_COMPONENTBUILDER_FILTER_ORGANISATION_DESCENDING</option>
<option value="a.repository ASC">COM_COMPONENTBUILDER_FILTER_REPOSITORY_ASCENDING</option>
<option value="a.repository DESC">COM_COMPONENTBUILDER_FILTER_REPOSITORY_DESCENDING</option>
<option value="a.target ASC">COM_COMPONENTBUILDER_FILTER_TARGET_CONTENT_ASCENDING</option>
<option value="a.target DESC">COM_COMPONENTBUILDER_FILTER_TARGET_CONTENT_DESCENDING</option>
<option value="a.type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
<option value="a.base ASC">COM_COMPONENTBUILDER_FILTER_BASE_URL_ASCENDING</option>
<option value="a.base DESC">COM_COMPONENTBUILDER_FILTER_BASE_URL_DESCENDING</option>
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
</field>
<field
name="limit"
type="limitbox"
label="JGLOBAL_LIST_LIMIT"
default="25"
class="js-select-submit-on-change"
/>
</fields>
</form>

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_LABEL" label="COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default=""> default="">
@ -123,6 +124,7 @@
name="groups" name="groups"
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_GROUPS_LABEL" label="COM_COMPONENTBUILDER_HELP_DOCUMENT_GROUPS_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_GROUPS_DESCRIPTION" description="COM_COMPONENTBUILDER_HELP_DOCUMENT_GROUPS_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
required="true" required="true"
multiple="true" multiple="true"
/> />

File diff suppressed because it is too large Load Diff

View File

@ -246,6 +246,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="false" required="false"
button="true" button="true"
@ -304,6 +305,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
button="true" button="true"
@ -359,6 +361,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
showon="add_sales_server:1" showon="add_sales_server:1"
@ -450,6 +453,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default="0"> default="0">

View File

@ -103,6 +103,7 @@
name="joomla_module" name="joomla_module"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_JOOMLA_MODULE_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_JOOMLA_MODULE_LABEL"
class="list_class span12" class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
readonly="true" readonly="true"

View File

@ -103,6 +103,7 @@
name="joomla_module" name="joomla_module"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_JOOMLA_MODULE_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_JOOMLA_MODULE_LABEL"
class="list_class span12" class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
readonly="true" readonly="true"

View File

@ -117,6 +117,7 @@
name="class_extends" name="class_extends"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_CLASS_EXTENDS_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"
@ -128,6 +129,7 @@
name="joomla_plugin_group" name="joomla_plugin_group"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"
@ -196,6 +198,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
showon="add_sales_server:1" showon="add_sales_server:1"
@ -370,6 +373,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATE_SERVER_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATE_SERVER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATE_SERVER_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATE_SERVER_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
button="true" button="true"

View File

@ -103,6 +103,7 @@
name="joomla_plugin" name="joomla_plugin"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_JOOMLA_PLUGIN_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_JOOMLA_PLUGIN_LABEL"
class="list_class span12" class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
readonly="true" readonly="true"

View File

@ -119,6 +119,7 @@
name="class_extends" name="class_extends"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_CLASS_EXTENDS_LABEL"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"

View File

@ -103,6 +103,7 @@
name="joomla_plugin" name="joomla_plugin"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATES_JOOMLA_PLUGIN_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATES_JOOMLA_PLUGIN_LABEL"
class="list_class span12" class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
readonly="true" readonly="true"

View File

@ -116,7 +116,7 @@
type="subform" type="subform"
name="settings" name="settings"
label="COM_COMPONENTBUILDER_JOOMLA_POWER_SETTINGS_LABEL" label="COM_COMPONENTBUILDER_JOOMLA_POWER_SETTINGS_LABEL"
layout="joomla.form.field.subform.repeatable-table" layout="joomla.form.field.subform.repeatable"
multiple="true" multiple="true"
buttons="add,remove,move" buttons="add,remove,move"
icon="list" icon="list"

View File

@ -135,6 +135,7 @@
name="dynamic_get" name="dynamic_get"
label="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_LABEL" label="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_DESCRIPTION" description="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"
@ -147,6 +148,7 @@
label="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_LABEL" label="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_DESCRIPTION" description="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="false" required="false"
button="true" button="true"

View File

@ -135,6 +135,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_HOW_LABEL" label="COM_COMPONENTBUILDER_LIBRARY_HOW_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_HOW_DESCRIPTION" description="COM_COMPONENTBUILDER_LIBRARY_HOW_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="1" default="1"
required="true" required="true"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_CONFIG_LIBRARY_LABEL" label="COM_COMPONENTBUILDER_LIBRARY_CONFIG_LIBRARY_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_LIBRARY_DESCRIPTION" description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_LIBRARY_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"

View File

@ -104,6 +104,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_LIBRARY_LABEL" label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_LIBRARY_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_LIBRARY_DESCRIPTION" description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_LIBRARY_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"

View File

@ -133,6 +133,7 @@
label="COM_COMPONENTBUILDER_POWER_TYPE_LABEL" label="COM_COMPONENTBUILDER_POWER_TYPE_LABEL"
description="COM_COMPONENTBUILDER_POWER_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_POWER_TYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="true" required="true"
default="class"> default="class">
@ -163,38 +164,6 @@
message="COM_COMPONENTBUILDER_POWER_POWER_VERSION_MESSAGE" message="COM_COMPONENTBUILDER_POWER_POWER_VERSION_MESSAGE"
hint="COM_COMPONENTBUILDER_POWER_POWER_VERSION_HINT" hint="COM_COMPONENTBUILDER_POWER_POWER_VERSION_HINT"
/> />
<!-- Not_required Field. Type: Hidden. (joomla) -->
<field
type="hidden"
name="not_required"
default="一_一"
/>
<!-- Method_selection Field. Type: Subform. (joomla) -->
<field
type="subform"
name="method_selection"
label="COM_COMPONENTBUILDER_POWER_METHOD_SELECTION_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
buttons="add,remove,move"
description="COM_COMPONENTBUILDER_POWER_METHOD_SELECTION_DESCRIPTION"
icon="list"
max="150"
min="0">
<form hidden="true" name="list_method_selection_modal" repeat="true">
<!-- Method Field. Type: Powersclassmethods. (custom) -->
<field
type="powersclassmethods"
name="method"
label="COM_COMPONENTBUILDER_POWER_METHOD_LABEL"
class="list_class span12 method_selection_list"
multiple="false"
default="0"
onchange="getClassCode(this, 'method');"
button="false"
/>
</form>
</field>
<!-- Load_selection Field. Type: Subform. (joomla) --> <!-- Load_selection Field. Type: Subform. (joomla) -->
<field <field
type="subform" type="subform"
@ -222,19 +191,6 @@
</field> </field>
<!-- Note_linked_to_notice Field. Type: Note. A None Database Field. (joomla) --> <!-- Note_linked_to_notice Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_linked_to_notice" label="COM_COMPONENTBUILDER_POWER_NOTE_LINKED_TO_NOTICE_LABEL" description="COM_COMPONENTBUILDER_POWER_NOTE_LINKED_TO_NOTICE_DESCRIPTION" heading="h4" class="note_linked_to_notice" /> <field type="note" name="note_linked_to_notice" label="COM_COMPONENTBUILDER_POWER_NOTE_LINKED_TO_NOTICE_LABEL" description="COM_COMPONENTBUILDER_POWER_NOTE_LINKED_TO_NOTICE_DESCRIPTION" heading="h4" class="note_linked_to_notice" />
<!-- Licensing_template Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="licensing_template"
label="COM_COMPONENTBUILDER_POWER_LICENSING_TEMPLATE_LABEL"
rows="10"
cols="10"
class="text_area span12"
filter="RAW"
hint="COM_COMPONENTBUILDER_POWER_LICENSING_TEMPLATE_HINT"
validate="code"
showon="add_licensing_template:2"
/>
<!-- Description Field. Type: Textarea. (joomla) --> <!-- Description Field. Type: Textarea. (joomla) -->
<field <field
type="textarea" type="textarea"
@ -247,8 +203,8 @@
filter="HTML" filter="HTML"
hint="COM_COMPONENTBUILDER_POWER_DESCRIPTION_HINT" hint="COM_COMPONENTBUILDER_POWER_DESCRIPTION_HINT"
/> />
<!-- Note_approved_paths Field. Type: Note. A None Database Field. (joomla) --> <!-- Load_powers_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_approved_paths" label="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_LABEL" description="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_DESCRIPTION" heading="h4" class="alert alert-info note_approved_paths" showon="approved:1" /> <field type="note" name="load_powers_note" label="COM_COMPONENTBUILDER_POWER_LOAD_POWERS_NOTE_LABEL" description="COM_COMPONENTBUILDER_POWER_LOAD_POWERS_NOTE_DESCRIPTION" heading="h4" class="alert alert-info load_powers_note" />
<!-- Composer Field. Type: Subform. (joomla) --> <!-- Composer Field. Type: Subform. (joomla) -->
<field <field
type="subform" type="subform"
@ -306,18 +262,18 @@
</field> </field>
</form> </form>
</field> </field>
<!-- Extends Field. Type: Classpowers. (custom) --> <!-- Licensing_template Field. Type: Textarea. (joomla) -->
<field <field
type="classpowers" type="textarea"
name="extends" name="licensing_template"
label="COM_COMPONENTBUILDER_POWER_EXTENDS_LABEL" label="COM_COMPONENTBUILDER_POWER_LICENSING_TEMPLATE_LABEL"
description="COM_COMPONENTBUILDER_POWER_EXTENDS_DESCRIPTION" rows="10"
class="list_class span12" cols="10"
layout="joomla.form.field.list-fancy-select" class="text_area span12"
multiple="false" filter="RAW"
default="0" hint="COM_COMPONENTBUILDER_POWER_LICENSING_TEMPLATE_HINT"
showon="type:class[OR]type:abstract class[OR]type:final class" validate="code"
button="true" showon="add_licensing_template:2"
/> />
<!-- Approved Field. Type: Radio. (joomla) --> <!-- Approved Field. Type: Radio. (joomla) -->
<field <field
@ -334,32 +290,20 @@
<option value="1"> <option value="1">
COM_COMPONENTBUILDER_POWER_APPROVED</option> COM_COMPONENTBUILDER_POWER_APPROVED</option>
</field> </field>
<!-- Property_selection Field. Type: Subform. (joomla) --> <!-- Extendsinterfaces_custom Field. Type: Text. (joomla) -->
<field <field
type="subform" type="text"
name="property_selection" name="extendsinterfaces_custom"
label="COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_LABEL" label="COM_COMPONENTBUILDER_POWER_EXTENDSINTERFACES_CUSTOM_LABEL"
layout="joomla.form.field.subform.repeatable-table" size="50"
multiple="true" maxlength="150"
buttons="add,remove,move" description="COM_COMPONENTBUILDER_POWER_EXTENDSINTERFACES_CUSTOM_DESCRIPTION"
description="COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_DESCRIPTION" class="text_area span12"
icon="list" filter="STRING"
max="150" message="COM_COMPONENTBUILDER_POWER_EXTENDSINTERFACES_CUSTOM_MESSAGE"
min="0"> autocomplete="on"
<form hidden="true" name="list_property_selection_modal" repeat="true"> showon="extendsinterfaces:-1[AND]type:interface"
<!-- Property Field. Type: Powersclassproperties. (custom) --> />
<field
type="powersclassproperties"
name="property"
label="COM_COMPONENTBUILDER_POWER_PROPERTY_LABEL"
class="list_class span12 property_selection_list"
multiple="false"
default="0"
onchange="getClassCode(this, 'property');"
button="false"
/>
</form>
</field>
<!-- Add_head Field. Type: Radio. (joomla) --> <!-- Add_head Field. Type: Radio. (joomla) -->
<field <field
type="radio" type="radio"
@ -374,6 +318,19 @@
<option value="0"> <option value="0">
COM_COMPONENTBUILDER_POWER_NO</option> COM_COMPONENTBUILDER_POWER_NO</option>
</field> </field>
<!-- Extends Field. Type: Classpowers. (custom) -->
<field
type="classpowers"
name="extends"
label="COM_COMPONENTBUILDER_POWER_EXTENDS_LABEL"
description="COM_COMPONENTBUILDER_POWER_EXTENDS_DESCRIPTION"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
showon="type:class[OR]type:abstract class[OR]type:final class"
button="true"
/>
<!-- Extends_custom Field. Type: Text. (joomla) --> <!-- Extends_custom Field. Type: Text. (joomla) -->
<field <field
type="text" type="text"
@ -415,8 +372,93 @@
showon="type!:interface[AND]type!:trait" showon="type!:interface[AND]type!:trait"
button="true" button="true"
/> />
<!-- Not_required Field. Type: Hidden. (joomla) -->
<field
type="hidden"
name="not_required"
default="一_一"
/>
<!-- Note_approved_paths Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_approved_paths" label="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_LABEL" description="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_DESCRIPTION" heading="h4" class="alert alert-info note_approved_paths" showon="approved:1" />
<!-- Property_selection Field. Type: Subform. (joomla) -->
<field
type="subform"
name="property_selection"
label="COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
buttons="add,remove,move"
description="COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_DESCRIPTION"
icon="list"
max="150"
min="0">
<form hidden="true" name="list_property_selection_modal" repeat="true">
<!-- Property Field. Type: Powersclassproperties. (custom) -->
<field
type="powersclassproperties"
name="property"
label="COM_COMPONENTBUILDER_POWER_PROPERTY_LABEL"
class="list_class span12 property_selection_list"
multiple="false"
default="0"
onchange="getClassCode(this, 'property');"
button="false"
/>
</form>
</field>
<!-- Extendsinterfaces Field. Type: Interfacepowers. (custom) -->
<field
type="interfacepowers"
name="extendsinterfaces"
label="COM_COMPONENTBUILDER_POWER_EXTENDSINTERFACES_LABEL"
description="COM_COMPONENTBUILDER_POWER_EXTENDSINTERFACES_DESCRIPTION"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
showon="type:interface"
button="true"
/>
<!-- Method_selection Field. Type: Subform. (joomla) -->
<field
type="subform"
name="method_selection"
label="COM_COMPONENTBUILDER_POWER_METHOD_SELECTION_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
buttons="add,remove,move"
description="COM_COMPONENTBUILDER_POWER_METHOD_SELECTION_DESCRIPTION"
icon="list"
max="150"
min="0">
<form hidden="true" name="list_method_selection_modal" repeat="true">
<!-- Method Field. Type: Powersclassmethods. (custom) -->
<field
type="powersclassmethods"
name="method"
label="COM_COMPONENTBUILDER_POWER_METHOD_LABEL"
class="list_class span12 method_selection_list"
multiple="false"
default="0"
onchange="getClassCode(this, 'method');"
button="false"
/>
</form>
</field>
<!-- Namespace_details Field. Type: Note. A None Database Field. (joomla) --> <!-- Namespace_details Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="namespace_details" label="COM_COMPONENTBUILDER_POWER_NAMESPACE_DETAILS_LABEL" description="COM_COMPONENTBUILDER_POWER_NAMESPACE_DETAILS_DESCRIPTION" heading="h4" class="alert alert-success namespace_details" /> <field type="note" name="namespace_details" label="COM_COMPONENTBUILDER_POWER_NAMESPACE_DETAILS_LABEL" description="COM_COMPONENTBUILDER_POWER_NAMESPACE_DETAILS_DESCRIPTION" heading="h4" class="alert alert-success namespace_details" />
<!-- Approved_paths Field. Type: Superpowerpaths. (custom) -->
<field
type="superpowerpaths"
name="approved_paths"
label="COM_COMPONENTBUILDER_POWER_APPROVED_PATHS_LABEL"
description="COM_COMPONENTBUILDER_POWER_APPROVED_PATHS_DESCRIPTION"
required="false"
showon="approved:1">
<!-- Option Set. -->
<option value="joomla/super-powers">
COM_COMPONENTBUILDER_POWER_JOOMLASUPERPOWERS</option>
</field>
<!-- Head Field. Type: Editor. (joomla) --> <!-- Head Field. Type: Editor. (joomla) -->
<field <field
type="editor" type="editor"
@ -434,18 +476,8 @@
required="false" required="false"
validate="code" validate="code"
/> />
<!-- Approved_paths Field. Type: Superpowerpaths. (custom) --> <!-- Autoload_composer_note Field. Type: Note. A None Database Field. (joomla) -->
<field <field type="note" name="autoload_composer_note" label="COM_COMPONENTBUILDER_POWER_AUTOLOAD_COMPOSER_NOTE_LABEL" description="COM_COMPONENTBUILDER_POWER_AUTOLOAD_COMPOSER_NOTE_DESCRIPTION" heading="h4" class="alert alert-info autoload_composer_note" />
type="superpowerpaths"
name="approved_paths"
label="COM_COMPONENTBUILDER_POWER_APPROVED_PATHS_LABEL"
description="COM_COMPONENTBUILDER_POWER_APPROVED_PATHS_DESCRIPTION"
required="false"
showon="approved:1">
<!-- Option Set. -->
<option value="joomla/super-powers">
COM_COMPONENTBUILDER_POWER_JOOMLASUPERPOWERS</option>
</field>
<!-- Use_selection Field. Type: Subform. (joomla) --> <!-- Use_selection Field. Type: Subform. (joomla) -->
<field <field
type="subform" type="subform"
@ -483,8 +515,21 @@
/> />
</form> </form>
</field> </field>
<!-- Autoload_composer_note Field. Type: Note. A None Database Field. (joomla) --> <!-- Add_licensing_template Field. Type: Radio. (joomla) -->
<field type="note" name="autoload_composer_note" label="COM_COMPONENTBUILDER_POWER_AUTOLOAD_COMPOSER_NOTE_LABEL" description="COM_COMPONENTBUILDER_POWER_AUTOLOAD_COMPOSER_NOTE_DESCRIPTION" heading="h4" class="alert alert-info autoload_composer_note" /> <field
type="radio"
name="add_licensing_template"
label="COM_COMPONENTBUILDER_POWER_ADD_LICENSING_TEMPLATE_LABEL"
description="COM_COMPONENTBUILDER_POWER_ADD_LICENSING_TEMPLATE_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_POWER_USE_GLOBAL</option>
<option value="2">
COM_COMPONENTBUILDER_POWER_OVERRIDE</option>
</field>
<!-- Main_class_code Field. Type: Editor. (joomla) --> <!-- Main_class_code Field. Type: Editor. (joomla) -->
<field <field
type="editor" type="editor"
@ -501,23 +546,6 @@
filter="raw" filter="raw"
validate="code" validate="code"
/> />
<!-- Add_licensing_template Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_licensing_template"
label="COM_COMPONENTBUILDER_POWER_ADD_LICENSING_TEMPLATE_LABEL"
description="COM_COMPONENTBUILDER_POWER_ADD_LICENSING_TEMPLATE_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_POWER_USE_GLOBAL</option>
<option value="2">
COM_COMPONENTBUILDER_POWER_OVERRIDE</option>
</field>
<!-- Load_powers_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="load_powers_note" label="COM_COMPONENTBUILDER_POWER_LOAD_POWERS_NOTE_LABEL" description="COM_COMPONENTBUILDER_POWER_LOAD_POWERS_NOTE_DESCRIPTION" heading="h4" class="alert alert-info load_powers_note" />
<!-- Guid Field. Type: Text. (joomla) --> <!-- Guid Field. Type: Text. (joomla) -->
<field <field
type="text" type="text"

305
admin/forms/repository.xml Normal file
View File

@ -0,0 +1,305 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addruleprefix="VDM\Component\Componentbuilder\Administrator\Rule"
addfieldprefix="VDM\Component\Componentbuilder\Administrator\Field"
>
<config>
<inlinehelp button="show"/>
</config>
<fieldset name="details">
<!-- Default Fields. -->
<!-- Id Field. Type: Text (joomla) -->
<field
name="id"
type="text" class="readonly" label="JGLOBAL_FIELD_ID_LABEL"
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
readonly="true"
/>
<!-- Date Created Field. Type: Calendar (joomla) -->
<field
name="created"
type="calendar"
label="COM_COMPONENTBUILDER_REPOSITORY_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
/>
<!-- User Created Field. Type: User (joomla) -->
<field
name="created_by"
type="user"
label="COM_COMPONENTBUILDER_REPOSITORY_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_CREATED_BY_DESC"
/>
<!-- Published Field. Type: List (joomla) -->
<field name="published" type="list" label="JSTATUS"
description="JFIELD_PUBLISHED_DESC" class="chzn-color-state"
filter="intval" size="1" default="1" >
<option value="1">
JPUBLISHED</option>
<option value="0">
JUNPUBLISHED</option>
<option value="2">
JARCHIVED</option>
<option value="-2">
JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla) -->
<field name="modified" type="calendar" class="readonly"
label="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_DATE_DESC"
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
<!-- User Modified Field. Type: User (joomla) -->
<field name="modified_by" type="user"
label="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset"
/>
<!-- Access Field. Type: Accesslevel (joomla) -->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false"
/>
<!-- Ordering Field. Type: Numbers (joomla) -->
<field
name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_REPOSITORY_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false"
/>
<!-- Version Field. Type: Text (joomla) -->
<field
name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_REPOSITORY_VERSION_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_VERSION_DESC"
size="6"
default="1"
readonly="true"
filter="unset"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="componentbuilder repository"
/>
<!-- Dynamic Fields. -->
<!-- System_name Field. Type: Text. (joomla) -->
<field
type="text"
name="system_name"
label="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_HINT"
/>
<!-- Organisation Field. Type: Text. (joomla) -->
<field
type="text"
name="organisation"
label="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_DESCRIPTION"
class="text_area"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_HINT"
/>
<!-- Repository Field. Type: Text. (joomla) -->
<field
type="text"
name="repository"
label="COM_COMPONENTBUILDER_REPOSITORY_REPOSITORY_LABEL"
size="70"
maxlength="150"
class="text_area"
readonly="false"
required="true"
filter="CMD"
hint="COM_COMPONENTBUILDER_REPOSITORY_REPOSITORY_HINT"
autocomplete="on"
/>
<!-- Target Field. Type: List. (joomla) -->
<field
type="list"
name="target"
label="COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_TARGET_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
filter="INT"
required="true"
validate="int">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_REPOSITORY_SELECT_AN_OPTION</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_SUPER_POWER</option>
<option value="2">
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER</option>
</field>
<!-- Type Field. Type: List. (joomla) -->
<field
type="list"
name="type"
label="COM_COMPONENTBUILDER_REPOSITORY_TYPE_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_TYPE_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
filter="INT"
required="true"
validate="int">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_REPOSITORY_SELECT_AN_OPTION</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_GITEA</option>
</field>
<!-- Base Field. Type: Url. (joomla) -->
<field
type="url"
name="base"
label="COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL"
size="70"
maxlength="150"
default="https://git.vdm.dev"
description="COM_COMPONENTBUILDER_REPOSITORY_BASE_DESCRIPTION"
class="text_area"
required="true"
filter="url"
validated="url"
scheme="http,https"
message="COM_COMPONENTBUILDER_REPOSITORY_BASE_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_BASE_HINT"
autocomplete="on"
showon="type:1"
/>
<!-- Guid Field. Type: Text. (joomla) -->
<field
type="text"
name="guid"
label="COM_COMPONENTBUILDER_REPOSITORY_GUID_LABEL"
size="40"
maxlength="40"
description="COM_COMPONENTBUILDER_REPOSITORY_GUID_DESCRIPTION"
class="text_area"
readonly="true"
filter="CMD"
validate="guid"
hint="COM_COMPONENTBUILDER_REPOSITORY_GUID_HINT"
/>
<!-- Access_repo Field. Type: Radio. (joomla) -->
<field
type="radio"
name="access_repo"
label="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION"
class="btn-group btn-group-yesno"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_REPOSITORY_GLOBAL</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_OVERRIDE</option>
</field>
<!-- Write_branch Field. Type: Text. (joomla) -->
<field
type="text"
name="write_branch"
label="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_LABEL"
size="128"
maxlength="50"
description="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_HINT"
/>
<!-- Read_branch Field. Type: Text. (joomla) -->
<field
type="text"
name="read_branch"
label="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_LABEL"
size="128"
maxlength="50"
description="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_HINT"
/>
<!-- Token Field. Type: Password. (joomla) -->
<field
type="password"
name="token"
label="COM_COMPONENTBUILDER_REPOSITORY_TOKEN_LABEL"
size="128"
description="COM_COMPONENTBUILDER_REPOSITORY_TOKEN_DESCRIPTION"
message="Error! Please add token here."
class="text_area"
filter="STRING"
hint="COM_COMPONENTBUILDER_REPOSITORY_TOKEN_HINT"
autocomplete="off"
showon="type:1[AND]access_repo:1"
/>
<!-- Username Field. Type: Text. (joomla) -->
<field
type="text"
name="username"
label="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_LABEL"
size="128"
maxlength="50"
description="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_HINT"
autocomplete="on"
showon="type:1[AND]access_repo:1"
/>
</fieldset>
<!-- Access Control Fields. -->
<fieldset name="accesscontrol">
<!-- Asset Id Field. Type: Hidden (joomla) -->
<field
name="asset_id"
type="hidden"
filter="unset"
/>
<!-- Rules Field. Type: Rules (joomla) -->
<field
name="rules"
type="rules"
label="Permissions in relation to this repository"
translate_label="false"
filter="rules"
validate="rules"
class="inputbox"
component="com_componentbuilder"
section="repository"
/>
</fieldset>
</form>

View File

@ -120,6 +120,7 @@
label="COM_COMPONENTBUILDER_SERVER_PROTOCOL_LABEL" label="COM_COMPONENTBUILDER_SERVER_PROTOCOL_LABEL"
description="COM_COMPONENTBUILDER_SERVER_PROTOCOL_DESCRIPTION" description="COM_COMPONENTBUILDER_SERVER_PROTOCOL_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"
@ -219,6 +220,7 @@
label="COM_COMPONENTBUILDER_SERVER_AUTHENTICATION_LABEL" label="COM_COMPONENTBUILDER_SERVER_AUTHENTICATION_LABEL"
description="COM_COMPONENTBUILDER_SERVER_AUTHENTICATION_DESCRIPTION" description="COM_COMPONENTBUILDER_SERVER_AUTHENTICATION_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"

View File

@ -149,6 +149,7 @@
name="main_get" name="main_get"
label="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_LABEL" label="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_DESCRIPTION" description="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="true" required="true"
@ -292,6 +293,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_SNIPPET_LABEL" label="COM_COMPONENTBUILDER_SITE_VIEW_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_SNIPPET_DESCRIPTION" description="COM_COMPONENTBUILDER_SITE_VIEW_SNIPPET_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="false" required="false"
button="true" button="true"
@ -445,6 +447,7 @@
name="dynamic_get" name="dynamic_get"
label="COM_COMPONENTBUILDER_SITE_VIEW_DYNAMIC_GET_LABEL" label="COM_COMPONENTBUILDER_SITE_VIEW_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_DYNAMIC_GET_DESCRIPTION" description="COM_COMPONENTBUILDER_SITE_VIEW_DYNAMIC_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="" default=""
required="false" required="false"
@ -642,6 +645,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_BUTTON_POSITION_LABEL" label="COM_COMPONENTBUILDER_SITE_VIEW_BUTTON_POSITION_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_BUTTON_POSITION_DESCRIPTION" description="COM_COMPONENTBUILDER_SITE_VIEW_BUTTON_POSITION_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
filter="INT" filter="INT"
required="true" required="true"

View File

@ -136,6 +136,7 @@
label="COM_COMPONENTBUILDER_SNIPPET_TYPE_LABEL" label="COM_COMPONENTBUILDER_SNIPPET_TYPE_LABEL"
description="COM_COMPONENTBUILDER_SNIPPET_TYPE_DESCRIPTION" description="COM_COMPONENTBUILDER_SNIPPET_TYPE_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"
@ -161,6 +162,7 @@
label="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_LABEL" label="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_LABEL"
description="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_DESCRIPTION" description="COM_COMPONENTBUILDER_SNIPPET_LIBRARY_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="true" required="true"

View File

@ -135,6 +135,7 @@
name="dynamic_get" name="dynamic_get"
label="COM_COMPONENTBUILDER_TEMPLATE_DYNAMIC_GET_LABEL" label="COM_COMPONENTBUILDER_TEMPLATE_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_TEMPLATE_DYNAMIC_GET_DESCRIPTION" description="COM_COMPONENTBUILDER_TEMPLATE_DYNAMIC_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
default="0" default="0"
required="false" required="false"
@ -203,6 +204,7 @@
label="COM_COMPONENTBUILDER_TEMPLATE_SNIPPET_LABEL" label="COM_COMPONENTBUILDER_TEMPLATE_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_TEMPLATE_SNIPPET_DESCRIPTION" description="COM_COMPONENTBUILDER_TEMPLATE_SNIPPET_DESCRIPTION"
class="list_class" class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false" multiple="false"
required="false" required="false"
button="true" button="true"

File diff suppressed because one or more lines are too long

View File

@ -788,6 +788,8 @@ COM_COMPONENTBUILDER_JOOMLA_POWERS_SUBMENU="Joomla Powers Submenu"
COM_COMPONENTBUILDER_JOOMLA_POWERS_SUBMENU_DESC="Allows the users in this group to submenu of joomla power" COM_COMPONENTBUILDER_JOOMLA_POWERS_SUBMENU_DESC="Allows the users in this group to submenu of joomla power"
COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS="Joomla Power Init Button Access" COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS="Joomla Power Init Button Access"
COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button." COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
COM_COMPONENTBUILDER_JOOMLA_POWER_PUSH_BUTTON_ACCESS="Joomla Power Push Button Access"
COM_COMPONENTBUILDER_JOOMLA_POWER_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS="Joomla Power Reset Button Access" COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS="Joomla Power Reset Button Access"
COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button." COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
COM_COMPONENTBUILDER_LANGUAGES_ACCESS="Languages Access" COM_COMPONENTBUILDER_LANGUAGES_ACCESS="Languages Access"
@ -936,6 +938,7 @@ COM_COMPONENTBUILDER_MENU_LAYOUTS="Layouts"
COM_COMPONENTBUILDER_MENU_LIBRARIES="Libraries" COM_COMPONENTBUILDER_MENU_LIBRARIES="Libraries"
COM_COMPONENTBUILDER_MENU_PLACEHOLDERS="Placeholders" COM_COMPONENTBUILDER_MENU_PLACEHOLDERS="Placeholders"
COM_COMPONENTBUILDER_MENU_POWERS="Powers" COM_COMPONENTBUILDER_MENU_POWERS="Powers"
COM_COMPONENTBUILDER_MENU_REPOSITORIES="Repositories"
COM_COMPONENTBUILDER_MENU_SEARCH="Search" COM_COMPONENTBUILDER_MENU_SEARCH="Search"
COM_COMPONENTBUILDER_MENU_SERVERS="Servers" COM_COMPONENTBUILDER_MENU_SERVERS="Servers"
COM_COMPONENTBUILDER_MENU_SITE_VIEWS="Site Views" COM_COMPONENTBUILDER_MENU_SITE_VIEWS="Site Views"
@ -992,6 +995,30 @@ COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button." COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS="Power Run Expansion Button Access" COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS="Power Run Expansion Button Access"
COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button." COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS="Repositories Access"
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS_DESC="Allows the users in this group to access access repositories"
COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE="Repositories Batch Use"
COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE_DESC="Allows the users in this group to use batch copy/update method of batch repositories"
COM_COMPONENTBUILDER_REPOSITORIES_CREATE="Repositories Create"
COM_COMPONENTBUILDER_REPOSITORIES_CREATE_DESC="Allows the users in this group to create create repositories"
COM_COMPONENTBUILDER_REPOSITORIES_DASHBOARD_LIST="Repositories Dashboard List"
COM_COMPONENTBUILDER_REPOSITORIES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of repository"
COM_COMPONENTBUILDER_REPOSITORIES_DELETE="Repositories Delete"
COM_COMPONENTBUILDER_REPOSITORIES_DELETE_DESC="Allows the users in this group to delete delete repositories"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT="Repositories Edit"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY="Repositories Edit Created By"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by repositories"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE="Repositories Edit Created Date"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created repositories"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_DESC="Allows the users in this group to edit the repository"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN="Repositories Edit Own"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN_DESC="Allows the users in this group to edit edit own repositories created by them"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE="Repositories Edit State"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE_DESC="Allows the users in this group to update the state of the repository"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION="Repositories Edit Version"
COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION_DESC="Allows the users in this group to edit versions of version repositories"
COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU="Repositories Submenu"
COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU_DESC="Allows the users in this group to submenu of repository"
COM_COMPONENTBUILDER_SEARCH_ACCESS="Search Access" COM_COMPONENTBUILDER_SEARCH_ACCESS="Search Access"
COM_COMPONENTBUILDER_SEARCH_ACCESS_DESC="Allows the users in this group to access search." COM_COMPONENTBUILDER_SEARCH_ACCESS_DESC="Allows the users in this group to access search."
COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS="Search Compiler Button Access" COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS="Search Compiler Button Access"

View File

@ -31,7 +31,6 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'store', 'store',
'medium_encryption_note', 'medium_encryption_note',
'basic_encryption_note', 'basic_encryption_note',
'note_whmcs_encryption',
'note_expert_field_save_mode', 'note_expert_field_save_mode',
'initiator_on_save_model', 'initiator_on_save_model',
'initiator_on_get_model', 'initiator_on_get_model',

View File

@ -30,12 +30,6 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'author', 'author',
'email', 'email',
'website', 'website',
'add_license',
'license_type',
'note_whmcs_lisencing_note',
'whmcs_key',
'whmcs_url',
'whmcs_buy_link',
'license', 'license',
'bom', 'bom',
'image', 'image',

View File

@ -26,8 +26,8 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields // get the fields
$fields = $displayData->get($fields_tab_layout) ?: array( $fields = $displayData->get($fields_tab_layout) ?: array(
'description', 'settings',
'settings' 'description'
); );
$hiddenFields = $displayData->get('hidden_fields') ?: []; $hiddenFields = $displayData->get('hidden_fields') ?: [];

View File

@ -30,6 +30,8 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'description', 'description',
'extends', 'extends',
'extends_custom', 'extends_custom',
'extendsinterfaces',
'extendsinterfaces_custom',
'implements', 'implements',
'implements_custom', 'implements_custom',
'namespace', 'namespace',

View File

@ -70,12 +70,12 @@ $sublayout = 'sectionjcbjfive';
<?php endif; ?> <?php endif; ?>
<?php <?php
foreach ($forms as $k => $form) : foreach ($forms as $k => $form) :
echo $this->sublayout($sublayout, ['form' => $form, 'basegroup' => $fieldname, 'group' => $fieldname . $k, 'buttons' => $buttons]); echo LayoutHelper::render($sublayout, ['form' => $form, 'basegroup' => $fieldname, 'group' => $fieldname . $k, 'buttons' => $buttons]);
endforeach; endforeach;
?> ?>
<?php if ($multiple) : ?> <?php if ($multiple) : ?>
<template class="subform-repeatable-template-section hidden"><?php <template class="subform-repeatable-template-section hidden"><?php
echo trim($this->sublayout($sublayout, ['form' => $tmpl, 'basegroup' => $fieldname, 'group' => $fieldname . 'X', 'buttons' => $buttons])); echo trim(LayoutHelper::render($sublayout, ['form' => $tmpl, 'basegroup' => $fieldname, 'group' => $fieldname . 'X', 'buttons' => $buttons]));
?></template> ?></template>
<?php endif; ?> <?php endif; ?>
</joomla-field-subform> </joomla-field-subform>

View File

@ -0,0 +1,54 @@
<?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;
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: [
'system_name',
'target',
'access_repo'
];
// Ensure $fields is treated as an array and count its size.
$size = count((array) $fields);
// Use a ternary operator to determine the class.
// If there are 1 to 4 fields, set the class to divide the 12-grid column equally among the fields.
// For more than 4 fields, default to four columns (3-grid each) for medium and larger screens.
$css_class = ($size > 0 && $size <= 4) ? 'col-12 col-md-' . round(12 / $size) : 'col-12 col-md-3';
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="row title-alias form-vertical mb-3">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, ['class' => $css_class . ' control-wrapper-' . $field]); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,45 @@
<?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;
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'type',
'base',
'username',
'token'
);
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,45 @@
<?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;
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'organisation',
'repository',
'read_branch',
'write_branch'
);
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

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
*/
// No direct access to this file
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'guid',
'title',
'created',
'created_by',
'modified',
'modified_by'
);
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

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
*/
// No direct access to this file
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'published',
'ordering',
'access',
'version',
'hits',
'id'
);
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

File diff suppressed because one or more lines are too long

View File

@ -21,6 +21,7 @@ DROP TABLE IF EXISTS `#__componentbuilder_fieldtype`;
DROP TABLE IF EXISTS `#__componentbuilder_language_translation`; DROP TABLE IF EXISTS `#__componentbuilder_language_translation`;
DROP TABLE IF EXISTS `#__componentbuilder_language`; DROP TABLE IF EXISTS `#__componentbuilder_language`;
DROP TABLE IF EXISTS `#__componentbuilder_server`; DROP TABLE IF EXISTS `#__componentbuilder_server`;
DROP TABLE IF EXISTS `#__componentbuilder_repository`;
DROP TABLE IF EXISTS `#__componentbuilder_help_document`; DROP TABLE IF EXISTS `#__componentbuilder_help_document`;
DROP TABLE IF EXISTS `#__componentbuilder_admin_fields`; DROP TABLE IF EXISTS `#__componentbuilder_admin_fields`;
DROP TABLE IF EXISTS `#__componentbuilder_admin_fields_conditions`; DROP TABLE IF EXISTS `#__componentbuilder_admin_fields_conditions`;

View File

@ -329,7 +329,7 @@ class Admin_custom_tabsController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Admin_fieldsController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Admin_fields_conditionsController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Admin_fields_relationsController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -330,7 +330,7 @@ class Admin_viewController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -56,27 +56,40 @@ class Admin_viewsController extends AdminController
/** /**
* Run the Expansion * Runs the expansion module.
* *
* @return void * This function performs several checks and operations:
* 1. It verifies the authenticity of the request to prevent request forgery.
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
* 3. If the user is authorized, it attempts to run the expansion via an API call.
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
* 5. It redirects the user to a specified URL with the result message and status.
*
* @return bool True on successful expansion, false on failure.
*/ */
public function runExpansion() public function runExpansion()
{ {
// Check for request forgeries // Check for request forgeries
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN')); Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
// check if user has the right // check if user has the right
$user = Factory::getUser(); $user = Factory::getUser();
// set page redirect // set page redirect
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=admin_views', false); $redirect_url = Route::_('index.php?option=com_componentbuilder&view=admin_views', false);
// set massage // set massage
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion // check if this user has the right to run expansion
if($user->authorise('admin_views.run_expansion', 'com_componentbuilder')) if($user->authorise('admin_views.run_expansion', 'com_componentbuilder'))
{ {
// set massage // set massage
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API // run expansion via API
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); $result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned // is there a message returned
if (!is_numeric($result) && StringHelper::check($result)) if (!is_numeric($result) && StringHelper::check($result))
{ {
@ -90,6 +103,7 @@ class Admin_viewsController extends AdminController
return true; return true;
} }
} }
$this->setRedirect($redirect_url, $message, 'error'); $this->setRedirect($redirect_url, $message, 'error');
return false; return false;
} }

View File

@ -329,7 +329,7 @@ class Class_extendsController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Class_methodController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Class_propertyController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -537,27 +537,40 @@ class CompilerController extends AdminController
} }
/** /**
* Run the Expansion * Runs the expansion module.
* *
* @return void * This function performs several checks and operations:
* 1. It verifies the authenticity of the request to prevent request forgery.
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
* 3. If the user is authorized, it attempts to run the expansion via an API call.
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
* 5. It redirects the user to a specified URL with the result message and status.
*
* @return bool True on successful expansion, false on failure.
*/ */
public function runExpansion() public function runExpansion()
{ {
// Check for request forgeries // Check for request forgeries
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN')); Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
// check if user has the right // check if user has the right
$user = Factory::getUser(); $user = Factory::getUser();
// set page redirect // set page redirect
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=compiler', false); $redirect_url = Route::_('index.php?option=com_componentbuilder&view=compiler', false);
// set massage // set massage
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE'); $message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion // check if this user has the right to run expansion
if($user->authorise('compiler.run_expansion', 'com_componentbuilder')) if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
{ {
// set massage // set massage
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB'); $message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API // run expansion via API
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand'); $result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned // is there a message returned
if (!is_numeric($result) && StringHelper::check($result)) if (!is_numeric($result) && StringHelper::check($result))
{ {
@ -571,6 +584,7 @@ class CompilerController extends AdminController
return true; return true;
} }
} }
$this->setRedirect($redirect_url, $message, 'error'); $this->setRedirect($redirect_url, $message, 'error');
return false; return false;
} }

View File

@ -329,7 +329,7 @@ class Component_admin_viewsController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Component_configController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Component_custom_admin_menusController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Component_custom_admin_viewsController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Component_dashboardController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

View File

@ -329,7 +329,7 @@ class Component_files_foldersController extends FormController
* Function that allows child controller access to model data * Function that allows child controller access to model data
* after the data has been saved. * after the data has been saved.
* *
* @param BaseDatabaseModel &$model The data model object. * @param BaseDatabaseModel $model The data model object.
* @param array $validData The validated data. * @param array $validData The validated data.
* *
* @return void * @return void

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