diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4f27b2454..de0ddfd6b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# v4.0.0-beta4
+
+- Add fallback option to ensure that all JCB tables and fields exist.
+- Move the powers autoloader to its own file.
+
# v4.0.0-beta3
- Add Joomla powers for namespace dynamic management.
diff --git a/ComponentbuilderInstallerScript.php b/ComponentbuilderInstallerScript.php
index a558b8242..962ba3371 100644
--- a/ComponentbuilderInstallerScript.php
+++ b/ComponentbuilderInstallerScript.php
@@ -20,6 +20,7 @@ use Joomla\CMS\Version;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\Filesystem\Folder;
use Joomla\Database\DatabaseInterface;
+use VDM\Joomla\Componentbuilder\Table\Schema;
// No direct access to this file
defined('_JEXEC') or die;
@@ -570,96 +571,17 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper::removeFolder($jcb_power);
}
}
- $app = $this->app;
- // Define the required limits with specific messages for success and warning scenarios
- $requiredConfigs = [
- 'upload_max_filesize' => [
- 'value' => '128M',
- 'success' => 'The upload_max_filesize is appropriately set to handle large files, which is essential for uploading substantial components and media.',
- 'warning' => 'The current upload_max_filesize may not support large file uploads effectively, potentially causing failures during component installation.'
- ],
- 'post_max_size' => [
- 'value' => '128M',
- 'success' => 'The post_max_size setting is sufficient to manage large data submissions, ensuring smooth data processing within forms and uploads.',
- 'warning' => 'An insufficient post_max_size can lead to truncated data submissions, affecting form functionality and data integrity.'
- ],
- 'max_execution_time' => [
- 'value' => 60,
- 'success' => 'Max execution time is set high enough to execute complex operations without premature termination, which is crucial for lengthy operations.',
- 'warning' => 'A low max execution time could lead to script timeouts, especially during intensive operations, which might interrupt execution and cause failures during the compiling of a large extension.'
- ],
- 'max_input_vars' => [
- 'value' => 7000,
- 'success' => 'The max_input_vars setting supports a high number of input variables, facilitating complex forms and detailed component configurations.',
- 'warning' => 'Too few max_input_vars may result in lost data during processing complex forms, which can lead to incomplete configurations and operational issues.'
- ],
- 'max_input_time' => [
- 'value' => 60,
- 'success' => 'Max input time is adequate for processing inputs efficiently during high-load operations, ensuring no premature timeouts.',
- 'warning' => 'An insufficient max input time could result in incomplete data processing during input-heavy operations, potentially leading to errors and data loss.'
- ],
- 'memory_limit' => [
- 'value' => '256M',
- 'success' => 'The memory limit is set high to accommodate extensive operations and data processing, which enhances overall performance and stability.',
- 'warning' => 'A low memory limit can lead to frequent crashes and performance issues, particularly when processing large amounts of data or complex calculations.'
- ]
- ];
-
- // Helper function to convert PHP INI memory values to bytes
- function convertToBytes($value) {
- $value = trim($value);
- $lastChar = strtolower($value[strlen($value) - 1]);
- $numValue = substr($value, 0, -1);
-
- switch ($lastChar)
- {
- case 'g':
- return $numValue * 1024 * 1024 * 1024;
- case 'm':
- return $numValue * 1024 * 1024;
- case 'k':
- return $numValue * 1024;
- default:
- return (int) $value;
- }
- }
-
- $showHelp = false;
-
- // Check each configuration and provide detailed feedback
- foreach ($requiredConfigs as $configName => $configDetails)
- {
- $currentValue = ini_get($configName);
- if ($currentValue === false)
- {
- $app->enqueueMessage("Error: Unable to retrieve current setting for '{$configName}'.", 'error');
- continue;
- }
-
- $isMemoryValue = strpbrk($configDetails['value'], 'KMG') !== false;
- $requiredValueBytes = $isMemoryValue ? convertToBytes($configDetails['value']) : (int)$configDetails['value'];
- $currentValueBytes = $isMemoryValue ? convertToBytes($currentValue) : (int)$currentValue;
- $conditionMet = $currentValueBytes >= $requiredValueBytes;
-
- $messageType = $conditionMet ? 'message' : 'warning';
- $messageText = $conditionMet ?
- "Success: {$configName} is set to {$currentValue}. " . $configDetails['success'] :
- "Warning: {$configName} configuration should be at least {$configDetails['value']} but is currently {$currentValue}. " . $configDetails['warning'];
- $showHelp = ($showHelp || $messageType === 'warning') ? true : false;
- $app->enqueueMessage($messageText, $messageType);
- }
-
- if ($showHelp)
- {
- $app->enqueueMessage('To optimize your Joomla Component Builder (JCB) development environment, specific PHP settings must be enhanced. These settings are crucial for ensuring the successful installation and compilation of extensions. We\'ve identified that certain configurations currently do not meet the recommended standards. To adjust these settings and prevent potential issues, please consult our detailed guide available at JCB PHP Settings Wiki .
-', 'notice');
- }
+ // Check that the required configuration are set for PHP
+ $this->phpConfigurationCheck($this->app);
}
// do any install needed
if ($type === 'install')
{
+
+ // Check that the required configuration are set for PHP
+ $this->phpConfigurationCheck($this->app);
}
return true;
@@ -695,11 +617,11 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// 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": "php_postflight_install","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","add_jcb_powers_path":"add_jcb_powers_path","add_sales_server":"add_sales_server","sql_uninstall":"sql_uninstall","php_postflight_install":"php_postflight_install","php_site_event":"php_site_event","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","php_helper_both":"php_helper_both","php_admin_event":"php_admin_event","description":"description","css_admin":"css_admin","author":"author","php_preflight_install":"php_preflight_install","email":"email","php_method_uninstall":"php_method_uninstall","website":"website","debug_linenr":"debug_linenr","add_license":"add_license","backup_folder_path":"backup_folder_path","license_type":"license_type","crowdin_project_identifier":"crowdin_project_identifier","whmcs_key":"whmcs_key","php_helper_admin":"php_helper_admin","whmcs_url":"whmcs_url","php_helper_site":"php_helper_site","whmcs_buy_link":"whmcs_buy_link","javascript":"javascript","license":"license","css_site":"css_site","bom":"bom","image":"image","php_preflight_update":"php_preflight_update","copyright":"copyright","php_postflight_update":"php_postflight_update","sql":"sql","addreadme":"addreadme","component_version":"component_version","update_server_url":"update_server_url","preferred_joomla_version":"preferred_joomla_version","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","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_sql":"add_sql","joomla_source_link":"joomla_source_link","add_sql_uninstall":"add_sql_uninstall","export_buy_link":"export_buy_link","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","emptycontributors":"emptycontributors","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","crowdin_project_api_key":"crowdin_project_api_key","adduikit":"adduikit","crowdin_account_api_key":"crowdin_account_api_key","addfootable":"addfootable","buildcomp":"buildcomp","add_email_helper":"add_email_helper","guid":"guid","add_php_helper_both":"add_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_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"}}',
// router
'',
// 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","add_jcb_powers_path","add_sales_server","mvc_versiondate","remove_line_breaks","add_placeholders","debug_linenr","add_license","license_type","addreadme","preferred_joomla_version","add_powers","add_backup_folder_path","translation_tool","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_sql","add_sql_uninstall","assets_table_fix","add_update_server","update_server_target","emptycontributors","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","addfootable","buildcomp","add_email_helper","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","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"}]}'
);
// Install Joomla module Content Types.
$this->setContentType(
@@ -1578,6 +1500,10 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
);
+
+ // Check that the database is up-to date
+ $this->databaseSchemaCheck($this->app);
+
echo '
';
@@ -2401,11 +2327,11 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
// 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": "php_postflight_install","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","add_jcb_powers_path":"add_jcb_powers_path","add_sales_server":"add_sales_server","sql_uninstall":"sql_uninstall","php_postflight_install":"php_postflight_install","php_site_event":"php_site_event","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","php_helper_both":"php_helper_both","php_admin_event":"php_admin_event","description":"description","css_admin":"css_admin","author":"author","php_preflight_install":"php_preflight_install","email":"email","php_method_uninstall":"php_method_uninstall","website":"website","debug_linenr":"debug_linenr","add_license":"add_license","backup_folder_path":"backup_folder_path","license_type":"license_type","crowdin_project_identifier":"crowdin_project_identifier","whmcs_key":"whmcs_key","php_helper_admin":"php_helper_admin","whmcs_url":"whmcs_url","php_helper_site":"php_helper_site","whmcs_buy_link":"whmcs_buy_link","javascript":"javascript","license":"license","css_site":"css_site","bom":"bom","image":"image","php_preflight_update":"php_preflight_update","copyright":"copyright","php_postflight_update":"php_postflight_update","sql":"sql","addreadme":"addreadme","component_version":"component_version","update_server_url":"update_server_url","preferred_joomla_version":"preferred_joomla_version","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","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_sql":"add_sql","joomla_source_link":"joomla_source_link","add_sql_uninstall":"add_sql_uninstall","export_buy_link":"export_buy_link","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","emptycontributors":"emptycontributors","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","crowdin_project_api_key":"crowdin_project_api_key","adduikit":"adduikit","crowdin_account_api_key":"crowdin_account_api_key","addfootable":"addfootable","buildcomp":"buildcomp","add_email_helper":"add_email_helper","guid":"guid","add_php_helper_both":"add_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_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"}}',
// router
'',
// 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","add_jcb_powers_path","add_sales_server","mvc_versiondate","remove_line_breaks","add_placeholders","debug_linenr","add_license","license_type","addreadme","preferred_joomla_version","add_powers","add_backup_folder_path","translation_tool","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_sql","add_sql_uninstall","assets_table_fix","add_update_server","update_server_target","emptycontributors","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","addfootable","buildcomp","add_email_helper","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","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"}]}'
);
// Update Joomla module Content Types.
$this->setContentType(
@@ -3277,10 +3203,14 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
+
+ // Check that the database is up-to date
+ $this->databaseSchemaCheck($this->app);
+
echo '
-
Upgrade to Version 4.0.0-beta3 Was Successful! Let us know if anything is not working as expected. ';
+ Upgrade to Version 4.0.0-beta4 Was Successful! Let us know if anything is not working as expected. ';
// Add/Update component in the action logs extensions table.
$this->setActionLogsExtensions();
@@ -4913,6 +4843,173 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
}
}
+ /**
+ * Define the required limits with specific messages for success and warning scenarios
+ *
+ * @var array
+ * @since 3.2.1
+ */
+ protected array $requiredPHPConfigs = [
+ 'upload_max_filesize' => [
+ 'value' => '128M',
+ 'success' => 'The upload_max_filesize is appropriately set to handle large files, which is essential for uploading substantial components and media.',
+ 'warning' => 'The current upload_max_filesize may not support large file uploads effectively, potentially causing failures during component installation.'
+ ],
+ 'post_max_size' => [
+ 'value' => '128M',
+ 'success' => 'The post_max_size setting is sufficient to manage large data submissions, ensuring smooth data processing within forms and uploads.',
+ 'warning' => 'An insufficient post_max_size can lead to truncated data submissions, affecting form functionality and data integrity.'
+ ],
+ 'max_execution_time' => [
+ 'value' => 60,
+ 'success' => 'Max execution time is set high enough to execute complex operations without premature termination, which is crucial for lengthy operations.',
+ 'warning' => 'A low max execution time could lead to script timeouts, especially during intensive operations, which might interrupt execution and cause failures during the compiling of a large extension.'
+ ],
+ 'max_input_vars' => [
+ 'value' => 7000,
+ 'success' => 'The max_input_vars setting supports a high number of input variables, facilitating complex forms and detailed component configurations.',
+ 'warning' => 'Too few max_input_vars may result in lost data during processing complex forms, which can lead to incomplete configurations and operational issues.'
+ ],
+ 'max_input_time' => [
+ 'value' => 60,
+ 'success' => 'Max input time is adequate for processing inputs efficiently during high-load operations, ensuring no premature timeouts.',
+ 'warning' => 'An insufficient max input time could result in incomplete data processing during input-heavy operations, potentially leading to errors and data loss.'
+ ],
+ 'memory_limit' => [
+ 'value' => '256M',
+ 'success' => 'The memory limit is set high to accommodate extensive operations and data processing, which enhances overall performance and stability.',
+ 'warning' => 'A low memory limit can lead to frequent crashes and performance issues, particularly when processing large amounts of data or complex calculations.'
+ ]
+ ];
+
+ /**
+ * Helper function to convert PHP INI memory values to bytes
+ *
+ * @param string $value The value to convert
+ *
+ * @return int The bytes value
+ * @since 3.2.1
+ */
+ protected function convertToBytes(string $value): int
+ {
+ $value = trim($value);
+ $lastChar = strtolower($value[strlen($value) - 1]);
+ $numValue = substr($value, 0, -1);
+
+ switch ($lastChar)
+ {
+ case 'g':
+ return $numValue * 1024 * 1024 * 1024;
+ case 'm':
+ return $numValue * 1024 * 1024;
+ case 'k':
+ return $numValue * 1024;
+ default:
+ return (int) $value;
+ }
+ }
+
+ /**
+ * Check that the required configurations are set for PHP
+ *
+ * @param $app The application
+ *
+ * @return void
+ * @since 3.2.1
+ */
+ protected function phpConfigurationCheck($app): void
+ {
+ $showHelp = false;
+
+ // Check each configuration and provide detailed feedback
+ foreach ($this->requiredPHPConfigs as $configName => $configDetails)
+ {
+ $currentValue = ini_get($configName);
+ if ($currentValue === false)
+ {
+ $app->enqueueMessage("Error: Unable to retrieve current setting for '{$configName}'.", 'error');
+ continue;
+ }
+
+ $isMemoryValue = strpbrk($configDetails['value'], 'KMG') !== false;
+ $requiredValueBytes = $isMemoryValue ? $this->convertToBytes($configDetails['value']) : (int) $configDetails['value'];
+ $currentValueBytes = $isMemoryValue ? $this->convertToBytes($currentValue) : (int) $currentValue;
+ $conditionMet = $currentValueBytes >= $requiredValueBytes;
+
+ $messageType = $conditionMet ? 'message' : 'warning';
+ $messageText = $conditionMet ?
+ "Success: {$configName} is set to {$currentValue}. " . $configDetails['success'] :
+ "Warning: {$configName} configuration should be at least {$configDetails['value']} but is currently {$currentValue}. " . $configDetails['warning'];
+ $showHelp = ($showHelp || $messageType === 'warning') ? true : false;
+ $app->enqueueMessage($messageText, $messageType);
+ }
+
+ if ($showHelp)
+ {
+ $app->enqueueMessage('To optimize your Joomla Component Builder (JCB) development environment, specific PHP settings must be enhanced. These settings are crucial for ensuring the successful installation and compilation of extensions. We\'ve identified that certain configurations currently do not meet the recommended standards. To adjust these settings and prevent potential issues, please consult our detailed guide available at JCB PHP Settings Wiki .
+', 'notice');
+ }
+ }
+
+ /**
+ * 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.
+ *
+ * @param mixed $className The class name to load.
+ *
+ * @return void
+ * @since 3.2.1
+ */
+ protected function ensureClassExists($className): void
+ {
+ if (!class_exists($className, true))
+ {
+ // The power autoloader for this project admin area.
+ $power_autoloader = JPATH_ADMINISTRATOR . '/componenents/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($className, true))
+ {
+ throw new \Exception($errorMessage);
+ }
+ }
+ }
+
/**
* Method to move folders into place.
*
diff --git a/README.md b/README.md
index 5a42786d4..882888862 100644
--- a/README.md
+++ b/README.md
@@ -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!
-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.0-beta3) 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.0-beta4) 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)
@@ -144,14 +144,14 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
-+ *Last Build*: 16th April, 2024
-+ *Version*: 4.0.0-beta3
++ *Last Build*: 21st April, 2024
++ *Version*: 4.0.0-beta4
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **743127**
-+ *Field count*: **2095**
-+ *File count*: **5278**
-+ *Folder count*: **530**
++ *Line count*: **754288**
++ *Field count*: **2097**
++ *File count*: **5297**
++ *Folder count*: **531**
> 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)
diff --git a/admin/README.txt b/admin/README.txt
index 5a42786d4..882888862 100644
--- a/admin/README.txt
+++ b/admin/README.txt
@@ -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!
-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.0-beta3) 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.0-beta4) 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)
@@ -144,14 +144,14 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
-+ *Last Build*: 16th April, 2024
-+ *Version*: 4.0.0-beta3
++ *Last Build*: 21st April, 2024
++ *Version*: 4.0.0-beta4
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **743127**
-+ *Field count*: **2095**
-+ *File count*: **5278**
-+ *Folder count*: **530**
++ *Line count*: **754288**
++ *Field count*: **2097**
++ *File count*: **5297**
++ *Folder count*: **531**
> 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)
diff --git a/admin/compiler/joomla_3/Helper.php b/admin/compiler/joomla_3/Helper.php
index 6caa65c0a..5df959fc1 100644
--- a/admin/compiler/joomla_3/Helper.php
+++ b/admin/compiler/joomla_3/Helper.php
@@ -15,7 +15,14 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
-defined('_JEXEC') or die('Restricted access');###ADMIN_POWER_HELPER###
+defined('_JEXEC') or die('Restricted access');
+
+// The power autoloader for this project admin area.
+$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/helpers/powerloader.php';
+if (file_exists($power_autoloader))
+{
+ require_once $power_autoloader;
+}
###ADMIN_HELPER_CLASS_HEADER###
diff --git a/admin/compiler/joomla_3/Helper_site.php b/admin/compiler/joomla_3/Helper_site.php
index c831a708b..d773a70df 100644
--- a/admin/compiler/joomla_3/Helper_site.php
+++ b/admin/compiler/joomla_3/Helper_site.php
@@ -15,7 +15,14 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
-defined('_JEXEC') or die('Restricted access');###SITE_POWER_HELPER###
+defined('_JEXEC') or die('Restricted access');
+
+// The power autoloader for this project site area.
+$power_autoloader = JPATH_SITE . '/components/com_###component###/helpers/powerloader.php';
+if (file_exists($power_autoloader))
+{
+ require_once $power_autoloader;
+}
###SITE_HELPER_CLASS_HEADER###
diff --git a/admin/compiler/joomla_3/autoloader.php b/admin/compiler/joomla_3/autoloader.php
new file mode 100644
index 000000000..f28ef98fb
--- /dev/null
+++ b/admin/compiler/joomla_3/autoloader.php
@@ -0,0 +1,18 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this file
+defined('_JEXEC') or die('Restricted access');
+?>
+###BOM###
+
+// No direct access to this file
+defined('_JEXEC') or die;###ADMIN_POWER_HELPER###
diff --git a/admin/compiler/joomla_3/autoloader_site.php b/admin/compiler/joomla_3/autoloader_site.php
new file mode 100644
index 000000000..d182b4669
--- /dev/null
+++ b/admin/compiler/joomla_3/autoloader_site.php
@@ -0,0 +1,18 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this file
+defined('_JEXEC') or die('Restricted access');
+?>
+###BOM###
+
+// No direct access to this file
+defined('_JEXEC') or die;###SITE_POWER_HELPER###
diff --git a/admin/compiler/joomla_3/component_admin.php b/admin/compiler/joomla_3/component_admin.php
index cc77f250d..f4f64bed3 100644
--- a/admin/compiler/joomla_3/component_admin.php
+++ b/admin/compiler/joomla_3/component_admin.php
@@ -15,7 +15,14 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
-defined('_JEXEC') or die('Restricted access');###ADMIN_POWER_HELPER###
+defined('_JEXEC') or die('Restricted access');
+
+// The power autoloader for this project admin area.
+$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/helpers/powerloader.php';
+if (file_exists($power_autoloader))
+{
+ require_once $power_autoloader;
+}
###ADMIN_COMPONENT_HEADER###
diff --git a/admin/compiler/joomla_3/component_site.php b/admin/compiler/joomla_3/component_site.php
index cd21c9a13..99dd26f53 100644
--- a/admin/compiler/joomla_3/component_site.php
+++ b/admin/compiler/joomla_3/component_site.php
@@ -15,7 +15,14 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
-defined('_JEXEC') or die('Restricted access');###ADMIN_POWER_HELPER###
+defined('_JEXEC') or die('Restricted access');
+
+// The power autoloader for this project site area.
+$power_autoloader = JPATH_SITE . '/components/com_###component###/helpers/powerloader.php';
+if (file_exists($power_autoloader))
+{
+ require_once $power_autoloader;
+}
###SITE_COMPONENT_HEADER###
diff --git a/admin/compiler/joomla_3/script.php b/admin/compiler/joomla_3/script.php
index 2b16ff45d..910c5e563 100644
--- a/admin/compiler/joomla_3/script.php
+++ b/admin/compiler/joomla_3/script.php
@@ -236,5 +236,5 @@ class Com_###Component###InstallerScript
return $nr;
}
return false;
- }###MOVEFOLDERSMETHOD###
+ }###INSTALLERMETHODS###
}
diff --git a/admin/compiler/joomla_3/settings.json b/admin/compiler/joomla_3/settings.json
index 0b412ee2a..ff301f6a6 100644
--- a/admin/compiler/joomla_3/settings.json
+++ b/admin/compiler/joomla_3/settings.json
@@ -164,6 +164,20 @@
"newName": "category.php",
"type": "file"
},
+ "autoloader.php": {
+ "naam": "autoloader.php",
+ "path": "c0mp0n3nt/admin/helpers",
+ "rename": "new",
+ "newName": "powerloader.php",
+ "type": "file"
+ },
+ "autoloader_site.php": {
+ "naam": "autoloader_site.php",
+ "path": "c0mp0n3nt/site/helpers",
+ "rename": "new",
+ "newName": "powerloader.php",
+ "type": "file"
+ },
"script.php": {
"naam": "script.php",
"path": "c0mp0n3nt/",
diff --git a/admin/compiler/joomla_4/ADMIN_AUTOLOADER_CLASS.php b/admin/compiler/joomla_4/ADMIN_AUTOLOADER_CLASS.php
new file mode 100644
index 000000000..5f0142dd3
--- /dev/null
+++ b/admin/compiler/joomla_4/ADMIN_AUTOLOADER_CLASS.php
@@ -0,0 +1,18 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this JCB template file (EVER)
+defined('_JCB_TEMPLATE') or die;
+?>
+###BOM###
+
+// No direct access to this file
+defined('_JEXEC') or die;###ADMIN_POWER_HELPER###
diff --git a/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php b/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php
index ddd00b885..3318da99a 100644
--- a/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php
+++ b/admin/compiler/joomla_4/ADMIN_HELPER_CLASS.php
@@ -15,7 +15,12 @@ defined('_JCB_TEMPLATE') or die;
###BOM###
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator\Helper;
-###ADMIN_POWER_HELPER###
+// The power autoloader for this project admin area.
+$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/src/Helper/PowerloaderHelper.php';
+if (file_exists($power_autoloader))
+{
+ require_once $power_autoloader;
+}
###ADMIN_HELPER_CLASS_HEADER###
diff --git a/admin/compiler/joomla_4/ADMIN_PROVIDER.php b/admin/compiler/joomla_4/ADMIN_PROVIDER.php
index 274892e72..4bd2aa763 100644
--- a/admin/compiler/joomla_4/ADMIN_PROVIDER.php
+++ b/admin/compiler/joomla_4/ADMIN_PROVIDER.php
@@ -14,7 +14,12 @@ defined('_JCB_TEMPLATE') or die;
?>
###BOM###
-###ADMIN_POWER_HELPER###
+// The power autoloader for this project admin area.
+$power_autoloader = JPATH_ADMINISTRATOR . '/components/com_###component###/src/Helper/PowerloaderHelper.php';
+if (file_exists($power_autoloader))
+{
+ require_once $power_autoloader;
+}
// (soon) use Joomla\CMS\Association\AssociationExtensionInterface;
use Joomla\CMS\Categories\CategoryFactoryInterface;
diff --git a/admin/compiler/joomla_4/INSTALLER_SCRIPT.php b/admin/compiler/joomla_4/INSTALLER_SCRIPT.php
index c147a8e72..133ee1132 100644
--- a/admin/compiler/joomla_4/INSTALLER_SCRIPT.php
+++ b/admin/compiler/joomla_4/INSTALLER_SCRIPT.php
@@ -1095,5 +1095,5 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
);
}
}
- }###MOVEFOLDERSMETHOD###
+ }###INSTALLERMETHODS###
}
diff --git a/admin/compiler/joomla_4/SITE_AUTOLOADER_CLASS.php b/admin/compiler/joomla_4/SITE_AUTOLOADER_CLASS.php
new file mode 100644
index 000000000..d3af848bd
--- /dev/null
+++ b/admin/compiler/joomla_4/SITE_AUTOLOADER_CLASS.php
@@ -0,0 +1,18 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this JCB template file (EVER)
+defined('_JCB_TEMPLATE') or die;
+?>
+###BOM###
+
+// No direct access to this file
+defined('_JEXEC') or die;###SITE_POWER_HELPER###
diff --git a/admin/compiler/joomla_4/SITE_HELPER_CLASS.php b/admin/compiler/joomla_4/SITE_HELPER_CLASS.php
index 12b92f571..7dad6f100 100644
--- a/admin/compiler/joomla_4/SITE_HELPER_CLASS.php
+++ b/admin/compiler/joomla_4/SITE_HELPER_CLASS.php
@@ -15,7 +15,12 @@ defined('_JCB_TEMPLATE') or die;
###BOM###
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\Helper;
-###SITE_POWER_HELPER###
+// The power autoloader for this project site area.
+$power_autoloader = JPATH_SITE . '/components/com_###component###/src/Helper/PowerloaderHelper.php';
+if (file_exists($power_autoloader))
+{
+ require_once $power_autoloader;
+}
###SITE_HELPER_CLASS_HEADER###
diff --git a/admin/compiler/joomla_4/settings.json b/admin/compiler/joomla_4/settings.json
index 4cc56d0f4..a9e17839f 100644
--- a/admin/compiler/joomla_4/settings.json
+++ b/admin/compiler/joomla_4/settings.json
@@ -161,6 +161,20 @@
"newName": "[[[Component]]]Helper.php",
"type": "file"
},
+ "ADMIN_AUTOLOADER_CLASS.php": {
+ "naam": "ADMIN_AUTOLOADER_CLASS.php",
+ "path": "c0mp0n3nt/admin/src/Helper",
+ "rename": "new",
+ "newName": "PowerloaderHelper.php",
+ "type": "file"
+ },
+ "SITE_AUTOLOADER_CLASS.php": {
+ "naam": "SITE_AUTOLOADER_CLASS.php",
+ "path": "c0mp0n3nt/site/src/Helper",
+ "rename": "new",
+ "newName": "PowerloaderHelper.php",
+ "type": "file"
+ },
"INSTALLER_SCRIPT.php": {
"naam": "INSTALLER_SCRIPT.php",
"path": "c0mp0n3nt/",
diff --git a/admin/forms/admin_view.xml b/admin/forms/admin_view.xml
index e7994efd9..736551d9c 100644
--- a/admin/forms/admin_view.xml
+++ b/admin/forms/admin_view.xml
@@ -889,7 +889,7 @@
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_ADMIN_VIEW_SQL_HINT"
- required="true"
+ showon="add_sql:1"
/>
diff --git a/admin/forms/joomla_component.xml b/admin/forms/joomla_component.xml
index 6da3df437..23cf00072 100644
--- a/admin/forms/joomla_component.xml
+++ b/admin/forms/joomla_component.xml
@@ -160,67 +160,6 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_HINT"
/>
-
-
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GLOBAL
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OVERRIDE
-
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
+
+
+
+
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
@@ -264,80 +328,6 @@
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_ONLY_FIRST_NUMBER_OF_GLOBAL_VERSION_1XX
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
-
-
-
-
-
-
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
+
+
+
+
+
+
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
+
+
-
+
-
+
+ type="radio"
+ name="add_backup_folder_path"
+ label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_BACKUP_FOLDER_PATH_LABEL"
+ description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_BACKUP_FOLDER_PATH_DESCRIPTION"
+ class="btn-group btn-group-yesno"
+ default="">
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GLOBAL
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OVERRIDE
+
-
+
+ type="list"
+ name="translation_tool"
+ label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_TRANSLATION_TOOL_LABEL"
+ class="list_class"
+ multiple="false"
+ default="0">
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NONE
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CUSTOM_USED_IN_CUSTOM_CODE
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
-
-
-
-
-
-
+
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
+
+
+
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
+
+
+
+
+
+
+
+
@@ -820,65 +859,39 @@
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OVERRIDE
-
-
-
-
-
-
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NONE
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN
-
-
-
-
+
+
+
-
-
-
-
+
+
+
+
@@ -1182,11 +1195,11 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_KEY_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_KEY_HINT"
/>
-
+
@@ -1212,11 +1225,11 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JOOMLA_SOURCE_LINK_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JOOMLA_SOURCE_LINK_HINT"
/>
-
+
@@ -1242,6 +1255,22 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_BUY_LINK_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_BUY_LINK_HINT"
/>
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
+
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_INTELLIGENT_ADDREMOVEIF
-
-
+
+
-
-
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OTHER
-
-
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OVERRIDE
-
-
+
+
-
-
+
+
-
-
-
-
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
-
+
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UIKIT_V3
-
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_FOOTABLE_V2
+
+
+
+
+
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
+
+ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
+
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
+
@@ -1653,20 +1696,23 @@
validate="guid"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_HINT"
/>
-
+
-
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES
-
- COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO
-
+ type="editor"
+ name="php_helper_both"
+ label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_BOTH_LABEL"
+ description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_BOTH_DESCRIPTION"
+ width="100%"
+ height="550px"
+ cols="15"
+ rows="80"
+ buttons="no"
+ syntax="php"
+ editor="codemirror|none"
+ filter="raw"
+ validate="code"
+ showon="add_php_helper_both:1"
+ />
+ default="0"
+ required="true">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES
@@ -360,6 +361,7 @@
class="list_class"
multiple="false"
default="0"
+ showon="add_sales_server:1"
button="true"
/>
@@ -386,6 +388,7 @@
editor="codemirror|none"
filter="raw"
validate="code"
+ showon="add_php_preflight_update:1"
/>
@@ -404,6 +407,7 @@
editor="codemirror|none"
filter="raw"
validate="code"
+ showon="add_php_preflight_uninstall:1"
/>
@@ -843,6 +852,7 @@
editor="codemirror|none"
filter="raw"
validate="code"
+ showon="add_php_preflight_install:1"
/>
@@ -304,7 +305,8 @@
name="addreadme"
label="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ADDREADME_LABEL"
class="btn-group btn-group-yesno"
- default="0">
+ default="0"
+ required="true">
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_YES
@@ -407,6 +409,7 @@
editor="codemirror|none"
filter="raw"
validate="code"
+ showon="add_php_postflight_install:1"
/>
@@ -837,6 +846,7 @@
editor="codemirror|none"
filter="raw"
validate="code"
+ showon="add_php_preflight_uninstall:1"
/>
vycfields;
+$items = $displayData->vxtfields;
$user = Factory::getApplication()->getIdentity();
$id = $displayData->item->id;
// set the edit URL
diff --git a/admin/layouts/joomla_component/dash_install_fullwidth.php b/admin/layouts/joomla_component/dash_install_fullwidth.php
index 8272f233d..6ff11ebcc 100644
--- a/admin/layouts/joomla_component/dash_install_fullwidth.php
+++ b/admin/layouts/joomla_component/dash_install_fullwidth.php
@@ -35,7 +35,9 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'add_php_postflight_update',
'php_postflight_update',
'add_php_method_uninstall',
- 'php_method_uninstall'
+ 'php_method_uninstall',
+ 'add_php_method_install',
+ 'php_method_install'
);
$hiddenFields = $displayData->get('hidden_fields') ?: [];
diff --git a/admin/layouts/server/linked_components_fullwidth.php b/admin/layouts/server/linked_components_fullwidth.php
index 3e58ce2f6..b3ce94f3c 100644
--- a/admin/layouts/server/linked_components_fullwidth.php
+++ b/admin/layouts/server/linked_components_fullwidth.php
@@ -21,7 +21,7 @@ use VDM\Joomla\Utilities\GetHelper;
defined('_JEXEC') or die;
// set the defaults
-$items = $displayData->vymlinked_components;
+$items = $displayData->vydlinked_components;
$user = Factory::getApplication()->getIdentity();
$id = $displayData->item->id;
// set the edit URL
diff --git a/admin/services/provider.php b/admin/services/provider.php
index f736d0ee6..9b7515aa2 100644
--- a/admin/services/provider.php
+++ b/admin/services/provider.php
@@ -9,116 +9,13 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
-
-
-// add the autoloader for the composer classes
-$composer_autoloader = JPATH_LIBRARIES . '/phpseclib3/vendor/autoload.php';
-if (file_exists($composer_autoloader))
+// 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 $composer_autoloader;
+ require_once $power_autoloader;
}
-// register additional namespace
-\spl_autoload_register(function ($class) {
- // project-specific base directories and namespace prefix
- $search = [
- 'libraries/vendor_jcb/VDM.Joomla.Gitea' => 'VDM\\Joomla\\Gitea',
- 'libraries/vendor_jcb/VDM.Joomla.FOF' => 'VDM\\Joomla\\FOF',
- 'libraries/vendor_jcb/VDM.Joomla' => 'VDM\\Joomla',
- 'libraries/vendor_jcb/VDM.Minify' => 'VDM\\Minify',
- 'libraries/vendor_jcb/VDM.Psr' => 'VDM\\Psr'
- ];
- // Start the search and load if found
- $found = false;
- $found_base_dir = "";
- $found_len = 0;
- foreach ($search as $base_dir => $prefix)
- {
- // does the class use the namespace prefix?
- $len = strlen($prefix);
- if (strncmp($prefix, $class, $len) === 0)
- {
- // we have a match so load the values
- $found = true;
- $found_base_dir = $base_dir;
- $found_len = $len;
- // done here
- break;
- }
- }
- // check if we found a match
- if (!$found)
- {
- // not found so move to the next registered autoloader
- return;
- }
- // get the relative class name
- $relative_class = substr($class, $found_len);
- // replace the namespace prefix with the base directory, replace namespace
- // separators with directory separators in the relative class name, append
- // with .php
- $file = JPATH_ROOT . '/' . $found_base_dir . '/src' . str_replace('\\', '/', $relative_class) . '.php';
- // if the file exists, require it
- if (file_exists($file))
- {
- require $file;
- }
-});
-
-// add the autoloader for the composer classes
-$composer_autoloader = JPATH_LIBRARIES . '/phpseclib3/vendor/autoload.php';
-if (file_exists($composer_autoloader))
-{
- require_once $composer_autoloader;
-}
-
-// register additional namespace
-\spl_autoload_register(function ($class) {
- // project-specific base directories and namespace prefix
- $search = [
- 'libraries/vendor_jcb/VDM.Joomla.Gitea' => 'VDM\\Joomla\\Gitea',
- 'libraries/vendor_jcb/VDM.Joomla.FOF' => 'VDM\\Joomla\\FOF',
- 'libraries/vendor_jcb/VDM.Joomla' => 'VDM\\Joomla',
- 'libraries/vendor_jcb/VDM.Minify' => 'VDM\\Minify',
- 'libraries/vendor_jcb/VDM.Psr' => 'VDM\\Psr'
- ];
- // Start the search and load if found
- $found = false;
- $found_base_dir = "";
- $found_len = 0;
- foreach ($search as $base_dir => $prefix)
- {
- // does the class use the namespace prefix?
- $len = strlen($prefix);
- if (strncmp($prefix, $class, $len) === 0)
- {
- // we have a match so load the values
- $found = true;
- $found_base_dir = $base_dir;
- $found_len = $len;
- // done here
- break;
- }
- }
- // check if we found a match
- if (!$found)
- {
- // not found so move to the next registered autoloader
- return;
- }
- // get the relative class name
- $relative_class = substr($class, $found_len);
- // replace the namespace prefix with the base directory, replace namespace
- // separators with directory separators in the relative class name, append
- // with .php
- $file = JPATH_ROOT . '/' . $found_base_dir . '/src' . str_replace('\\', '/', $relative_class) . '.php';
- // if the file exists, require it
- if (file_exists($file))
- {
- require $file;
- }
-});
-
// (soon) use Joomla\CMS\Association\AssociationExtensionInterface;
use Joomla\CMS\Categories\CategoryFactoryInterface;
use Joomla\CMS\Component\Router\RouterFactoryInterface;
diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql
index 805a5366b..77526bc10 100644
--- a/admin/sql/install.mysql.utf8.sql
+++ b/admin/sql/install.mysql.utf8.sql
@@ -18,6 +18,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
`add_php_helper_admin` TINYINT(1) NOT NULL DEFAULT 0,
`add_php_helper_both` TINYINT(1) NOT NULL DEFAULT 0,
`add_php_helper_site` TINYINT(1) NOT NULL DEFAULT 0,
+ `add_php_method_install` TINYINT(1) NOT NULL DEFAULT 0,
`add_php_method_uninstall` TINYINT(1) NOT NULL DEFAULT 0,
`add_php_postflight_install` TINYINT(1) NOT NULL DEFAULT 0,
`add_php_postflight_update` TINYINT(1) NOT NULL DEFAULT 0,
@@ -78,6 +79,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
`php_helper_admin` MEDIUMTEXT NOT NULL,
`php_helper_both` MEDIUMTEXT NOT NULL,
`php_helper_site` MEDIUMTEXT NOT NULL,
+ `php_method_install` MEDIUMTEXT NOT NULL,
`php_method_uninstall` MEDIUMTEXT NOT NULL,
`php_postflight_install` MEDIUMTEXT NOT NULL,
`php_postflight_update` MEDIUMTEXT NOT NULL,
@@ -101,7 +103,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
`whmcs_buy_link` VARCHAR(255) NOT NULL DEFAULT '',
`whmcs_key` VARCHAR(255) NOT NULL DEFAULT '',
`whmcs_url` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -117,18 +119,18 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
PRIMARY KEY (`id`),
KEY `idx_system_name` (`system_name`),
KEY `idx_name_code` (`name_code`),
- KEY `idx_add_jcb_powers_path` (`add_jcb_powers_path`),
- KEY `idx_add_sales_server` (`add_sales_server`),
- KEY `idx_mvc_versiondate` (`mvc_versiondate`),
KEY `idx_remove_line_breaks` (`remove_line_breaks`),
- KEY `idx_add_placeholders` (`add_placeholders`),
KEY `idx_debug_linenr` (`debug_linenr`),
- KEY `idx_add_license` (`add_license`),
- KEY `idx_license_type` (`license_type`),
+ KEY `idx_mvc_versiondate` (`mvc_versiondate`),
KEY `idx_addreadme` (`addreadme`),
- KEY `idx_add_powers` (`add_powers`),
+ KEY `idx_add_placeholders` (`add_placeholders`),
KEY `idx_add_backup_folder_path` (`add_backup_folder_path`),
KEY `idx_translation_tool` (`translation_tool`),
+ KEY `idx_add_license` (`add_license`),
+ KEY `idx_license_type` (`license_type`),
+ KEY `idx_add_powers` (`add_powers`),
+ KEY `idx_add_sales_server` (`add_sales_server`),
+ KEY `idx_add_jcb_powers_path` (`add_jcb_powers_path`),
KEY `idx_add_php_helper_admin` (`add_php_helper_admin`),
KEY `idx_add_admin_event` (`add_admin_event`),
KEY `idx_add_php_helper_site` (`add_php_helper_site`),
@@ -145,19 +147,20 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
KEY `idx_add_php_postflight_install` (`add_php_postflight_install`),
KEY `idx_add_php_postflight_update` (`add_php_postflight_update`),
KEY `idx_add_php_method_uninstall` (`add_php_method_uninstall`),
+ KEY `idx_add_php_method_install` (`add_php_method_install`),
KEY `idx_add_sql` (`add_sql`),
KEY `idx_add_sql_uninstall` (`add_sql_uninstall`),
KEY `idx_assets_table_fix` (`assets_table_fix`),
KEY `idx_add_update_server` (`add_update_server`),
- KEY `idx_update_server_target` (`update_server_target`),
KEY `idx_emptycontributors` (`emptycontributors`),
+ KEY `idx_update_server_target` (`update_server_target`),
KEY `idx_add_git_folder_path` (`add_git_folder_path`),
KEY `idx_creatuserhelper` (`creatuserhelper`),
KEY `idx_adduikit` (`adduikit`),
KEY `idx_addfootable` (`addfootable`),
KEY `idx_add_email_helper` (`add_email_helper`),
- KEY `idx_guid` (`guid`),
KEY `idx_add_php_helper_both` (`add_php_helper_both`),
+ KEY `idx_guid` (`guid`),
KEY `idx_access` (`access`),
KEY `idx_checkout` (`checked_out`),
KEY `idx_createdby` (`created_by`),
@@ -210,7 +213,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_module` (
`update_server` INT(11) NOT NULL DEFAULT 0,
`update_server_target` TINYINT(1) NOT NULL DEFAULT 0,
`update_server_url` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -288,7 +291,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_plugin` (
`update_server` INT(11) NOT NULL DEFAULT 0,
`update_server_target` TINYINT(1) NOT NULL DEFAULT 0,
`update_server_url` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -333,7 +336,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_power` (
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`settings` TEXT NOT NULL,
`system_name` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -381,7 +384,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_power` (
`system_name` VARCHAR(255) NOT NULL DEFAULT '',
`type` VARCHAR(64) NOT NULL DEFAULT '',
`use_selection` TEXT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -504,7 +507,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_view` (
`sql` MEDIUMTEXT NOT NULL,
`system_name` VARCHAR(255) NOT NULL DEFAULT '',
`type` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -603,7 +606,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_custom_admin_view` (
`php_view` MEDIUMTEXT NOT NULL,
`snippet` INT(11) NOT NULL DEFAULT 0,
`system_name` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -678,7 +681,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_site_view` (
`php_view` MEDIUMTEXT NOT NULL,
`snippet` INT(11) NOT NULL DEFAULT 0,
`system_name` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -727,7 +730,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_template` (
`php_view` MEDIUMTEXT NOT NULL,
`snippet` INT(11) NOT NULL DEFAULT 0,
`template` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -763,7 +766,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_layout` (
`name` VARCHAR(255) NOT NULL DEFAULT '',
`php_view` MEDIUMTEXT NOT NULL,
`snippet` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -824,7 +827,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_dynamic_get` (
`view_selection` TEXT NOT NULL,
`view_table_main` INT(11) NOT NULL DEFAULT 0,
`where` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -873,7 +876,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_custom_code` (
`target` TINYINT(1) NOT NULL DEFAULT 0,
`to_line` VARCHAR(100) NOT NULL DEFAULT '',
`type` TINYINT(1) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -909,7 +912,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_class_property` (
`joomla_plugin_group` INT(11) NOT NULL DEFAULT 0,
`name` VARCHAR(255) NOT NULL DEFAULT '',
`visibility` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -944,7 +947,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_class_method` (
`joomla_plugin_group` INT(11) NOT NULL DEFAULT 0,
`name` VARCHAR(255) NOT NULL DEFAULT '',
`visibility` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -973,7 +976,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_placeholder` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`target` VARCHAR(255) NOT NULL DEFAULT '',
`value` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1006,7 +1009,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_library` (
`php_setdocument` MEDIUMTEXT NOT NULL,
`target` TINYINT(1) NOT NULL DEFAULT 1,
`type` TINYINT(1) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1045,7 +1048,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_snippet` (
`type` INT(11) NOT NULL DEFAULT 0,
`url` VARCHAR(255) NOT NULL DEFAULT '',
`usage` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1076,7 +1079,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_validation_rule` (
`name` VARCHAR(255) NOT NULL DEFAULT '',
`php` MEDIUMTEXT NOT NULL,
`short_description` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1125,7 +1128,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_field` (
`on_save_model_field` TEXT NOT NULL,
`store` INT(11) NOT NULL DEFAULT 0,
`xml` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1178,7 +1181,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_fieldtype` (
`properties` TEXT NOT NULL,
`short_description` VARCHAR(255) NOT NULL DEFAULT '',
`store` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1217,7 +1220,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_language_translation` (
`plugins` TEXT NULL,
`source` MEDIUMTEXT NOT NULL,
`translation` TEXT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1242,7 +1245,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_language` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`langtag` VARCHAR(64) NOT NULL DEFAULT '',
`name` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1278,7 +1281,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_server` (
`secret` TEXT NOT NULL,
`signature` TEXT NOT NULL,
`username` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1315,7 +1318,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_help_document` (
`title` CHAR(64) NOT NULL DEFAULT '',
`type` TINYINT(1) NOT NULL DEFAULT 0,
`url` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1344,7 +1347,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_fields` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addfields` MEDIUMTEXT NOT NULL,
`admin_view` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1370,7 +1373,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_fields_conditions` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addconditions` MEDIUMTEXT NOT NULL,
`admin_view` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1396,7 +1399,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_fields_relations` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addrelations` MEDIUMTEXT NOT NULL,
`admin_view` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1422,7 +1425,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_custom_tabs` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`admin_view` INT(11) NOT NULL DEFAULT 0,
`tabs` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1448,7 +1451,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_admin_views` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addadmin_views` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1474,7 +1477,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_site_views` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addsite_views` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1500,7 +1503,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_custom_admin_views` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addcustom_admin_views` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1526,7 +1529,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_updates` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`joomla_component` INT(11) NOT NULL DEFAULT 0,
`version_update` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1552,7 +1555,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_mysql_tweaks` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`joomla_component` INT(11) NOT NULL DEFAULT 0,
`sql_tweak` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1578,7 +1581,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_custom_admin_menus` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addcustommenus` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1610,7 +1613,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_router` (
`mode_constructor_after_parent` TINYINT(1) NOT NULL DEFAULT 0,
`mode_constructor_before_parent` TINYINT(1) NOT NULL DEFAULT 0,
`mode_methods` TINYINT(1) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1636,7 +1639,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_config` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addconfig` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1663,7 +1666,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_dashboard` (
`dashboard_tab` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
`php_dashboard_methods` MEDIUMTEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1692,7 +1695,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_files_folders` (
`addfolders` TEXT NOT NULL,
`addfoldersfullpath` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1718,7 +1721,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_placeholders` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addplaceholders` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1744,7 +1747,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_plugins` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addjoomla_plugins` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1770,7 +1773,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_component_modules` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addjoomla_modules` TEXT NOT NULL,
`joomla_component` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1796,7 +1799,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_snippet_type` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`description` VARCHAR(255) NOT NULL DEFAULT '',
`name` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1822,7 +1825,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_library_config` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`addconfig` TEXT NOT NULL,
`library` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1852,7 +1855,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_library_files_folders_urls` (
`addfoldersfullpath` TEXT NOT NULL,
`addurls` TEXT NOT NULL,
`library` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1880,7 +1883,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_class_extends` (
`extension_type` VARCHAR(64) NOT NULL DEFAULT '',
`head` TEXT NULL,
`name` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1906,7 +1909,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_module_updates` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`joomla_module` INT(11) NOT NULL DEFAULT 0,
`version_update` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1936,7 +1939,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_module_files_folders_urls
`addfoldersfullpath` TEXT NOT NULL,
`addurls` TEXT NOT NULL,
`joomla_module` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1962,7 +1965,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_plugin_group` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`class_extends` INT(11) NOT NULL DEFAULT 0,
`name` VARCHAR(255) NOT NULL DEFAULT '',
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -1989,7 +1992,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_plugin_updates` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`joomla_plugin` INT(11) NOT NULL DEFAULT 0,
`version_update` TEXT NOT NULL,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -2019,7 +2022,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_plugin_files_folders_urls
`addfoldersfullpath` TEXT NOT NULL,
`addurls` TEXT NOT NULL,
`joomla_plugin` INT(11) NOT NULL DEFAULT 0,
- `params` text NULL,
+ `params` TEXT NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
@@ -2444,7 +2447,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(195, '', '', '', '', '', '', '', '', 255, '', 'CHAR', '', '', '', 'Meter', 'NOT NULL', '', 13, '\" \"', 1, '2015-05-08 00:07:08', '2015-08-25 21:15:22', 1, '', 8, '7df21d68-709f-4f61-bf47-81dde8b40561', '', '', '', '', ''),
(196, '', '', '', '', '', '', '', '', 64, '', 'VARCHAR', '', '', '', 'Mobile Phone', 'NOT NULL', '', 23, '\" \"', 1, '2015-04-07 22:12:58', '2016-03-28 14:00:02', 2, '', 7, '65933a19-243a-48b2-aae9-34e2da710051', '', '', '', '', ''),
(197, '', '', '', '', '', '', '', '', 11, '', 'INT', '', '', '', 'Module (show archived also)', 'NOT NULL', '', 6, '\" \"', 1, '2015-04-24 07:50:46', '2020-03-23 20:21:04', 9, '', 6, 'c9369556-2ed2-41ff-886a-1905e1a039e1', '', '', '', '', ''),
-(198, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'MySQL - (Install)', 'NOT NULL', 2, 25, '\" \"', 1, '2015-05-11 12:36:14', '2018-05-11 03:32:01', 2, '', 5, '5eb879c0-f6e3-45b6-b220-cb5131422a83', '', '', '', '', ''),
+(198, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'MySQL - (Install)', 'NOT NULL', 2, 25, '\" \"', 1, '2015-05-11 12:36:14', '2024-04-19 08:14:22', 3, '', 5, '5eb879c0-f6e3-45b6-b220-cb5131422a83', '', '', '', '', ''),
(199, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', 2, '', '', 'Name (Key - Required)', 'NOT NULL', '', 24, '\" \"', 1, '2015-03-19 17:30:59', '2023-06-19 22:38:40', 10, '', 4, '5d3d34dd-4876-4c6a-86ab-b4e162f22c08', '', '', '', '', ''),
(200, '', '', '', '', '', '', '', '', 64, '', 'CHAR', 2, '', '', 'Name (list of records)', 'NOT NULL', '', 24, '\" \\r\\nNaming Conventions<\\/a><\\/small>\\\"\\n\\tsize=\\\"40\\\"\\n\\tmaxlength=\\\"150\\\"\\n\\tdescription=\\\"The name of the list of records in this view\\\"\\n\\tclass=\\\"inputbox\\\"\\n\\treadonly=\\\"false\\\"\\n\\tdisabled=\\\"false\\\"\\n\\trequired=\\\"true\\\"\\n\\tfilter=\\\"STRING\\\"\\n\\tmessage=\\\"Error! Please add list of records name here.\\\"\\n\\thint=\\\"List of Records Name Here\\\"\\n\\/>\"', 1, '2015-03-19 17:30:59', '2021-08-30 08:31:09', 3, '', 3, 'c73c3033-f4d9-475a-977b-9e447b88272f', '', '', '', '', ''),
(201, '', '', '', '', '', '', '', '', 64, '', 'CHAR', 2, '', '', 'Name (single record)', 'NOT NULL', '', 24, '\" \\r\\nNaming Conventions<\\/a><\\/small>\\\"\\n\\tsize=\\\"40\\\"\\n\\tmaxlength=\\\"150\\\"\\n\\tdescription=\\\"Type null if single record view is not to be set\\\"\\n\\tclass=\\\"inputbox\\\"\\n\\treadonly=\\\"false\\\"\\n\\tdisabled=\\\"false\\\"\\n\\trequired=\\\"true\\\"\\n\\tfilter=\\\"STRING\\\"\\n\\tmessage=\\\"Error! Please add single record name here.\\\"\\n\\thint=\\\"Single Record Name Here\\\"\\n\\/>\"', 1, '2015-03-19 17:30:59', '2021-08-30 08:29:29', 3, '', 2, '7568fcc2-bd06-438c-9666-fe3bde32306f', '', '', '', '', ''),
@@ -2478,7 +2481,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(229, '', '', '', '', '', '', 'Other', 3, 1, '', 'TINYINT', 2, '', '', 'Release Period Type (email)', 'NOT NULL', '', 11, '\" \"', 1, '2015-05-05 23:57:28', '2016-02-05 22:58:58', 6, '', 120, 'b5795715-eb89-46f6-8a5f-faddb08b5ca1', '', '', '', '', ''),
(230, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (getItem - JModelForm)', 'NOT NULL', 2, 8, '\"Target (object) $item values.<\\/small>\\\"\\n\\tdescription=\\\"Add PHP Here that should run in the getItem Method. Do not add the php tags.\\\"\\n\\twidth=\\\"100%\\\"\\n\\theight=\\\"450px\\\"\\n\\tcols=\\\"15\\\"\\n\\trows=\\\"30\\\"\\n\\tbuttons=\\\"no\\\"\\n\\tsyntax=\\\"php\\\"\\n\\teditor=\\\"codemirror|none\\\"\\n\\tfilter=\\\"raw\\\"\\n\\tvalidate=\\\"code\\\"\\n\\/>\"', 1, '2015-05-11 12:36:14', '2019-07-08 14:12:29', 7, '', 119, 'a921c373-45bb-4919-a840-5b13511102cb', '', '', '', '', ''),
(231, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (getItems - JModelAdmin)', 'NOT NULL', 2, 8, '\"Target (array) $items values.<\\/small>\\\"\\n\\tdescription=\\\"Add PHP Here that should run in the getItems Method. Do not add the php tags.\\\"\\n\\twidth=\\\"100%\\\"\\n\\theight=\\\"450px\\\"\\n\\tcols=\\\"15\\\"\\n\\trows=\\\"30\\\"\\n\\tbuttons=\\\"no\\\"\\n\\tsyntax=\\\"php\\\"\\n\\teditor=\\\"codemirror|none\\\"\\n\\tfilter=\\\"raw\\\"\\n\\tvalidate=\\\"code\\\"\\n\\/>\"', 1, '2015-05-11 12:36:14', '2019-07-08 14:13:10', 6, '', 118, '0ec2dbcd-8acc-438f-ad28-906fc7b6474e', '', '', '', '', ''),
-(232, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (helper_admin)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-05-11 12:36:14', '2019-07-08 14:13:19', 5, '', 117, '16a76125-d200-4bbf-aa00-91da3513a8f8', '', '', '', '', ''),
+(232, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (helper_admin)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-05-11 12:36:14', '2024-04-19 08:09:08', 6, '', 117, '16a76125-d200-4bbf-aa00-91da3513a8f8', '', '', '', '', ''),
(233, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (postSaveHook - edit)', 'NOT NULL', 2, 8, '\"Target (object) $model for the data model object and (array) $validData for the validated data.<\\/small>\\\"\\n\\tdescription=\\\"Add PHP Here that should run in the postSaveHook Method. Do not add the php tags.\\\"\\n\\twidth=\\\"100%\\\"\\n\\theight=\\\"450px\\\"\\n\\tcols=\\\"15\\\"\\n\\trows=\\\"30\\\"\\n\\tbuttons=\\\"no\\\"\\n\\tsyntax=\\\"php\\\"\\n\\teditor=\\\"codemirror|none\\\"\\n\\tfilter=\\\"raw\\\"\\n\\tvalidate=\\\"code\\\"\\n\\/>\"', 1, '2015-05-11 12:36:14', '2019-07-08 14:13:24', 4, '', 116, 'b97daa06-7589-43e1-aaf9-c9506756f7b4', '', '', '', '', ''),
(234, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (save - edit)', 'NOT NULL', 2, 8, '\"Target (array) $data values<\\/small>\\\"\\n\\tdescription=\\\"Add PHP Here that should run in the save Method. Do not add the php tags.\\\"\\n\\twidth=\\\"100%\\\"\\n\\theight=\\\"450px\\\"\\n\\tcols=\\\"15\\\"\\n\\trows=\\\"30\\\"\\n\\tbuttons=\\\"no\\\"\\n\\tsyntax=\\\"php\\\"\\n\\teditor=\\\"codemirror|none\\\"\\n\\tfilter=\\\"raw\\\"\\n\\tvalidate=\\\"code\\\"\\n\\/>\"', 1, '2015-05-11 12:36:14', '2019-07-08 14:18:48', 4, '', 115, '8ac3beb5-c100-41d6-8d2e-dd3e57f3701a', '', '', '', '', ''),
(235, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Point (answer point)', 'NOT NULL', '', 10, '\" \"', 1, '2015-05-03 00:09:17', '2016-12-08 18:12:42', 5, '', 114, '5145b754-1136-497b-ab9d-4767a1b198e0', '', '', '', '', ''),
@@ -2539,7 +2542,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(290, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Javascript (view-footer)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-05-12 19:37:51', '2019-07-08 14:13:34', 3, '', 296, 'a99c1f40-4b41-4167-ad29-85133375aa7a', '', '', '', '', ''),
(291, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Javascript (views-footer)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-05-12 19:38:05', '2019-07-08 14:13:40', 3, '', 297, '34bf9926-34a4-49a3-a29e-b602b1e5f9b2', '', '', '', '', ''),
(292, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add CSS', 'NOT NULL', '', 17, '\" \"', 1, '2015-05-12 19:43:43', '2018-01-15 11:50:37', 2, '', 298, '14c857e3-e684-49a3-8b34-1cf7448ed0c4', '', '', '', '', ''),
-(293, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'CSS (admin)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-05-12 19:44:54', '2019-07-08 14:13:48', 5, '', 299, '33c588ca-83b2-419d-b87f-b9f4e5e4ea54', '', '', '', '', ''),
+(293, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'CSS (admin)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-05-12 19:44:54', '2024-04-19 08:11:54', 6, '', 299, '33c588ca-83b2-419d-b87f-b9f4e5e4ea54', '', '', '', '', ''),
(294, '', '', '', '', '', '', '', '', 64, '', 'CHAR', '', '', '', 'Licensing Template', 'NOT NULL', '', 30, '\" \"', 1, '2015-05-13 14:50:23', '2018-08-18 06:48:43', 3, '', 302, 'b659c01d-accd-4049-bd4c-083000740d5a', '', '', '', '', ''),
(295, '', '', '', '', '', '', '', '', 64, '', 'CHAR', '', '', '', 'File', 'NOT NULL', '', 6, '\" \"', 1, '2015-05-13 15:15:40', '2024-03-20 11:28:57', 4, '', 300, '071ef0b2-94f6-4d75-9fd8-c7fbdce500b5', '', '', '', '', ''),
(296, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Target Path', 'NOT NULL', '', 24, '\"unzip the compiled zip file<\\/b> to see the structure. \\\"\\r\\n\\tsize=\\\"40\\\" \\r\\n\\tmaxlength=\\\"150\\\"\\r\\n\\tclass=\\\"text_area\\\" \\r\\n\\treadonly=\\\"false\\\" \\r\\n\\tdisabled=\\\"false\\\" \\r\\n\\trequired=\\\"true\\\" \\r\\n\\tfilter=\\\"PATH\\\" \\r\\n\\tvalidate=\\\"\\\" \\r\\n\\tmessage=\\\"Error! Please add target path.\\\" \\r\\n\\thint=\\\"Target Path Here\\\" \\r\\n\\/>\"', 1, '2015-05-13 15:19:13', '2018-02-14 21:36:06', 3, '', 303, 'd626e1f0-47b4-4aed-8c75-700a9566488f', '', '', '', '', ''),
@@ -2777,7 +2780,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(559, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Custom Get (dynamic)', 'NOT NULL', '', 6, '\" \"', 1, '2015-06-01 22:02:10', '2024-03-26 13:25:02', 11, '', 403, 'bed7693b-ccd1-4803-b065-5e20fac13881', '', '', '', '', ''),
(560, 1, '', 1, '', 'I2pmb3JtX2R5bmFtaWNfZ2V0X2Noem4gew0Kd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCn0NCi5qZm9ybV9keW5hbWljX2dldF9pbnB1dF93aWR0aCB7DQp3aWR0aDogOTAlICFpbXBvcnRhbnQ7DQp9', '', '', '', 11, '', 'INT', 2, 'alF1ZXJ5KCcjamZvcm1fZHluYW1pY19nZXQnKS5jbG9zZXN0KCcuaW5wdXQtYXBwZW5kJykuYWRkQ2xhc3MoJ2pmb3JtX2R5bmFtaWNfZ2V0X2lucHV0X3dpZHRoJyk7', '', 'Dynamic Get (snippet)', 'NOT NULL', '', 6, '\"getQuery(true);\\\" \\r\\n\\ttype_php_3=\\\"$query->select($db->quoteName(array(\'a.###ID###\',\'a.###TEXT###\',\'a.gettype\'),array(\'###ID###\',\'###CODE_TEXT###\',\'type\')));\\\" \\r\\n\\ttype_php_4=\\\"$query->from($db->quoteName(\'###TABLE###\', \'a\'));\\\" \\r\\n\\ttype_php_5=\\\"$query->where($db->quoteName(\'a.published\') . \' = 1\');\\\\n$query->order(\'a.###TEXT### ASC\');\\\" \\r\\n\\ttype_php_6=\\\"$db->setQuery((string)$query);\\\" \\r\\n\\ttype_php_7=\\\"$items = $db->loadObjectList();\\\" \\r\\n\\ttype_php_8=\\\"$options = array();\\\" \\r\\n\\ttype_php_9=\\\"if ($items)\\\" \\r\\n\\ttype_php_10=\\\"{\\\" \\r\\n\\ttype_php_11=\\\"\\\\t$model = ###Component###Helper::getModel(\'dynamic_gets\');\\\" \\r\\n\\ttype_php_12=\\\"\\\\tforeach($items as $item)\\\" \\r\\n\\ttype_php_13=\\\"\\\\t{\\\\n\\\\t\\\\t\\\\t\\\\t$type = $model->selectionTranslation($item->type,\'gettype\');\\\" \\r\\n\\ttype_php_14=\\\"\\\\t\\\\t$options[] = JHtml::_(\'select.option\', $item->###ID###, $item->###CODE_TEXT### . \' (\' . JText::_($type) . \')\' );\\\" \\r\\n\\ttype_php_15=\\\"\\\\t}\\\" \\r\\n\\ttype_php_16=\\\"}\\\" \\r\\n\\ttype_php_17=\\\"\\\" \\r\\n\\ttype_php_18=\\\"return $options;\\\"\\r\\n\\/>\"', 1, '2015-06-01 22:51:20', '2017-11-22 21:42:34', 6, '', 404, 'c37aa662-719c-4ed5-bbf2-e36672a3ce33', '', '', '', '', ''),
(561, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Note - Add PHP Language String', 'NOT NULL', '', 14, '\"<?php echo Text::_('Text'); ?><\\/code> \\r\\n<?php echo Text::sprintf('Hello %s', $this->user->name); ?><\\/code> \\r\\nJust get UPPERCASE language string:<\\/b> \\r\\n<?php echo JustTEXT::_('Text'); ?><\\/code>\\\"\\n\\theading=\\\"h4\\\"\\n\\/>\"', 1, '2015-06-03 15:23:13', '2024-04-08 07:54:26', 16, '', 539, 'edaac8c1-d2df-4e51-9d48-e1d7259984a3', '', '', '', '', ''),
-(562, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (helper_site)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-06-07 22:39:33', '2019-07-08 14:14:42', 4, '', 540, 'f4134f92-7dc5-4729-9a16-bfaa51de27f9', '', '', '', '', ''),
+(562, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (helper_site)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-06-07 22:39:33', '2024-04-19 08:09:34', 5, '', 540, 'f4134f92-7dc5-4729-9a16-bfaa51de27f9', '', '', '', '', ''),
(563, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP (helper_site Class)', 'NOT NULL', '', 17, '\" \"', 1, '2015-06-07 22:39:54', '2015-08-25 21:15:22', 2, '', 548, 'ff624860-89db-4465-97f1-962bf09dcc9f', '', '', '', '', ''),
(564, '', '', '', '', '', '', '', '', 11, '', 'TINYINT', 2, '', '', 'Site Menu', 'NOT NULL', '', 3, '\" \"', 1, '2015-06-09 19:58:37', '2019-06-11 12:15:59', 3, '', 549, '5ad1beb3-ad4c-4704-a1fd-be7045e3478a', '', '', '', '', ''),
(565, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP (custom view script)', 'NOT NULL', '', 17, '\" \"', 1, '2015-06-10 14:53:09', '2015-08-25 21:15:22', 2, '', 547, '8b09aaf9-546c-4f03-8b1f-3170ba4b5491', '', '', '', '', ''),
@@ -3046,10 +3049,10 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(829, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'File Name', 'NOT NULL', '', 24, '\" \"', 1, '2015-10-29 22:56:18', '2015-11-11 21:53:04', 4, '', 621, 'dd76a17b-ccd9-4bd2-90a9-6fac01eb9de3', '', '', '', '', ''),
(830, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Sermon (dynamic)', 'NOT NULL', '', 6, '\"getQuery(true);\\\" \\r\\n\\ttype_php_3=\\\"$query->select($db->quoteName(array(\'a.###ID###\',\'a.###TEXT###\'),array(\'###ID###\',\'###CODE_TEXT###\')));\\\" \\r\\n\\ttype_php_4=\\\"$query->from($db->quoteName(\'###TABLE###\', \'a\'));\\\" \\r\\n\\ttype_php_5=\\\"$query->where($db->quoteName(\'a.published\') . \' = 1\');\\\" \\r\\n\\ttype_php_6=\\\"$query->order(\'a.###TEXT### ASC\');\\\" \\r\\n\\ttype_php_7=\\\"$db->setQuery((string)$query);\\\" \\r\\n\\ttype_php_8=\\\"$items = $db->loadObjectList();\\\" \\r\\n\\ttype_php_9=\\\"$options = array();\\\" \\r\\n\\ttype_php_10=\\\"if ($items)\\\" \\r\\n\\ttype_php_11=\\\"{\\\" \\r\\n\\ttype_php_12=\\\"\\\\t$options[] = JHtml::_(\'select.option\', \'\', \'Select a sermon\');\\\" \\r\\n\\ttype_php_13=\\\"\\\\tforeach($items as $item)\\\" \\r\\n\\ttype_php_14=\\\"\\\\t{\\\" \\r\\n\\ttype_php_15=\\\"\\\\t\\\\t$options[] = JHtml::_(\'select.option\', $item->###ID###, $item->###CODE_TEXT###);\\\" \\r\\n\\ttype_php_16=\\\"\\\\t}\\\" \\r\\n\\ttype_php_17=\\\"}\\\" \\r\\n\\ttype_php_18=\\\"\\\" \\r\\n\\ttype_php_19=\\\"return $options;\\\" \\r\\n\\/>\"', 1, '2015-10-29 23:03:50', '0000-00-00 00:00:00', 1, '', 630, '65900ddf-3f15-41ea-a8a7-5a4a77975c7d', '', '', '', '', ''),
(831, '', '', '', '', '', '', '', '', 64, '', 'INT', '', '', '', 'Counter', 'NOT NULL', '', 24, '\" \"', 1, '2015-10-29 23:07:47', '2015-10-29 23:15:13', 2, '', 104, '0d88fa6b-a273-4a4b-81f3-1681a029c9d4', '', '', '', '', ''),
-(832, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add Global Admin Event', 'NOT NULL', '', 17, '\" \"', 1, '2015-10-30 12:47:57', '2015-10-30 13:01:42', 3, '', 631, 'f114341a-d271-4917-a5eb-8d5acdf0232d', '', '', '', '', ''),
+(832, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add Global Admin Event', 'NOT NULL', '', 17, '\" \"', 1, '2015-10-30 12:47:57', '2024-04-19 08:22:20', 4, '', 631, 'f114341a-d271-4917-a5eb-8d5acdf0232d', '', '', '', '', ''),
(833, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add Global Site Event', 'NOT NULL', '', 17, '\" \"', 1, '2015-10-30 12:48:36', '2015-10-30 13:01:58', 2, '', 631, '8b68326a-0e09-4df9-807e-4c32c3c9600a', '', '', '', '', ''),
-(834, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Global Helper Admin Event', 'NOT NULL', 2, 8, '\" \"', 1, '2015-10-30 12:52:26', '2019-07-08 14:17:00', 3, '', 373, 'a8b0ea74-9315-4f24-be43-836f249645f3', '', '', '', '', ''),
-(835, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Global Helper Site Event', 'NOT NULL', 2, 8, '\" \"', 1, '2015-10-30 12:53:10', '2019-07-08 14:17:13', 3, '', 373, 'a052df3d-54b4-4da7-a0f6-f18703d1047b', '', '', '', '', ''),
+(834, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Global Helper Admin Event', 'NOT NULL', 2, 8, '\" \"', 1, '2015-10-30 12:52:26', '2024-04-19 08:22:50', 4, '', 373, 'a8b0ea74-9315-4f24-be43-836f249645f3', '', '', '', '', ''),
+(835, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Global Helper Site Event', 'NOT NULL', 2, 8, '\" \"', 1, '2015-10-30 12:53:10', '2024-04-19 08:23:46', 4, '', 373, 'a052df3d-54b4-4da7-a0f6-f18703d1047b', '', '', '', '', ''),
(836, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add to External Source Button', 'NOT NULL', '', 17, '\" \"', 1, '2015-10-31 12:59:03', '2016-11-21 15:40:08', 3, '', 632, '6d7035f9-b4a1-45fd-bfa2-2ccfa6e06287', '', '', '', '', ''),
(837, '', '', 1, '', '', '', '', '', '', '', 'TEXT', '', 'PD9waHANCgkvLyBzZXR1cCB0aGUgcmV0dXJuIHVybA0KCSRleHRlcm5hbHNvdXJjZXNVUkwgPSBKVVJJOjpyb290KCkgLiAnYWRtaW5pc3RyYXRvci9pbmRleC5waHA/b3B0aW9uPWNvbV9bW1tjb21wb25lbnRdXV0mdmlldz1leHRlcm5hbF9zb3VyY2VzJzsNCj8+DQoNCmpRdWVyeSgnLmV4dGVybmFsLXNvdXJjZScpLm9uKCdjbGljaycsZnVuY3Rpb24gKGUpDQp7DQoJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCWxvY2F0aW9uLmhyZWY9Ijw/cGhwIGVjaG8gJGV4dGVybmFsc291cmNlc1VSTDsgPz4iOw0KfSk7DQoNCi8vIGxvYWQgdGhlIGF1dG8gc2VybW9ucyBpZiBzZXQgb3Igbm90aWNlIGlmIG5vbmUgaXMgZm91bmQNCnZhciBhdXRvX3Nlcm1vbnMgPSBqUXVlcnkoJyNqZm9ybV9hdXRvX3Nlcm1vbnMnKS52YWwoKTsNCnZhciBodG1sRHJvcE5vdGUgPSAnPGgxPjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ05vIEZpbGVzIExpbmtlZCBZZXQnKTsgPz48L2gxPic7DQpodG1sRHJvcE5vdGUgKz0gJzxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LXdhcm5pbmciPjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ0Fsd2F5cyBiZXR0ZXIgdG8gYWRkIHRoZSBmaWxlcyB0byBFeHRlcm5hbCBTb3VyY2UgYW5kIGxldCB0aGUgc3lzdGVtIGNyZWF0ZSB0aGUgc2VybW9uIGZvciB5b3UuIFBsZWFzZSByZWFkIGluc3RydWN0aW9ucyBiZWxvdyBjYXJlZnVsbHkuJyk7ID8+PC9kaXY+JzsNCmlmIChhdXRvX3Nlcm1vbnMgIT0gMSAmJiBhdXRvX3Nlcm1vbnMubGVuZ3RoID4gMCkNCnsNCglodG1sRHJvcE5vdGUgPSAnPGgxPjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ1RoZSBGaWxlcyBMaW5rZWQgZnJvbSBFeHRlcm5hbCBTb3VyY2UnKTsgPz48L2gxPic7DQoJYXV0b19zZXJtb25zID0galF1ZXJ5LnBhcnNlSlNPTihhdXRvX3Nlcm1vbnMpOw0KCWh0bWxEcm9wTm90ZSArPSAnPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtc3VjY2VzcyI+PHVsPic7DQoJalF1ZXJ5LmVhY2goYXV0b19zZXJtb25zLCBmdW5jdGlvbihmaWxlbmFtZSxmaWxlS2V5KSB7DQoJCWh0bWxEcm9wTm90ZSArPSAnPGxpPjxiPjw/cGhwIGVjaG8gSlRleHQ6Ol8oJ0Rvd25sb2FkIE5hbWUnKTsgPz46PC9iPiAnOw0KCQlodG1sRHJvcE5vdGUgKz0gZmlsZW5hbWU7DQoJCWh0bWxEcm9wTm90ZSArPSAnPGJyIC8+PGI+PD9waHAgZWNobyBKVGV4dDo6XygnRXh0ZXJuYWwgU291cmNlIFJlbGF0aW9uJyk7ID8+OjwvYj4gJzsNCgkJaHRtbERyb3BOb3RlICs9IGZpbGVLZXkucmVwbGFjZSgiVkRNX3BMZUtfaDB1RXIvIiwgIiIpOw0KCQlodG1sRHJvcE5vdGUgKz0gJzwvbGk+JzsNCgl9KTsNCglodG1sRHJvcE5vdGUgKz0gJzwvdWw+PC9kaXY+JzsNCn0NCmpRdWVyeSgnLm5vdGVfYXV0b19leHRlcm5hbHNvdXJjZScpLmNsb3Nlc3QoJy5jb250cm9sLWdyb3VwJykucHJlcGVuZChodG1sRHJvcE5vdGUpOw==', '', 'Dropbox Auto Sermon Values', 'NOT NULL', '', 9, '\" \"', 1, '2015-11-01 23:02:46', '2016-11-04 01:39:59', 11, '', 633, '463acf01-a1ac-4b85-89f1-4ea2b54b03fe', '', '', '', '', ''),
(838, '', '', '', '', '', '', '', '', 1, '', 'INT', 2, '', '', 'Auto Sermons State', 'NOT NULL', '', 11, '\" \"', 1, '2015-11-04 23:41:39', '0000-00-00 00:00:00', 1, '', 634, '9f540a41-db71-49b2-9226-7d9e42032353', '', '', '', '', ''),
@@ -3186,9 +3189,9 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(969, '', '', '', '', '', '', '', '', '', '', 'CHAR', '', '', '', 'Compiler Folder Path - Note', 'NOT NULL', '', 14, '\" \"', 1, '2015-11-24 23:46:41', '0000-00-00 00:00:00', 1, '', 642, '7459c947-0796-4d42-9998-18f84c2d7e07', '', '', '', '', ''),
(970, '', '', '', '', '', '', 1, '', 1, '', 'TINYINT', 2, '', '', 'Add Pagination', 'NOT NULL', '', 17, '\" \"', 1, '2015-11-29 00:44:58', '2015-11-29 01:00:27', 2, '', 643, 'b99a8df9-27ce-4502-9f44-863799cd2cc9', '', '', '', '', ''),
(971, '', '', 1, '', '', '', '', '', '', '', 'TEXT', '', 'alF1ZXJ5KCdpbnB1dC5mb3JtLWZpZWxkLXJlcGVhdGFibGUnKS5vbigndmFsdWUtdXBkYXRlJywgZnVuY3Rpb24oZSwgdmFsdWUpew0KCWlmICh2YWx1ZSkNCgl7DQoJCWJ1aWxkVGFibGUodmFsdWUsZS5jdXJyZW50VGFyZ2V0LmlkKTsNCgl9DQp9KTsNCg0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgICAgDQoJdmFyIHZhbHVlc19hID0galF1ZXJ5KCcjamZvcm1fc2VsZWN0aW9uJykudmFsKCk7DQoJaWYgKHZhbHVlc19hKQ0KCXsNCgkJdmFsdWVzX2EgPSBqUXVlcnkucGFyc2VKU09OKHZhbHVlc19hKTsNCgkJYnVpbGRUYWJsZSh2YWx1ZXNfYSwnamZvcm1fc2VsZWN0aW9uJyk7DQoJfQ0KfSk7DQoNCmZ1bmN0aW9uIGJ1aWxkVGFibGUoYXJyYXksaWQpew0KCWpRdWVyeSgnI3RhYmxlXycraWQpLnJlbW92ZSgpOw0KCWpRdWVyeSgnIycraWQpLmNsb3Nlc3QoJy5jb250cm9sLWdyb3VwJykuYXBwZW5kKCc8dGFibGUgc3R5bGU9Im1hcmdpbjogNXB4IDAgMjBweDsiIGNsYXNzPSJ0YWJsZSIgaWQ9InRhYmxlXycraWQrJyI+Jyk7DQoJalF1ZXJ5KCcjdGFibGVfJytpZCkuYXBwZW5kKHRhYmxlSGVhZGVyKGFycmF5KSk7DQoJalF1ZXJ5KCcjdGFibGVfJytpZCkuYXBwZW5kKHRhYmxlQm9keShhcnJheSkpOyAgDQoJalF1ZXJ5KCcjdGFibGVfJytpZCkuYXBwZW5kKCc8L3RhYmxlPicpOw0KfQ0KDQpmdW5jdGlvbiB0YWJsZUhlYWRlcihhcnJheSl7DQoJdmFyIGhlYWRlciA9ICc8dGhlYWQ+PHRyPic7DQoJCWpRdWVyeS5lYWNoKGFycmF5LCBmdW5jdGlvbihrZXksIHZhbHVlKSB7DQoJCQloZWFkZXIgKz0gJzx0aCBzdHlsZT0icGFkZGluZzogMTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjIxLCAyMjEsIDIyMSk7Ij4nK2NhcGl0YWxpemVGaXJzdExldHRlcihrZXkpKyc8L3RoPic7DQoJCX0pOw0KCQloZWFkZXIgKz0gJzwvdHI+PC90aGVhZD4nOw0KCXJldHVybiBoZWFkZXI7DQp9DQoNCmZ1bmN0aW9uIHRhYmxlQm9keShhcnJheSl7DQoJdmFyIGJvZHkgPSAnPHRib2R5Pic7DQoJdmFyIHJvd3MgPSBuZXcgQXJyYXkoKTsNCglqUXVlcnkuZWFjaChhcnJheSwgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgew0KCQlqUXVlcnkuZWFjaCh2YWx1ZSwgZnVuY3Rpb24oaSwgbGluZSkgew0KCQkJaWYoIHJvd3NbaV0gPT09IHVuZGVmaW5lZCApIHsNCgkJCQlyb3dzW2ldID0gJzx0ZCBzdHlsZT0icGFkZGluZzogMTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjIxLCAyMjEsIDIyMSk7Ij4nICsgbGluZSArICc8L3RkPic7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcm93c1tpXSA9IHJvd3NbaV0gKyAnPHRkIHN0eWxlPSJwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMjEsIDIyMSwgMjIxKTsiPicgKyBsaW5lICsgJzwvdGQ+JzsNCgkJCX0NCgkJfSk7DQoJfSk7DQoJLy8gbm93IGxvYWQgdG8gYm9keSB0aGUgcm93cw0KCWpRdWVyeS5lYWNoKHJvd3MsIGZ1bmN0aW9uKGEsIHJvdykgew0KCQlib2R5ICs9ICc8dHI+JyArIHJvdyArICc8L3RyPic7DQoJfSk7DQoJYm9keSArPSAnPC90Ym9keT4nOw0KCXJldHVybiBib2R5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICANCn0NCg0KZnVuY3Rpb24gY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHN0cmluZykgew0KICAgIHJldHVybiBzdHJpbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmcuc2xpY2UoMSk7DQp9', '', 'Selection (repeatable)', 'NOT NULL', '', 19, '\" \"', 1, '2015-11-29 04:27:33', '2017-02-09 16:26:23', 4, '', 599, 'b9207068-ef48-4673-b2cb-853102fc36ae', '', '', '', '', ''),
-(972, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Readme (editor)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-11-30 06:29:56', '2019-07-08 14:17:20', 13, '', 644, '87a4b892-c4cb-4032-8511-e18ba8c8c202', '', '', '', '', ''),
-(973, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'add Readme', 'NOT NULL', '', 17, '\" \"', 1, '2015-11-30 06:30:34', '2015-11-30 06:30:47', 2, '', 644, '03de1a61-d639-4d48-8ce6-fcf16c8f6270', '', '', '', '', ''),
-(974, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'add Readme Note', 'NOT NULL', '', 14, '\" \"', 1, '2015-11-30 08:06:36', '2020-06-01 22:41:22', 35, '', 645, '4d28e56e-bc8d-4a7f-a431-870e9b5e10b9', '', '', '', '', ''),
+(972, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Readme (editor)', 'NOT NULL', 2, 8, '\" \"', 1, '2015-11-30 06:29:56', '2024-04-19 08:26:34', 14, '', 644, '87a4b892-c4cb-4032-8511-e18ba8c8c202', '', '', '', '', ''),
+(973, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'add Readme', 'NOT NULL', '', 17, '\" \"', 1, '2015-11-30 06:30:34', '2024-04-19 08:25:19', 4, '', 644, '03de1a61-d639-4d48-8ce6-fcf16c8f6270', '', '', '', '', ''),
+(974, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'add Readme Note', 'NOT NULL', '', 14, '\" \"', 1, '2015-11-30 08:06:36', '2024-04-19 08:25:52', 36, '', 645, '4d28e56e-bc8d-4a7f-a431-870e9b5e10b9', '', '', '', '', ''),
(975, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', 2, '', '', 'Form - Unique Code', 'NOT NULL', '', 24, '\" \"', 1, '2015-12-04 01:26:11', '2016-06-12 17:51:29', 7, '', 242, '77fc2110-c0e9-427e-bc5a-39e4ada8aede', '', '', '', '', ''),
(976, '', '', '', '', '', '', '', '', 7, '', 'INT', 2, '', '', 'Form - Size', 'NOT NULL', '', 24, '\" \"', 1, '2015-12-04 01:28:11', '2015-12-04 08:44:42', 4, '', 242, '1893300a-c442-42e2-b7f3-20065f878430', '', '', '', '', ''),
(977, '', '', '', '', '', '', '', '', 7, '', 'INT', 2, '', '', 'Form - Maxlength', 'NOT NULL', '', 24, '\" \"', 1, '2015-12-04 01:29:15', '2015-12-04 08:45:20', 4, '', 242, '99814dc5-bd0d-4e81-90fe-3ea1b42a3142', '', '', '', '', ''),
@@ -3239,15 +3242,15 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(1022, 1, '', '', '', 'Lm15c3FsX3VwZGF0ZSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDM5MnB4OyB9', '', '', '', '', '', 'TEXT', '', '', '', 'MySQL (version update)', 'NOT NULL', '', 25, '\" \"', 1, '2015-12-17 17:36:45', '2017-10-26 02:17:40', 9, '', 653, '98d5f71a-5236-4c20-845f-26d89e0c6f68', '', '', '', '', ''),
(1023, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Version Update (controler)', 'NOT NULL', '', 35, '\" \"', 1, '2015-12-17 17:39:17', '2021-12-16 06:54:40', 7, '', 653, '7d49445c-4e95-4fd5-a2a4-a20bbcd4d812', '', '', '', '', ''),
(1024, 1, '', '', '', 'LnZlcnNpb25fdXJsIHsgbWluLXdpZHRoOiAxMDAlOyB9', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Version URL', 'NOT NULL', '', 27, '\" \"', 1, '2015-12-22 09:08:12', '2017-10-26 02:25:07', 5, '', 378, '09b62f71-d765-4f48-806d-6dd7dc5ceaaf', '', '', '', '', ''),
-(1025, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Update Server URL', 'NOT NULL', '', 27, '\" \"', 1, '2015-12-22 09:10:04', '2019-07-23 20:29:03', 4, '', 378, 'e6c263b1-da39-4a73-8585-637dc3a5b8eb', '', '', '', '', ''),
-(1026, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add Update Server', 'NOT NULL', '', 17, '\" \"', 1, '2015-12-22 19:23:52', '2015-08-25 21:15:22', 1, '', 192, 'db2835aa-b0c3-4c9a-abe6-5b09568fffda', '', '', '', '', ''),
+(1025, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Update Server URL', 'NOT NULL', '', 27, '\" \"', 1, '2015-12-22 09:10:04', '2024-04-19 08:27:36', 5, '', 378, 'e6c263b1-da39-4a73-8585-637dc3a5b8eb', '', '', '', '', ''),
+(1026, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add Update Server', 'NOT NULL', '', 17, '\" \"', 1, '2015-12-22 19:23:52', '2024-04-19 08:27:16', 2, '', 192, 'db2835aa-b0c3-4c9a-abe6-5b09568fffda', '', '', '', '', ''),
(1027, '', '', '', '', '', '', '', '', 11, '', 'INT', '', '', '', 'Update Server (gateway)', 'NOT NULL', '', 6, '\"getQuery(true);\\\" \\r\\n\\ttype_php_3=\\\"$query->select($db->quoteName(array(\'a.###ID###\',\'a.###TEXT###\',\'a.protocol\'),array(\'###ID###\',\'name\', \'protocol\')));\\\" \\r\\n\\ttype_php_4=\\\"$query->from($db->quoteName(\'###TABLE###\', \'a\'));\\\" \\r\\n\\ttype_php_5=\\\"$query->where($db->quoteName(\'a.published\') . \' >= 1\');\\\" \\r\\n\\ttype_php_6=\\\"$query->order(\'a.###TEXT### ASC\');\\\" \\r\\n\\ttype_php_7=\\\"$db->setQuery((string)$query);\\\" \\r\\n\\ttype_php_8=\\\"$items = $db->loadObjectList();\\\" \\r\\n\\ttype_php_9=\\\"$options = array();\\\" \\r\\n\\ttype_php_10=\\\"if ($items)\\\" \\r\\n\\ttype_php_11=\\\"{\\\" \\r\\n\\ttype_php_12=\\\"\\\\t$options[] = JHtml::_(\'select.option\', \'\', \'Select an option\');\\\" \\r\\n\\ttype_php_13=\\\"\\\\tforeach($items as $item)\\\" \\r\\n\\ttype_php_14=\\\"\\\\t{\\\\n\\\\t\\\\t\\\\t$item->protocol = ($item->protocol == 2) ? JText::_(\'SFTP\') : JText::_(\'FTP\');\\\" \\r\\n\\ttype_php_15=\\\"\\\\t\\\\t$options[] = JHtml::_(\'select.option\', $item->###ID###, $item->name.\' [\'.$item->protocol.\']\');\\\" \\r\\n\\ttype_php_16=\\\"\\\\t}\\\" \\r\\n\\ttype_php_17=\\\"}\\\" \\r\\n\\ttype_php_18=\\\"\\\" \\r\\n\\ttype_php_19=\\\"return $options;\\\" \\r\\n\\/>\"', 1, '2015-12-23 09:26:11', '2018-02-20 21:28:52', 21, '', 192, '33fb33c3-1ff2-4d4c-8fe8-6aaa93c1646a', '', '', '', '', ''),
(1028, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Programs Menu Item', 'NOT NULL', '', 33, '\" \"', 1, '2016-01-02 15:44:28', '2015-11-14 15:15:11', 1, '', 637, '93660a37-62e2-4d61-a73c-98bdfa83c5bd', '', '', '', '', ''),
(1029, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Register Menu Item', 'NOT NULL', '', 33, '\" \"', 1, '2016-01-02 15:48:25', '2015-11-14 15:15:11', 1, '', 637, '4ce53cfe-3e0b-4dde-9c38-6475ec64fdf6', '', '', '', '', ''),
(1030, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Doassessment Menu Item', 'NOT NULL', '', 33, '\" \"', 1, '2016-01-02 16:20:44', '2015-11-14 15:15:11', 1, '', 637, 'a6626a9d-e89c-4350-8fc1-7f979d3f5c3d', '', '', '', '', ''),
(1031, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Event Menu Item', 'NOT NULL', '', 33, '\" \"', 1, '2016-01-02 16:23:19', '2015-11-14 15:15:11', 1, '', 637, 'c0dfd19c-40fc-4332-bcf5-ab0f04aaf2ea', '', '', '', '', ''),
-(1032, '', '', '', '', '', '', '', '', 11, '', 'INT', '', '', '', 'Sales Server (gateway)', 'NOT NULL', '', 6, '\"\\ttype=\\\"servers\\\" \\r\\n\\tname=\\\"sales_server\\\" \\r\\n\\tlabel=\\\"Sales Server\\\" \\r\\n\\tdescription=\\\"Select your sales server for this component\\\" \\r\\n\\tclass=\\\"list_class\\\" \\r\\n\\tmultiple=\\\"false\\\" \\r\\n\\tdefault=\\\"0\\\" \\r\\n\\textends=\\\"list\\\" \\r\\n\\tbutton=\\\"true\\\" \\r\\n\\ttable=\\\"#__###component###_server\\\" \\r\\n\\tcomponent=\\\"com_###component###\\\" \\r\\n\\tview=\\\"server\\\" \\r\\n\\tviews=\\\"servers\\\" \\r\\n\\tvalue_field=\\\"name\\\" \\r\\n\\tkey_field=\\\"id\\\" \\r\\n\\ttype_php_1=\\\"$db = JFactory::getDBO();\\\" \\r\\n\\ttype_php_2=\\\"$query = $db->getQuery(true);\\\" \\r\\n\\ttype_php_3=\\\"$query->select($db->quoteName(array(\'a.###ID###\',\'a.###TEXT###\',\'a.protocol\'),array(\'###ID###\',\'###CODE_TEXT###\', \'protocol\')));\\\" \\r\\n\\ttype_php_4=\\\"$query->from($db->quoteName(\'###TABLE###\', \'a\'));\\\" \\r\\n\\ttype_php_5=\\\"$query->where($db->quoteName(\'a.published\') . \' >= 1\');\\\" \\r\\n\\ttype_php_6=\\\"$query->order(\'a.###TEXT### ASC\');\\\" \\r\\n\\ttype_php_7=\\\"$db->setQuery((string)$query);\\\" \\r\\n\\ttype_php_8=\\\"$items = $db->loadObjectList();\\\" \\r\\n\\ttype_php_9=\\\"$options = array();\\\" \\r\\n\\ttype_php_10=\\\"if ($items)\\\" \\r\\n\\ttype_php_11=\\\"{\\\" \\r\\n\\ttype_php_12=\\\"\\\\t$options[] = JHtml::_(\'select.option\', \'\', \'Select an option\');\\\" \\r\\n\\ttype_php_13=\\\"\\\\tforeach($items as $item)\\\" \\r\\n\\ttype_php_14=\\\"\\\\t{\\\\n\\\\t\\\\t\\\\t$item->protocol = ($item->protocol == 2) ? JText::_(\'SFTP\') : JText::_(\'FTP\');\\\" \\r\\n\\ttype_php_15=\\\"\\\\t\\\\t$options[] = JHtml::_(\'select.option\', $item->###ID###, $item->###CODE_TEXT###.\' [\'.$item->protocol.\']\');\\\" \\r\\n\\ttype_php_16=\\\"\\\\t}\\\" \\r\\n\\ttype_php_17=\\\"}\\\" \\r\\n\\ttype_php_18=\\\"\\\" \\r\\n\\ttype_php_19=\\\"return $options;\\\" \\r\\n\\/>\"', 1, '2016-01-06 07:47:20', '2018-02-19 15:21:52', 10, '', 192, '4553e8c2-3446-4e11-a967-0504509087a4', '', '', '', '', ''),
-(1033, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add Sales Server', 'NOT NULL', '', 17, '\" \"', 1, '2016-01-06 07:52:15', '2015-08-25 21:15:22', 1, '', 192, '378a9839-97ce-4bdb-8961-a9164738a3bf', '', '', '', '', ''),
+(1032, '', '', '', '', '', '', '', '', 11, '', 'INT', '', '', '', 'Sales Server (gateway)', 'NOT NULL', '', 6, '\" \"', 1, '2016-01-06 07:47:20', '2024-04-19 08:30:27', 12, '', 192, '4553e8c2-3446-4e11-a967-0504509087a4', '', '', '', '', ''),
+(1033, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add Sales Server', 'NOT NULL', '', 17, '\" \"', 1, '2016-01-06 07:52:15', '2024-04-19 08:30:17', 3, '', 192, '378a9839-97ce-4bdb-8961-a9164738a3bf', '', '', '', '', ''),
(1034, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add MySql (tweak)', 'NOT NULL', '', 11, '\" \"', 1, '2016-01-06 14:50:50', '2017-10-26 02:39:06', 6, '', 190, 'b89086a8-c357-4a56-b42e-a5769ba5d8cb', '', '', '', '', ''),
(1035, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add MySql Options (tweak)', 'NOT NULL', '', 11, '\" \"', 1, '2016-01-07 08:28:18', '2016-01-07 08:28:42', 2, '', 190, 'a26e8bea-2e4e-434b-a3cb-394b83680d3c', '', '', '', '', ''),
(1036, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'MySql (tweak)', 'NOT NULL', '', 35, '\" \"', 1, '2016-01-07 08:33:47', '2017-10-26 02:52:28', 3, '', 201, 'ce203691-6577-4c0d-90fb-539d07ea76c3', '', '', '', '', ''),
@@ -3592,18 +3595,18 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(1375, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP (script - after state change)', 'NOT NULL', 2, 8, '\"Target (array) $pks is an array of record primary keys and $value is the published state.<\\/small>\\\"\\n\\tdescription=\\\"Add PHP Here that should run in the publish Method after the item\'s published state has been changed. Do not add the php tags.\\\"\\n\\twidth=\\\"100%\\\"\\n\\theight=\\\"450px\\\"\\n\\tcols=\\\"15\\\"\\n\\trows=\\\"30\\\"\\n\\tbuttons=\\\"no\\\"\\n\\tsyntax=\\\"php\\\"\\n\\teditor=\\\"codemirror|none\\\"\\n\\tfilter=\\\"raw\\\"\\n\\tvalidate=\\\"code\\\"\\n\\/>\"', 1, '2016-09-07 20:45:16', '2019-07-08 14:18:04', 5, '', 119, '8dfde218-c13c-4e7e-be62-d651cafc9d43', '', '', '', '', ''),
(1376, '', '', '', '', '', '', '', '', 255, '', 'CHAR', '', '', '', 'Views (admin)', 'NOT NULL', '', 6, '\" \"', 1, '2016-10-17 23:28:49', '2024-03-26 13:24:23', 14, '', 300, 'd7f97213-2aa1-457c-9e60-d691cfcd905f', '', '', '', '', ''),
(1377, '', '', '', '', '', '', '', '', 255, '', 'CHAR', '', '', '', 'Views (site)', 'NOT NULL', '', 6, '\" \"', 1, '2016-10-17 23:38:27', '2024-03-26 13:24:14', 13, '', 300, 'd52f96cd-df76-494b-8c25-146bb434b6af', '', '', '', '', ''),
-(1378, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Preflight (uninstall)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:05:30', '2019-07-22 11:48:53', 2, '', 373, '628147c3-5f93-4a49-a1bc-ac6685e06b64', '', '', '', '', ''),
-(1379, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP Preflight (uninstall)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:05:35', '2016-02-18 12:54:44', 1, '', 188, '3bb6d77d-05bf-4447-a6bb-4af197ec9290', '', '', '', '', ''),
-(1380, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Preflight (install)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:07:38', '2019-07-08 14:18:10', 3, '', 373, '3ca01651-a5c3-46c3-b7a8-bfb0d9f6e105', '', '', '', '', ''),
-(1381, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP Preflight (install)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:07:52', '2016-02-18 12:54:44', 1, '', 188, 'd5d03647-f29e-44a4-9e63-5feb9f4adbae', '', '', '', '', ''),
-(1382, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP Preflight (update)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:08:21', '2016-02-18 12:54:44', 1, '', 188, '365d08ee-fe6e-47c4-b567-a001212f2cb6', '', '', '', '', ''),
-(1383, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Preflight (update)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:08:49', '2019-07-08 14:18:21', 4, '', 373, '9f9b030b-31ba-4ae9-88da-76efd8a140dc', '', '', '', '', ''),
-(1384, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP Postflight (update)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:09:20', '2016-02-18 12:54:44', 1, '', 188, '22a668bc-d169-4346-9929-3819673c67ac', '', '', '', '', ''),
-(1385, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Postflight (update)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:09:39', '2019-07-08 14:18:26', 3, '', 373, 'ade283c3-937e-4502-a040-c69d6ddb3c50', '', '', '', '', ''),
-(1386, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Postflight (install)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:10:13', '2019-07-08 14:19:16', 3, '', 373, '8d837989-4a21-4943-bb4c-4d4abb9a7a55', '', '', '', '', ''),
-(1387, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP Postflight (install)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:10:25', '2016-02-18 12:54:44', 1, '', 188, '3c1db8b4-65f2-4f6f-8391-5883f564eabe', '', '', '', '', ''),
-(1388, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP Method (uninstall)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:10:46', '2016-10-18 22:31:14', 2, '', 188, '70a2d820-64af-4f51-8b1a-522aed9572bf', '', '', '', '', ''),
-(1389, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP Method (uninstall)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:11:08', '2019-07-08 14:19:21', 4, '', 373, 'e76cf555-112a-4021-9a1e-b4ee52d7be8a', '', '', '', '', ''),
+(1378, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP in the preflight uninstall (event)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:05:30', '2024-04-19 09:05:37', 4, '', 373, '628147c3-5f93-4a49-a1bc-ac6685e06b64', '', '', '', '', ''),
+(1379, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP in the preflight uninstall (event)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:05:35', '2024-04-19 09:05:03', 3, '', 188, '3bb6d77d-05bf-4447-a6bb-4af197ec9290', '', '', '', '', ''),
+(1380, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP in the preflight install (event)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:07:38', '2024-04-19 09:06:06', 5, '', 373, '3ca01651-a5c3-46c3-b7a8-bfb0d9f6e105', '', '', '', '', ''),
+(1381, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP in the preflight install (event)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:07:52', '2024-04-19 09:06:20', 3, '', 188, 'd5d03647-f29e-44a4-9e63-5feb9f4adbae', '', '', '', '', ''),
+(1382, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP in the preflight update (event)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:08:21', '2024-04-19 09:06:37', 3, '', 188, '365d08ee-fe6e-47c4-b567-a001212f2cb6', '', '', '', '', ''),
+(1383, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP in the preflight update (event)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:08:49', '2024-04-19 09:06:50', 7, '', 373, '9f9b030b-31ba-4ae9-88da-76efd8a140dc', '', '', '', '', ''),
+(1384, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP in the postflight update (event)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:09:20', '2024-04-19 09:01:50', 4, '', 188, '22a668bc-d169-4346-9929-3819673c67ac', '', '', '', '', ''),
+(1385, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP in the postflight update (event)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:09:39', '2024-04-19 09:02:23', 5, '', 373, 'ade283c3-937e-4502-a040-c69d6ddb3c50', '', '', '', '', ''),
+(1386, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP in the postflight install (event)', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:10:13', '2024-04-19 09:03:04', 6, '', 373, '8d837989-4a21-4943-bb4c-4d4abb9a7a55', '', '', '', '', ''),
+(1387, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP in the postflight install (event)', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:10:25', '2024-04-19 09:02:43', 3, '', 188, '3c1db8b4-65f2-4f6f-8391-5883f564eabe', '', '', '', '', ''),
+(1388, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add PHP to the uninstall method', 'NOT NULL', '', 17, '\" \"', 1, '2016-10-18 20:10:46', '2024-04-19 08:37:58', 4, '', 188, '70a2d820-64af-4f51-8b1a-522aed9572bf', '', '', '', '', ''),
+(1389, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'PHP in the uninstall method', 'NOT NULL', 2, 8, '\" \"', 1, '2016-10-18 20:11:08', '2024-04-19 08:39:09', 6, '', 373, 'e76cf555-112a-4021-9a1e-b4ee52d7be8a', '', '', '', '', ''),
(1390, '', '', '', '', '', '', '', '', '', '', 'CHAR', '', '', '', 'Note - MySql (tweak)', 'NOT NULL', '', 14, '\"<\\/span>\\\" \\r\\n\\theading=\\\"h4\\\" \\r\\n\\tclass=\\\"alert alert-info\\\" \\r\\n\\/>\"', 1, '2016-10-18 21:37:16', '2017-10-26 15:34:24', 5, '', 306, 'a8e6ebca-db4a-413b-a311-16fe560eb493', '', '', '', '', ''),
(1391, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Notice (custom)', 'NOT NULL', '', 6, '\"getQuery(true);\\\" \\r\\n\\ttype_php_3=\\\"$query->select($db->quoteName(array(\'a.###ID###\',\'a.###TEXT###\'),array(\'###ID###\',\'###CODE_TEXT###\')));\\\" \\r\\n\\ttype_php_4=\\\"$query->from($db->quoteName(\'###TABLE###\', \'a\'));\\\" \\r\\n\\ttype_php_5=\\\"$query->where($db->quoteName(\'a.published\') . \' = 1\');\\\" \\r\\n\\ttype_php_6=\\\"$query->order(\'a.###TEXT### ASC\');\\\" \\r\\n\\ttype_php_7=\\\"$db->setQuery((string)$query);\\\" \\r\\n\\ttype_php_8=\\\"$items = $db->loadObjectList();\\\" \\r\\n\\ttype_php_9=\\\"$options = array();\\\" \\r\\n\\ttype_php_10=\\\"if ($items)\\\" \\r\\n\\ttype_php_11=\\\"{\\\" \\r\\n\\ttype_php_12=\\\"\\\\t$options[] = JHtml::_(\'select.option\', \'\', \'Select a notice\');\\\" \\r\\n\\ttype_php_13=\\\"\\\\tforeach($items as $item)\\\" \\r\\n\\ttype_php_14=\\\"\\\\t{\\\" \\r\\n\\ttype_php_15=\\\"\\\\t\\\\t$options[] = JHtml::_(\'select.option\', $item->###ID###, $item->###CODE_TEXT###);\\\" \\r\\n\\ttype_php_16=\\\"\\\\t}\\\" \\r\\n\\ttype_php_17=\\\"}\\\" \\r\\n\\ttype_php_18=\\\"\\\" \\r\\n\\ttype_php_19=\\\"return $options;\\\" \\r\\n\\/>\"', 1, '2016-10-21 17:45:51', '2016-10-31 16:26:46', 4, '', 725, '7bc075cc-3058-43af-a458-a68812ac647c', '', '', '', '', ''),
(1392, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Notice (full width)', 'NOT NULL', '', 25, '\" \"', 1, '2016-10-21 21:44:25', '2016-10-21 21:44:31', 2, '', 265, '1b033aac-1a10-4e58-bbd2-77d5f96e841a', '', '', '', '', ''),
@@ -3722,7 +3725,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(1505, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', '', '', '', 'Email Send (error note)', 'NOT NULL', '', 14, '\" \"', 1, '2016-11-22 15:04:51', '2016-11-22 15:25:29', 5, '', 745, '951da0fc-b151-457a-b283-06ccd77e0504', '', '', '', '', ''),
(1506, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Document Placeholders', 'NOT NULL', '', 14, '\"Loading placeholders.<\\/span><\\/div>\\r\\n