Release of v5.0.0-alpha8
Add power path override option on component level. Fix the sql build feature. #1032.
This commit is contained in:
parent
2f64eec95b
commit
2b7b8f90e1
34
CHANGELOG.md
34
CHANGELOG.md
@ -1,3 +1,8 @@
|
||||
# v5.0.0-alpha8
|
||||
|
||||
- Add power path override option on component level.
|
||||
- Fix the sql build feature. #1032
|
||||
|
||||
# v5.0.0-alpha7
|
||||
|
||||
- Fix the search area layout.
|
||||
@ -37,18 +42,27 @@
|
||||
|
||||
- First alpha release of Component Builder towards Joomla 5 (very unstable...)
|
||||
|
||||
# v4.0.0-alpha7
|
||||
# v4.0.0-alpha8
|
||||
|
||||
- Add power path override option on component level.
|
||||
- Fix the sql build feature. #1032
|
||||
|
||||
# v3.2.0
|
||||
|
||||
- Fix #1053 so that the right and left tabs display correctly in Joomla 4&5
|
||||
- Move the old helper compiler files to powers
|
||||
- Move the old helper extrusion files to powers
|
||||
- Add Preferred Joomla Version to Components
|
||||
- Add custom file file mapping for Joomla 4 and 5
|
||||
- Fix the plug-in installer script builder bug #1068
|
||||
- Fix Event triggers for Joomla 4 and 5 builds.
|
||||
- Fix plugin field selection
|
||||
- Fix plugin params tab layout
|
||||
- Add issue templates
|
||||
- Force autoloader to always load
|
||||
- Add Factory class to the J5 Event class. #1093
|
||||
- Fix [Set String Value] in placeholder table to store the value as a base64 string.
|
||||
- Fix the search area layout.
|
||||
- Fix the search area code line selection.
|
||||
- Fix the input edit button for custom fields.
|
||||
- Add the new layout to list fields (GUI UPDATE)
|
||||
- Start fixing the field view in Joomla 4. #1096
|
||||
|
||||
# v3.2.0-beta10
|
||||
|
||||
- Fix the search area layout.
|
||||
- Fix the search area code line selection.
|
||||
- Fix the input edit button for custom fields.
|
||||
- Add the new layout to list fields (GUI UPDATE)
|
||||
- Start fixing the field view in Joomla 5.
|
@ -496,9 +496,6 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
|
||||
|
||||
// Remove Joomla_plugin_files_folders_urls from action logs config table.
|
||||
$this->removeActionLogConfig('com_componentbuilder.joomla_plugin_files_folders_urls');
|
||||
|
||||
// Remove Joomla_component from action logs config table.
|
||||
$this->removeActionLogConfig('com_componentbuilder.joomla_component');
|
||||
// little notice as after service, in case of bad experience with component.
|
||||
echo '<div style="background-color: #fff;" class="alert alert-info">
|
||||
<h2>Did something go wrong? Are you disappointed?</h2>
|
||||
@ -550,10 +547,22 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
|
||||
if (class_exists('\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper') &&
|
||||
method_exists('\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper', 'removeFolder'))
|
||||
{
|
||||
// path to the new compiler
|
||||
$jcb_powers = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla/src/Componentbuilder';
|
||||
// path to the compiler folders
|
||||
$jcb_powers = [];
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/vendor_jcb/VDM.Joomla/src/Componentbuilder';
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla/src/Componentbuilder';
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.FOF';
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Gitea';
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Openai';
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Joomla.Wasabi';
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Minify';
|
||||
$jcb_powers[] = JPATH_LIBRARIES . '/jcb_powers/VDM.Psr';
|
||||
|
||||
// we always remove all the old files to avoid mismatching
|
||||
\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper::removeFolder($jcb_powers);
|
||||
foreach ($jcb_powers as $jcb_power)
|
||||
{
|
||||
\VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper::removeFolder($jcb_power);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -595,11 +604,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_method_uninstall","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","buildcompsql":"buildcompsql","translation_tool":"translation_tool","add_sales_server":"add_sales_server","php_method_uninstall":"php_method_uninstall","php_preflight_install":"php_preflight_install","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","debug_linenr":"debug_linenr","php_site_event":"php_site_event","description":"description","author":"author","php_postflight_install":"php_postflight_install","email":"email","sql_uninstall":"sql_uninstall","website":"website","add_license":"add_license","backup_folder_path":"backup_folder_path","php_helper_both":"php_helper_both","crowdin_username":"crowdin_username","php_admin_event":"php_admin_event","license_type":"license_type","component_version":"component_version","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","sql":"sql","copyright":"copyright","addreadme":"addreadme","preferred_joomla_version":"preferred_joomla_version","update_server_url":"update_server_url","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_both":"add_php_helper_both","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","crowdin_project_api_key":"crowdin_project_api_key","creatuserhelper":"creatuserhelper","crowdin_account_api_key":"crowdin_account_api_key","adduikit":"adduikit","buildcomp":"buildcomp","addfootable":"addfootable","guid":"guid","add_email_helper":"add_email_helper","name":"name"}}',
|
||||
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_postflight_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"}}',
|
||||
// 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","translation_tool","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","add_php_helper_both","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","buildcomp","addfootable","add_email_helper"],"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","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"}]}'
|
||||
);
|
||||
// Install Joomla module Content Types.
|
||||
$this->setContentType(
|
||||
@ -1454,7 +1463,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
|
||||
|
||||
|
||||
// Fix the assets table rules column size.
|
||||
$this->setDatabaseAssetsRulesFix(99520, "MEDIUMTEXT");
|
||||
$this->setDatabaseAssetsRulesFix(99360, "MEDIUMTEXT");
|
||||
// Install the global extension params.
|
||||
$this->setExtensionsParams(
|
||||
'{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","super_powers_documentation":"0","powers_repository":"0","super_powers_repositories":"0","approved_paths":"default","add_custom_gitea_url":"1","custom_gitea_url":"https://git.vdm.dev","super_powers_core_organisation":"joomla","super_powers_core":"joomla/super-powers","builder_gif_size":"480-272","compiler_plugin":["componentbuilderactionlogcompiler","componentbuilderfieldorderingcompiler","componentbuilderheaderscompiler","componentbuilderpowersautoloadercompiler","componentbuilderprivacycompiler"],"add_menu_prefix":"1","menu_prefix":"»","namespace_prefix":"JCB","minify":"0","language":"en-GB","percentagelanguageadd":"30","assets_table_fix":"2","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","import_guid_only":"1","export_language_strings":"1","development_method":"1","expansion":"0","return_options_build":"2","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","add_jquery_framework":"1","uikit_load":"1","uikit_min":"","uikit_style":""}'
|
||||
@ -2251,22 +2260,6 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
|
||||
// textPrefix
|
||||
'COM_COMPONENTBUILDER'
|
||||
);
|
||||
|
||||
// Add Joomla_component to the action logs config table.
|
||||
$this->setActionLogConfig(
|
||||
// typeTitle
|
||||
'JOOMLA_COMPONENT',
|
||||
// typeAlias
|
||||
'com_componentbuilder.joomla_component',
|
||||
// idHolder
|
||||
'id',
|
||||
// titleHolder
|
||||
'system_name',
|
||||
// tableName
|
||||
'#__componentbuilder_joomla_component',
|
||||
// textPrefix
|
||||
'COM_COMPONENTBUILDER'
|
||||
);
|
||||
}
|
||||
|
||||
// do any updates needed
|
||||
@ -2284,11 +2277,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_method_uninstall","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","buildcompsql":"buildcompsql","translation_tool":"translation_tool","add_sales_server":"add_sales_server","php_method_uninstall":"php_method_uninstall","php_preflight_install":"php_preflight_install","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","debug_linenr":"debug_linenr","php_site_event":"php_site_event","description":"description","author":"author","php_postflight_install":"php_postflight_install","email":"email","sql_uninstall":"sql_uninstall","website":"website","add_license":"add_license","backup_folder_path":"backup_folder_path","php_helper_both":"php_helper_both","crowdin_username":"crowdin_username","php_admin_event":"php_admin_event","license_type":"license_type","component_version":"component_version","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","sql":"sql","copyright":"copyright","addreadme":"addreadme","preferred_joomla_version":"preferred_joomla_version","update_server_url":"update_server_url","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_both":"add_php_helper_both","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","crowdin_project_api_key":"crowdin_project_api_key","creatuserhelper":"creatuserhelper","crowdin_account_api_key":"crowdin_account_api_key","adduikit":"adduikit","buildcomp":"buildcomp","addfootable":"addfootable","guid":"guid","add_email_helper":"add_email_helper","name":"name"}}',
|
||||
'{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_postflight_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"}}',
|
||||
// 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","translation_tool","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","add_php_helper_both","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","buildcomp","addfootable","add_email_helper"],"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","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"}]}'
|
||||
);
|
||||
// Update Joomla module Content Types.
|
||||
$this->setContentType(
|
||||
@ -3146,7 +3139,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
|
||||
echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://dev.vdm.io" title="Component Builder">
|
||||
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
|
||||
</a>
|
||||
<h3>Upgrade to Version 5.0.0-alpha7 Was Successful! Let us know if anything is not working as expected.</h3></div>';
|
||||
<h3>Upgrade to Version 5.0.0-alpha8 Was Successful! Let us know if anything is not working as expected.</h3></div>';
|
||||
|
||||
// Add/Update component in the action logs extensions table.
|
||||
$this->setActionLogsExtensions();
|
||||
@ -3934,22 +3927,6 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
|
||||
// textPrefix
|
||||
'COM_COMPONENTBUILDER'
|
||||
);
|
||||
|
||||
// Add/Update Joomla_component in the action logs config table.
|
||||
$this->setActionLogConfig(
|
||||
// typeTitle
|
||||
'JOOMLA_COMPONENT',
|
||||
// typeAlias
|
||||
'com_componentbuilder.joomla_component',
|
||||
// idHolder
|
||||
'id',
|
||||
// titleHolder
|
||||
'system_name',
|
||||
// tableName
|
||||
'#__componentbuilder_joomla_component',
|
||||
// textPrefix
|
||||
'COM_COMPONENTBUILDER'
|
||||
);
|
||||
}
|
||||
|
||||
// move CLI files
|
||||
|
12
README.md
12
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 (5.0.0-alpha7) 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 (5.0.0-alpha8) 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,13 +144,13 @@ 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*: 26th March, 2024
|
||||
+ *Version*: 5.0.0-alpha7
|
||||
+ *Last Build*: 6th April, 2024
|
||||
+ *Version*: 5.0.0-alpha8
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **729022**
|
||||
+ *Field count*: **2078**
|
||||
+ *File count*: **5127**
|
||||
+ *Line count*: **730167**
|
||||
+ *Field count*: **2080**
|
||||
+ *File count*: **5133**
|
||||
+ *Folder count*: **518**
|
||||
|
||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||
|
@ -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 (5.0.0-alpha7) 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 (5.0.0-alpha8) 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,13 +144,13 @@ 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*: 26th March, 2024
|
||||
+ *Version*: 5.0.0-alpha7
|
||||
+ *Last Build*: 6th April, 2024
|
||||
+ *Version*: 5.0.0-alpha8
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **729022**
|
||||
+ *Field count*: **2078**
|
||||
+ *File count*: **5127**
|
||||
+ *Line count*: **730167**
|
||||
+ *Field count*: **2080**
|
||||
+ *File count*: **5133**
|
||||
+ *Folder count*: **518**
|
||||
|
||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||
|
@ -434,7 +434,6 @@
|
||||
<action name="language.access" title="COM_COMPONENTBUILDER_LANGUAGES_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC" />
|
||||
<action name="language.batch" title="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE" description="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE_DESC" />
|
||||
<action name="language.create" title="COM_COMPONENTBUILDER_LANGUAGES_CREATE" description="COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC" />
|
||||
<action name="language.dashboard_list" title="COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST_DESC" />
|
||||
<action name="language.delete" title="COM_COMPONENTBUILDER_LANGUAGES_DELETE" description="COM_COMPONENTBUILDER_LANGUAGES_DELETE_DESC" />
|
||||
<action name="language.edit" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_DESC" />
|
||||
<action name="language.edit.own" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN_DESC" />
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 20 KiB |
Binary file not shown.
Before Width: | Height: | Size: 35 KiB |
@ -160,32 +160,21 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_HINT"
|
||||
/>
|
||||
<!-- Buildcompsql Field. Type: Textarea. (joomla) -->
|
||||
<!-- Note_buildcomp_dynamic_mysql Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_buildcomp_dynamic_mysql" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_DESCRIPTION" heading="h4" class="alert alert-info note_buildcomp_dynamic_mysql" />
|
||||
<!-- Add_jcb_powers_path Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="buildcompsql"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL"
|
||||
rows="30"
|
||||
cols="15"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="raw"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Translation_tool Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
name="translation_tool"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_TRANSLATION_TOOL_LABEL"
|
||||
class="list_class"
|
||||
multiple="false"
|
||||
default="0">
|
||||
type="radio"
|
||||
name="add_jcb_powers_path"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JCB_POWERS_PATH_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JCB_POWERS_PATH_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="">
|
||||
<!-- Option Set. -->
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NONE</option>
|
||||
<option value="">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GLOBAL</option>
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN</option>
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OVERRIDE</option>
|
||||
</field>
|
||||
<!-- Add_sales_server Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
@ -201,14 +190,25 @@
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
|
||||
<!-- Php_method_uninstall Field. Type: Editor. (joomla) -->
|
||||
<!-- Sql_uninstall Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="sql_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_LABEL"
|
||||
rows="30"
|
||||
cols="15"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="raw"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Php_postflight_install Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_method_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_DESCRIPTION"
|
||||
name="php_postflight_install"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
@ -219,12 +219,14 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Php_preflight_install Field. Type: Editor. (joomla) -->
|
||||
<!-- Note_dynamic_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_dynamic_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_dynamic_dashboard" />
|
||||
<!-- Php_site_event Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_preflight_install"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
|
||||
name="php_site_event"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
@ -235,22 +237,6 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Css_admin Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="css_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="css"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Note_version_options_3 Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_version_options_3" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_3_DESCRIPTION" class="alert alert-info note_version_options_3" showon="mvc_versiondate:3" />
|
||||
<!-- Note_version_options_2 Field. Type: Note. A None Database Field. (joomla) -->
|
||||
@ -308,27 +294,28 @@
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Debug_linenr Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="debug_linenr"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Php_site_event Field. Type: Editor. (joomla) -->
|
||||
<!-- Php_helper_both Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_site_event"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_DESCRIPTION"
|
||||
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"
|
||||
/>
|
||||
<!-- Php_admin_event Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_admin_event"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
@ -351,8 +338,22 @@
|
||||
filter="HTML"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_HINT"
|
||||
/>
|
||||
<!-- Note_dynamic_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_dynamic_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_dynamic_dashboard" />
|
||||
<!-- Css_admin Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="css_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="css"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Author Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
@ -369,12 +370,12 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT"
|
||||
/>
|
||||
<!-- Php_postflight_install Field. Type: Editor. (joomla) -->
|
||||
<!-- Php_preflight_install Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_postflight_install"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_DESCRIPTION"
|
||||
name="php_preflight_install"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
@ -400,18 +401,21 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_HINT"
|
||||
/>
|
||||
<!-- Sql_uninstall Field. Type: Textarea. (joomla) -->
|
||||
<!-- Php_method_uninstall Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="sql_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_LABEL"
|
||||
rows="30"
|
||||
type="editor"
|
||||
name="php_method_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_HINT"
|
||||
required="true"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Website Field. Type: Url. (joomla) -->
|
||||
<field
|
||||
@ -429,8 +433,21 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_HINT"
|
||||
/>
|
||||
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
|
||||
<!-- Debug_linenr Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="debug_linenr"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Add_license Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -464,52 +481,6 @@
|
||||
autocomplete="on"
|
||||
showon="add_backup_folder_path:1"
|
||||
/>
|
||||
<!-- Php_helper_both Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
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"
|
||||
/>
|
||||
<!-- Crowdin_username Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="crowdin_username"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_MESSAGE"
|
||||
autocomplete="off"
|
||||
/>
|
||||
<!-- Php_admin_event Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_admin_event"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- License_type Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
@ -531,54 +502,32 @@
|
||||
<option value="4">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CUSTOM_USED_IN_CUSTOM_CODE</option>
|
||||
</field>
|
||||
<!-- Component_version Field. Type: Text. (joomla) -->
|
||||
<!-- Crowdin_project_identifier Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="component_version"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_LABEL"
|
||||
size="40"
|
||||
maxlength="50"
|
||||
default="1.0.0"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_DESCRIPTION"
|
||||
name="crowdin_project_identifier"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_HINT"
|
||||
/>
|
||||
<!-- Php_helper_admin Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_helper_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_MESSAGE"
|
||||
autocomplete="off"
|
||||
onchange="getTranslationToolDetails()"
|
||||
/>
|
||||
<!-- Note_whmcs_lisencing_note Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_whmcs_lisencing_note" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_DESCRIPTION" heading="h4" class="alert alert-success note_whmcs_lisencing_note" />
|
||||
<!-- Php_helper_site Field. Type: Editor. (joomla) -->
|
||||
<!-- Created Field. Type: Calendar. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_helper_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_DESCRIPTION"
|
||||
width="100%"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
type="calendar"
|
||||
name="created"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_DESCRIPTION"
|
||||
format="%Y-%m-%d %H:%M:%S"
|
||||
filter="user_utc"
|
||||
size="22"
|
||||
/>
|
||||
<!-- Whmcs_key Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
@ -593,18 +542,18 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_HINT"
|
||||
/>
|
||||
<!-- Javascript Field. Type: Editor. (joomla) -->
|
||||
<!-- Php_helper_admin Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="javascript"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION"
|
||||
name="php_helper_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="javascript"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
@ -624,18 +573,18 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_HINT"
|
||||
/>
|
||||
<!-- Css_site Field. Type: Editor. (joomla) -->
|
||||
<!-- Php_helper_site Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="css_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_DESCRIPTION"
|
||||
name="php_helper_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="css"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
@ -655,8 +604,22 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_HINT"
|
||||
/>
|
||||
<!-- Note_botton_component_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_botton_component_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_botton_component_dashboard" />
|
||||
<!-- Javascript Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="javascript"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="javascript"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- License Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
@ -671,6 +634,44 @@
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Css_site Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="css_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="css"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Bom Field. Type: Filelist. (joomla) -->
|
||||
<field
|
||||
type="filelist"
|
||||
name="bom"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_LABEL"
|
||||
directory="administrator/components/com_componentbuilder/compiler"
|
||||
default="default.txt"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_DESCRIPTION"
|
||||
filter="\.txt"
|
||||
hide_none="true"
|
||||
hide_default="true"
|
||||
/>
|
||||
<!-- Note_botton_component_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_botton_component_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_botton_component_dashboard" />
|
||||
<!-- Image Field. Type: Media. (joomla) -->
|
||||
<field
|
||||
type="media"
|
||||
name="image"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION"
|
||||
directory=""
|
||||
/>
|
||||
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
@ -687,17 +688,19 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Bom Field. Type: Filelist. (joomla) -->
|
||||
<!-- Copyright Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="filelist"
|
||||
name="bom"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_LABEL"
|
||||
directory="administrator/components/com_componentbuilder/compiler"
|
||||
default="default.txt"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_DESCRIPTION"
|
||||
filter="\.txt"
|
||||
hide_none="true"
|
||||
hide_default="true"
|
||||
type="textarea"
|
||||
name="copyright"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL"
|
||||
rows="7"
|
||||
cols="10"
|
||||
default="Copyright (C) 2015. All Rights Reserved"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="SAFEHTML"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Php_postflight_update Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
@ -715,14 +718,8 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Image Field. Type: Media. (joomla) -->
|
||||
<field
|
||||
type="media"
|
||||
name="image"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION"
|
||||
directory=""
|
||||
/>
|
||||
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
|
||||
<!-- Sql Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
@ -736,20 +733,8 @@
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Copyright Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="copyright"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL"
|
||||
rows="7"
|
||||
cols="10"
|
||||
default="Copyright (C) 2015. All Rights Reserved"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="SAFEHTML"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
|
||||
<!-- Addreadme Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -763,16 +748,20 @@
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Preferred_joomla_version Field. Type: Number. (joomla) -->
|
||||
<!-- Component_version Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="number"
|
||||
name="preferred_joomla_version"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PREFERRED_JOOMLA_VERSION_LABEL"
|
||||
default="3"
|
||||
type="text"
|
||||
name="component_version"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_LABEL"
|
||||
size="40"
|
||||
maxlength="50"
|
||||
default="1.0.0"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_DESCRIPTION"
|
||||
class="text_area"
|
||||
min="3"
|
||||
max="5"
|
||||
step="1"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_HINT"
|
||||
/>
|
||||
<!-- Update_server_url Field. Type: Url. (joomla) -->
|
||||
<field
|
||||
@ -789,6 +778,19 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_HINT"
|
||||
/>
|
||||
<!-- Preferred_joomla_version Field. Type: Number. (joomla) -->
|
||||
<field
|
||||
type="number"
|
||||
name="preferred_joomla_version"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PREFERRED_JOOMLA_VERSION_LABEL"
|
||||
default="3"
|
||||
class="text_area"
|
||||
min="3"
|
||||
max="5"
|
||||
step="1"
|
||||
/>
|
||||
<!-- Note_update_server_note_other Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_update_server_note_other" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_other" />
|
||||
<!-- Add_powers Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -804,14 +806,6 @@
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Note_update_server_note_other Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_update_server_note_other" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_other" />
|
||||
<!-- Not_required Field. Type: Hidden. (joomla) -->
|
||||
<field
|
||||
type="hidden"
|
||||
name="not_required"
|
||||
default="一_一"
|
||||
/>
|
||||
<!-- Add_backup_folder_path Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -826,59 +820,65 @@
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OVERRIDE</option>
|
||||
</field>
|
||||
<!-- Note_moved_views Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_moved_views" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_DESCRIPTION" heading="h4" class="alert alert-info note_moved_views" />
|
||||
<!-- Not_required Field. Type: Hidden. (joomla) -->
|
||||
<field
|
||||
type="hidden"
|
||||
name="not_required"
|
||||
default="一_一"
|
||||
/>
|
||||
<!-- Note_git_folder_path Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_git_folder_path" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_GIT_FOLDER_PATH_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_GIT_FOLDER_PATH_DESCRIPTION" heading="h4" class="alert alert-info note_git_folder_path" showon="add_git_folder_path:1" />
|
||||
<!-- Note_moved_views Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_moved_views" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_DESCRIPTION" heading="h4" class="alert alert-info note_moved_views" />
|
||||
<!-- Translation_tool Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
name="translation_tool"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_TRANSLATION_TOOL_LABEL"
|
||||
class="list_class"
|
||||
multiple="false"
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NONE</option>
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN</option>
|
||||
</field>
|
||||
<!-- Spacer_hr_1 Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||
<field type="spacer" name="spacer_hr_1" hr="true" class="spacer_hr_1" />
|
||||
<!-- Crowdin_project_identifier Field. Type: Text. (joomla) -->
|
||||
<!-- Crowdin_username Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="crowdin_project_identifier"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_LABEL"
|
||||
name="crowdin_username"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_DESCRIPTION"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_MESSAGE"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_MESSAGE"
|
||||
autocomplete="off"
|
||||
onchange="getTranslationToolDetails()"
|
||||
/>
|
||||
<!-- Note_mysql_tweak_options Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_mysql_tweak_options" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_DESCRIPTION" heading="h4" class="alert alert-info note_mysql_tweak_options" />
|
||||
<!-- Note_buildcomp_dynamic_mysql Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_buildcomp_dynamic_mysql" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_DESCRIPTION" heading="h4" class="alert alert-info note_buildcomp_dynamic_mysql" />
|
||||
<!-- Buildcompsql Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="buildcompsql"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL"
|
||||
rows="30"
|
||||
cols="15"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="raw"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Spacer_hr_2 Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||
<field type="spacer" name="spacer_hr_2" hr="true" class="spacer_hr_2" />
|
||||
<!-- Created Field. Type: Calendar. (joomla) -->
|
||||
<field
|
||||
type="calendar"
|
||||
name="created"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_DESCRIPTION"
|
||||
format="%Y-%m-%d %H:%M:%S"
|
||||
filter="user_utc"
|
||||
size="22"
|
||||
/>
|
||||
<!-- Note_add_custom_menus Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_add_custom_menus" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CUSTOM_MENUS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CUSTOM_MENUS_DESCRIPTION" heading="h4" class="alert alert-info note_add_custom_menus" />
|
||||
<!-- Add_php_helper_both Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_php_helper_both"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH_LABEL"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Spacer_hr_3 Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||
<field type="spacer" name="spacer_hr_3" hr="true" class="spacer_hr_3" />
|
||||
<!-- Add_php_helper_admin Field. Type: Radio. (joomla) -->
|
||||
@ -1512,25 +1512,25 @@
|
||||
/>
|
||||
<!-- Note_on_custom_admin_views Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_on_custom_admin_views" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_CUSTOM_ADMIN_VIEWS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_CUSTOM_ADMIN_VIEWS_DESCRIPTION" heading="h4" class="alert alert-info note_on_custom_admin_views" />
|
||||
<!-- Note_crowdin Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_crowdin" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_CROWDIN_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_CROWDIN_DESCRIPTION" heading="h2" class="note_crowdin" />
|
||||
<!-- Note_display_component_custom_admin_views Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_display_component_custom_admin_views" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DISPLAY_COMPONENT_CUSTOM_ADMIN_VIEWS_DESCRIPTION" class="note_display_component_custom_admin_views" />
|
||||
<!-- Crowdin_project_api_key Field. Type: Text. (joomla) -->
|
||||
<!-- Jcb_powers_path Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="crowdin_project_api_key"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_LABEL"
|
||||
size="50"
|
||||
name="jcb_powers_path"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_LABEL"
|
||||
size="70"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_DESCRIPTION"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="ALNUM"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_MESSAGE"
|
||||
autocomplete="off"
|
||||
onchange="getTranslationToolDetails()"
|
||||
filter="PATH"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_HINT"
|
||||
autocomplete="on"
|
||||
showon="add_jcb_powers_path:1"
|
||||
/>
|
||||
<!-- Note_display_component_custom_admin_views Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_display_component_custom_admin_views" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DISPLAY_COMPONENT_CUSTOM_ADMIN_VIEWS_DESCRIPTION" class="note_display_component_custom_admin_views" />
|
||||
<!-- Note_crowdin Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_crowdin" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_CROWDIN_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_CROWDIN_DESCRIPTION" heading="h2" class="note_crowdin" />
|
||||
<!-- Creatuserhelper Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -1545,18 +1545,20 @@
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Crowdin_account_api_key Field. Type: Text. (joomla) -->
|
||||
<!-- Crowdin_project_api_key Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="crowdin_account_api_key"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_LABEL"
|
||||
name="crowdin_project_api_key"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_DESCRIPTION"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="ALNUM"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_MESSAGE"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_MESSAGE"
|
||||
autocomplete="off"
|
||||
onchange="getTranslationToolDetails()"
|
||||
/>
|
||||
<!-- Adduikit Field. Type: List. (joomla) -->
|
||||
<field
|
||||
@ -1576,21 +1578,19 @@
|
||||
<option value="3">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UIKIT_V3</option>
|
||||
</field>
|
||||
<!-- Buildcomp Field. Type: Radio. (joomla) -->
|
||||
<!-- Crowdin_account_api_key Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="buildcomp"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
type="text"
|
||||
name="crowdin_account_api_key"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_DESCRIPTION"
|
||||
class="text_area"
|
||||
filter="ALNUM"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_MESSAGE"
|
||||
autocomplete="off"
|
||||
/>
|
||||
<!-- Addfootable Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
@ -1609,6 +1609,36 @@
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_FOOTABLE_V2</option>
|
||||
</field>
|
||||
<!-- Buildcomp Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="buildcomp"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Add_email_helper Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_email_helper"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Guid Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
@ -1623,12 +1653,11 @@
|
||||
validate="guid"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_HINT"
|
||||
/>
|
||||
<!-- Add_email_helper Field. Type: Radio. (joomla) -->
|
||||
<!-- Add_php_helper_both Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_email_helper"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_DESCRIPTION"
|
||||
name="add_php_helper_both"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH_LABEL"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
|
@ -4298,7 +4298,6 @@ COM_COMPONENTBUILDER_DASH="Dashboard"
|
||||
COM_COMPONENTBUILDER_DASHBOARD="Component Builder Dashboard"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_ADD_RECORD="Dashboard (add record)"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_ADMIN_VIEWS="Admin Views<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_COMPILER="Compiler<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_CUSTOM_ADMIN_VIEWS="Custom Admin Views<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_CUSTOM_CODES="Custom Codes<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_DYNAMIC_GETS="Dynamic Gets<br /><br />"
|
||||
@ -4314,7 +4313,6 @@ COM_COMPONENTBUILDER_DASHBOARD_IMPORTJCBPACKAGES="Import JCB Packages<br /><br /
|
||||
COM_COMPONENTBUILDER_DASHBOARD_JOOMLA_COMPONENTS="Joomla Components<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_JOOMLA_MODULES="Joomla Modules<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_JOOMLA_PLUGINS="Joomla Plugins<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_LANGUAGES="Languages<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_LANGUAGE_TRANSLATIONS="Language Translations<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_LAYOUTS="Layouts<br /><br />"
|
||||
COM_COMPONENTBUILDER_DASHBOARD_LIBRARIES="Libraries<br /><br />"
|
||||
@ -5726,6 +5724,8 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_FOOTABLE_V3="Add FooTable V3"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_GIT_FOLDER_PATH_DESCRIPTION="Would you like to override the global git folder path for this component?"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_GIT_FOLDER_PATH_LABEL="Git Folder Path"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JAVASCRIPT_LABEL="Add Javascript"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JCB_POWERS_PATH_DESCRIPTION="Would you like to override the global jcb powers path for this component?"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JCB_POWERS_PATH_LABEL="JCB Powers Path"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_DESCRIPTION="Add the option to use the whmcs license add-on in the component."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_LABEL="Add WHMCS<br /><small>(license add-on)</small>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_MENU_PREFIX_DESCRIPTION="Would you like to add a prefix to the Joomla menu name of this component"
|
||||
@ -5830,7 +5830,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_LABEL="Description"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DETAILS="Details"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DO_NOT_ADD_FIX_EVER="Do not add fix ever"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC="Dynamic"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_BUILD_BETA="Dynamic Build (beta)"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_BUILD="Dynamic Build"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_INTEGRATION="Dynamic Integration"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EDIT="Editing the Joomla Component"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL="Email"
|
||||
@ -5871,6 +5871,10 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION="Add JavaScript for
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL="Javascript"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_EXPORT_PACKAGE_NOTE_DESCRIPTION="The settings below are used when you export this component as a JCB Package, for more info on how this works please review the following tutorial (<a href='https://youtu.be/lkE0ZiSWufg' target='_blank'>https://youtu.be/lkE0ZiSWufg</a>)."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_EXPORT_PACKAGE_NOTE_LABEL="JCB Package Export Settings"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_DESCRIPTION="Here you can set the path to the powers folder. Recommended that you always place it inside the <b>libraries</b>. You don't need to add a full path here, so <b>libraries/jcb_powers</b> will mean <i>/home/username/public_html/libraries/jcb_powers</i> when installed. You should always use two folders here, libraries + one more for example: <br /><code>libraries/jcb_powers</code>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_HINT="libraries/jcb_powers"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_LABEL="JCB Powers Path<br /><small>example: <code>libraries/jcb_powers</code></small>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JCB_POWERS_PATH_MESSAGE="Error! Please add folder path here."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JOOMLA_SOURCE_LINK_DESCRIPTION="Enter link where this Joomla component's source code can be found on gitHub. Where those who want to use this package, can review and contribute to the code."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JOOMLA_SOURCE_LINK_HINT="https://github.com/vdm-io/Joomla-Component-Builder"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JOOMLA_SOURCE_LINK_LABEL="Joomla Source Link<br /><small>(where the Joomla source code is found)</small>"
|
||||
@ -5918,8 +5922,8 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BACKUP_FOLDER_PATH_DESCRIPTION="You c
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BACKUP_FOLDER_PATH_LABEL="Adding a backup folder export option"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_DESCRIPTION="<p>The default dashboard has all the icons of the views you have selected as <b>Dashboard (add record)</b> or <b>Dashboard (list of records)</b>, to expand it you can add more tabs.</p><span id='jform_button_component_dashboard'></span>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_LABEL="Default Dashboard Option"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_DESCRIPTION="You can dynamically build the components back-end views and fields by adding a mySql table dump, that has all the tables, or some more tables with its columns and data types. A very basic and generic set of fields and tables will be created, and added to the existing fields and tables of this component."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_LABEL="Dynamic Builder (mySql) Option"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_DESCRIPTION="<p>You can dynamically build the components back-end views and fields by adding a MySQL table dump that includes all or additional tables with their respective columns and data types. A basic and generic set of fields and tables will be created and integrated with the existing fields and tables of this component.</p><p>It is critical that the SQL provided be valid; otherwise, the process will fail. Additionally, you have the option to specify the field type and other properties directly in the MySQL column <b>COMMENT</b>. This is done using JSON formatting in the comments section of each column/field.</p><p>For example, to define a field as a list with predefined options, use the following comment format:<br><code>COMMENT '{"type":"List", "label":"Name"}'</code></p><p>This JSON format allows you to specify various field properties, such as "type", "label", and "option", which will be used to generate corresponding fields in the JCB Field configuration area.</p>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_LABEL="Dynamic Builder (MySql) Option"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_COMPONENT_FILES_FOLDERS_DESCRIPTION="You can add custom files and folders to the component, simply add the files to the administrator/components/com_componentbuilder/custom folder and then select them here.<span id='jform_button_component_files_folders'></span>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_COMPONENT_FILES_FOLDERS_LABEL="Adding Custom Files & Folder"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_CROWDIN_DESCRIPTION="<div class='alert alert-warning'><h4>Feature not ready?</h4><p>We are still working on this integration, so it is not fully ready.</p></div><div id='crowdin_information_box'><div class='alert alert-info'><h4>How to use Crowdin with JCB?</h4><p>You will need an account with Crowdin https://crowdin.com/, then setup a project following these steps https://support.crowdin.com/creating-project/<br />Once your project is created get the project API key following these steps https://support.crowdin.com/api/api-integration-setup/<br />Then add the Project API key and identifier details below, and your done! Next time you compile this component JCB will automatically sync your project with Crowdin.</p></div></div><div id='crowdin_success_box'></div><div id='crowdin_error_box'></div>"
|
||||
@ -6983,8 +6987,6 @@ COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE="Languages Batch Use"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE_DESC="Allows the users in this group to use batch copy/update method of batch languages"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_CREATE="Languages Create"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC="Allows the users in this group to create create languages"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST="Languages Dashboard List"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of language"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DELETE="Languages Delete"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DELETE_DESC="Allows the users in this group to delete delete languages"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_EDIT="Languages Edit"
|
||||
@ -7666,7 +7668,6 @@ COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND="No Components Found"
|
||||
COM_COMPONENTBUILDER_NO_COMPONENTS_WERE_SELECTED_PLEASE_MAKE_A_SELECTION_AND_TRY_AGAIN="No components were selected, please make a selection and try again!"
|
||||
COM_COMPONENTBUILDER_NO_COMPONENT_DETAILS_FOUND_SO_IT_IS_NOT_SAFE_TO_CONTINUE="No component details found, so it is not safe to continue!"
|
||||
COM_COMPONENTBUILDER_NO_COMPONENT_WAS_SELECTED_PLEASE_MAKE_A_SELECTION_OF_ONE_COMPONENT_AND_TRY_AGAIN="No component was selected, please make a selection of one component and try again!"
|
||||
COM_COMPONENTBUILDER_NO_CREATE_TABLE_WERE_FOUND_PLEASE_CHECK_YOUR_SQL="No "CREATE TABLE.." were found, please check your sql."
|
||||
COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_FOR_S="No cronjob path found for (%s)"
|
||||
COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_SINCE_INCORRECT_TYPE_REQUESTED="No cronjob path found since incorrect type requested."
|
||||
COM_COMPONENTBUILDER_NO_DESCRIPTION_FOUND="No description found."
|
||||
@ -7807,7 +7808,7 @@ COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST="Please first m
|
||||
COM_COMPONENTBUILDER_PLEASE_NOTE_THAT_THIS_PACKAGE_BHAS_NOB_CHECKSUM_VALIDATION="Please note that this package <b>has no</b> checksum validation!"
|
||||
COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE="Please select a component that you would like to compile."
|
||||
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_LATER="Please try again later"
|
||||
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_THIS_ERROR_USUALY_HAPPENS_IF_IT_IS_A_NEW_COMPONENT_BEACUES_WE_NEED_A_COMPONENT_ID_TO_DO_THIS_BUILD_WITH_YOUR_SQL_DUMP="Please try again, this error usualy happens if it is a new component, beacues we need a component ID to do this build with your sql dump."
|
||||
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_THIS_ERROR_USUALLY_HAPPENS_IF_IT_IS_A_NEW_COMPONENT_BECAUSE_WE_NEED_A_COMPONENT_ID_TO_DO_THIS_BUILD_WITH_YOUR_SQL_DUMP="Please try again, this error usually happens if it is a new component, because we need a component ID to do this build with your sql dump."
|
||||
COM_COMPONENTBUILDER_PLEASE_WAIT="Please wait!"
|
||||
COM_COMPONENTBUILDER_PLEASE_WAIT_LOADING="Please wait, loading"
|
||||
COM_COMPONENTBUILDER_PLUGIN="Plugin"
|
||||
@ -8852,7 +8853,6 @@ COM_COMPONENTBUILDER_START_A_SEARCH="Start a Search"
|
||||
COM_COMPONENTBUILDER_STOP_A_SEARCH="Stop a Search"
|
||||
COM_COMPONENTBUILDER_SUBMENU="Submenu"
|
||||
COM_COMPONENTBUILDER_SUBMENU_ADMIN_VIEWS="Admin Views"
|
||||
COM_COMPONENTBUILDER_SUBMENU_COMPILER="Compiler"
|
||||
COM_COMPONENTBUILDER_SUBMENU_CUSTOM_ADMIN_VIEWS="Custom Admin Views"
|
||||
COM_COMPONENTBUILDER_SUBMENU_CUSTOM_CODES="Custom Codes"
|
||||
COM_COMPONENTBUILDER_SUBMENU_DASHBOARD="Dashboard"
|
||||
|
@ -832,8 +832,6 @@ COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE="Languages Batch Use"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE_DESC="Allows the users in this group to use batch copy/update method of batch languages"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_CREATE="Languages Create"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC="Allows the users in this group to create create languages"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST="Languages Dashboard List"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of language"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DELETE="Languages Delete"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_DELETE_DESC="Allows the users in this group to delete delete languages"
|
||||
COM_COMPONENTBUILDER_LANGUAGES_EDIT="Languages Edit"
|
||||
@ -966,7 +964,6 @@ COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS="Library Get Snippets Bu
|
||||
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS_DESC="Allows the users in this group to access the get snippets button."
|
||||
COM_COMPONENTBUILDER_MENU="✓ Component Builder"
|
||||
COM_COMPONENTBUILDER_MENU_ADMIN_VIEWS="Admin Views"
|
||||
COM_COMPONENTBUILDER_MENU_COMPILER="Compiler"
|
||||
COM_COMPONENTBUILDER_MENU_CUSTOM_ADMIN_VIEWS="Custom Admin Views"
|
||||
COM_COMPONENTBUILDER_MENU_CUSTOM_CODES="Custom Codes"
|
||||
COM_COMPONENTBUILDER_MENU_DASHBOARD="Dashboard"
|
||||
@ -978,14 +975,12 @@ COM_COMPONENTBUILDER_MENU_HELP_DOCUMENTS="Help Documents"
|
||||
COM_COMPONENTBUILDER_MENU_JOOMLA_COMPONENTS="Joomla Components"
|
||||
COM_COMPONENTBUILDER_MENU_JOOMLA_MODULES="Joomla Modules"
|
||||
COM_COMPONENTBUILDER_MENU_JOOMLA_PLUGINS="Joomla Plugins"
|
||||
COM_COMPONENTBUILDER_MENU_LANGUAGES="Languages"
|
||||
COM_COMPONENTBUILDER_MENU_LANGUAGE_TRANSLATIONS="Language Translations"
|
||||
COM_COMPONENTBUILDER_MENU_LAYOUTS="Layouts"
|
||||
COM_COMPONENTBUILDER_MENU_LIBRARIES="Libraries"
|
||||
COM_COMPONENTBUILDER_MENU_PLACEHOLDERS="Placeholders"
|
||||
COM_COMPONENTBUILDER_MENU_POWERS="Powers"
|
||||
COM_COMPONENTBUILDER_MENU_SEARCH="Search"
|
||||
COM_COMPONENTBUILDER_MENU_SERVERS="Servers"
|
||||
COM_COMPONENTBUILDER_MENU_SITE_VIEWS="Site Views"
|
||||
COM_COMPONENTBUILDER_MENU_SNIPPETS="Snippets"
|
||||
COM_COMPONENTBUILDER_MENU_TEMPLATES="Templates"
|
||||
|
@ -40,7 +40,9 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
||||
'backup_folder_path',
|
||||
'add_git_folder_path',
|
||||
'note_git_folder_path',
|
||||
'git_folder_path'
|
||||
'git_folder_path',
|
||||
'add_jcb_powers_path',
|
||||
'jcb_powers_path'
|
||||
);
|
||||
|
||||
$hiddenFields = $displayData->get('hidden_fields') ?: [];
|
||||
|
@ -13,6 +13,9 @@ use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die;
|
||||
@ -21,9 +24,250 @@ defined('_JEXEC') or die;
|
||||
$items = $displayData->vymlinked_components;
|
||||
$user = Factory::getApplication()->getIdentity();
|
||||
$id = $displayData->item->id;
|
||||
|
||||
// set the edit URL
|
||||
$edit = "index.php?option=com_componentbuilder&view=joomla_components&task=joomla_component.edit";
|
||||
// set a return value
|
||||
$return = ($id) ? "index.php?option=com_componentbuilder&view=server&layout=edit&id=" . $id : "";
|
||||
// check for a return value
|
||||
$jinput = Factory::getApplication()->input;
|
||||
if ($_return = $jinput->get('return', null, 'base64'))
|
||||
{
|
||||
$return .= "&return=" . $_return;
|
||||
}
|
||||
// check if return value was set
|
||||
if (StringHelper::check($return))
|
||||
{
|
||||
// set the referral values
|
||||
$ref = ($id) ? "&ref=server&refid=" . $id . "&return=" . urlencode(base64_encode($return)) : "&return=" . urlencode(base64_encode($return));
|
||||
}
|
||||
else
|
||||
{
|
||||
$ref = ($id) ? "&ref=server&refid=" . $id : "";
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="form-vertical">
|
||||
oops! error.....
|
||||
<?php if (ArrayHelper::check($items)): ?>
|
||||
<table class="footable table data joomla_components" data-show-toggle="true" data-toggle-column="first" data-sorting="true" data-paging="true" data-paging-size="20" data-filtering="true">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-type="html" data-sort-use="text">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SYSTEM_NAME_LABEL'); ?>
|
||||
</th>
|
||||
<th data-breakpoints="xs sm" data-type="html" data-sort-use="text">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CODE_NAME'); ?>
|
||||
</th>
|
||||
<th data-breakpoints="xs sm" data-type="html" data-sort-use="text">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DESCRIPTION'); ?>
|
||||
</th>
|
||||
<th data-breakpoints="xs sm md" data-type="html" data-sort-use="text">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_COMPANY_DETAILS'); ?>
|
||||
</th>
|
||||
<th width="10" data-breakpoints="xs sm md">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_STATUS'); ?>
|
||||
</th>
|
||||
<th width="5" data-type="number" data-breakpoints="xs sm md">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ID'); ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($items as $i => $item): ?>
|
||||
<?php
|
||||
$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out == $user->id || $item->checked_out == 0;
|
||||
$userChkOut = Factory::getContainer()->
|
||||
get(\Joomla\CMS\User\UserFactoryInterface::class)->
|
||||
loadUserById($item->checked_out);
|
||||
$canDo = ComponentbuilderHelper::getActions('joomla_component',$item,'joomla_components');
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<?php if ($canDo->get('joomla_component.edit')): ?>
|
||||
<a href="<?php echo $edit; ?>&id=<?php echo $item->id; ?><?php echo $ref; ?>"><?php echo $displayData->escape($item->system_name); ?></a>
|
||||
<?php if ($item->checked_out): ?>
|
||||
<?php echo Html::_('jgrid.checkedout', $i, $userChkOut->name, $item->checked_out_time, 'joomla_components.', $canCheckin); ?>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<?php echo $displayData->escape($item->system_name); ?>
|
||||
<?php endif; ?>
|
||||
- <?php echo $this->escape($item->component_version); ?>
|
||||
</div>
|
||||
<?php
|
||||
// always make sure the $this->return_here is set
|
||||
if (!isset($this->return_here))
|
||||
{
|
||||
$this->return_here = urlencode(base64_encode((string) Uri::getInstance()));
|
||||
}
|
||||
// setup the buttons
|
||||
if (!isset($_buttons) || !ArrayHelper::check($_buttons))
|
||||
{
|
||||
$_buttons = array();
|
||||
$_buttons[0] = array(
|
||||
array(
|
||||
'view' => 'component_admin_views',
|
||||
'views' => 'components_admin_views',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_ADMIN_VIEWS'),
|
||||
'icon' => 'stack'),
|
||||
array(
|
||||
'view' => 'component_custom_admin_views',
|
||||
'views' => 'components_custom_admin_views',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_VIEWS'),
|
||||
'icon' => 'screen'),
|
||||
array(
|
||||
'view' => 'component_site_views',
|
||||
'views' => 'components_site_views',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_SITE_VIEWS'),
|
||||
'icon' => 'palette'),
|
||||
array(
|
||||
'view' => 'component_router',
|
||||
'views' => 'components_routers',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_SITE_ROUTER'),
|
||||
'icon' => 'tree-2'),
|
||||
array(
|
||||
'view' => 'component_config',
|
||||
'views' => 'components_config',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_CONFIG'),
|
||||
'icon' => 'options')
|
||||
);
|
||||
$_buttons[1] = array(
|
||||
array(
|
||||
'view' => 'component_placeholders',
|
||||
'views' => 'components_placeholders',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_PLACEHOLDERS'),
|
||||
'icon' => 'search'),
|
||||
array(
|
||||
'view' => 'component_updates',
|
||||
'views' => 'components_updates',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_UPDATES'),
|
||||
'icon' => 'database'),
|
||||
array(
|
||||
'view' => 'component_mysql_tweaks',
|
||||
'views' => 'components_mysql_tweaks',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_MYSQL_TWEAKS'),
|
||||
'icon' => 'screwdriver'),
|
||||
array(
|
||||
'view' => 'component_files_folders',
|
||||
'views' => 'components_files_folders',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_FILES_FOLDERS'),
|
||||
'icon' => 'briefcase')
|
||||
);
|
||||
$_buttons[2] = array(
|
||||
array(
|
||||
'view' => 'component_custom_admin_menus',
|
||||
'views' => 'components_custom_admin_menus',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_MENUS'),
|
||||
'icon' => 'plus'),
|
||||
array(
|
||||
'view' => 'component_dashboard',
|
||||
'views' => 'components_dashboard',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_DASHBOARD'),
|
||||
'icon' => 'dashboard'),
|
||||
array(
|
||||
'view' => 'component_modules',
|
||||
'views' => 'components_modules',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_MODULES'),
|
||||
'icon' => 'cube'),
|
||||
array(
|
||||
'view' => 'component_plugins',
|
||||
'views' => 'components_plugins',
|
||||
'title' => Text::_('COM_COMPONENTBUILDER_THE_COMPONENT_PLUGINS'),
|
||||
'icon' => 'power-cord')
|
||||
);
|
||||
}
|
||||
?>
|
||||
<div class="btn-group" style="margin: 5px 0 0 0;">
|
||||
<?php foreach ($_buttons[0] as $_button): ?>
|
||||
<?php if ($canDo->get($_button['view'].'.edit') && ($id = GetHelper::var($_button['view'], $item->id, 'joomla_component', 'id')) !== false): ?>
|
||||
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&id=<?php echo $id; ?>&return=<?php echo $this->return_here; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
|
||||
<?php elseif ($canDo->get($_button['view'].'.create')): ?>
|
||||
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&ref=joomla_component&refid=<?php echo $item->id; ?>&return=<?php echo $this->return_here; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
<?php echo $displayData->escape($item->name_code); ?>
|
||||
</div>
|
||||
<div class="btn-group" style="margin: 5px 0 0 0;">
|
||||
<?php foreach ($_buttons[1] as $_button): ?>
|
||||
<?php if ($canDo->get($_button['view'].'.edit') && ($id = GetHelper::var($_button['view'], $item->id, 'joomla_component', 'id')) !== false): ?>
|
||||
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&id=<?php echo $id; ?>&return=<?php echo $this->return_here; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
|
||||
<?php elseif ($canDo->get($_button['view'].'.create')): ?>
|
||||
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&ref=joomla_component&refid=<?php echo $item->id; ?>&return=<?php echo $this->return_here; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
<?php echo $displayData->escape($item->short_description); ?>
|
||||
</div>
|
||||
<div class="btn-group" style="margin: 5px 0 0 0;">
|
||||
<?php foreach ($_buttons[2] as $_button): ?>
|
||||
<?php if ($canDo->get($_button['view'].'.edit') && ($id = GetHelper::var($_button['view'], $item->id, 'joomla_component', 'id')) !== false): ?>
|
||||
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&id=<?php echo $id; ?>&return=<?php echo $this->return_here; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
|
||||
<?php elseif ($canDo->get($_button['view'].'.create')): ?>
|
||||
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&ref=joomla_component&refid=<?php echo $item->id; ?>&return=<?php echo $this->return_here; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div><b><?php echo $this->escape($item->companyname); ?></b><br />
|
||||
<?php if (StringHelper::check($item->author)) : ?>
|
||||
<em><?php echo $this->escape($item->author); ?><em><br />
|
||||
<?php endif; ?>
|
||||
<?php if (StringHelper::check($item->email) && StringHelper::check($item->author)) : ?>
|
||||
<a href="mailto:<?php echo $this->escape($item->email); ?>" title="<?php echo Text::sprintf('COM_COMPONENTBUILDER_EMAIL_S', $item->author); ?>" target="_blank">
|
||||
<?php echo $this->escape($item->email); ?>
|
||||
</a>
|
||||
<br />
|
||||
<?php endif; ?>
|
||||
<?php if (StringHelper::check($item->website) && StringHelper::check($item->author)) : ?>
|
||||
<a href="<?php echo $this->escape($item->website); ?>" title="<?php echo Text::sprintf('COM_COMPONENTBUILDER_WEBSITE_OF_S', $item->companyname); ?>" target="_blank">
|
||||
<?php echo $this->escape($item->website); ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</td>
|
||||
<?php if ($item->published == 1): ?>
|
||||
<td class="center" data-sort-value="1">
|
||||
<span class="status-metro status-published" title="<?php echo Text::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>
|
||||
</span>
|
||||
</td>
|
||||
<?php elseif ($item->published == 0): ?>
|
||||
<td class="center" data-sort-value="2">
|
||||
<span class="status-metro status-inactive" title="<?php echo Text::_('COM_COMPONENTBUILDER_INACTIVE'); ?>">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_INACTIVE'); ?>
|
||||
</span>
|
||||
</td>
|
||||
<?php elseif ($item->published == 2): ?>
|
||||
<td class="center" data-sort-value="3">
|
||||
<span class="status-metro status-archived" title="<?php echo Text::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>
|
||||
</span>
|
||||
</td>
|
||||
<?php elseif ($item->published == -2): ?>
|
||||
<td class="center" data-sort-value="4">
|
||||
<span class="status-metro status-trashed" title="<?php echo Text::_('COM_COMPONENTBUILDER_TRASHED'); ?>">
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_TRASHED'); ?>
|
||||
</span>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
<td class="nowrap center hidden-phone">
|
||||
<?php echo $item->id; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php else: ?>
|
||||
<div class="alert alert-no-items">
|
||||
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
@ -22,12 +22,12 @@ if (file_exists($composer_autoloader))
|
||||
\spl_autoload_register(function ($class) {
|
||||
// project-specific base directories and namespace prefix
|
||||
$search = [
|
||||
'libraries/jcb_powers/VDM.Joomla.Openai' => 'VDM\\Joomla\\Openai',
|
||||
'libraries/jcb_powers/VDM.Joomla.Gitea' => 'VDM\\Joomla\\Gitea',
|
||||
'libraries/jcb_powers/VDM.Joomla.FOF' => 'VDM\\Joomla\\FOF',
|
||||
'libraries/jcb_powers/VDM.Joomla' => 'VDM\\Joomla',
|
||||
'libraries/jcb_powers/VDM.Minify' => 'VDM\\Minify',
|
||||
'libraries/jcb_powers/VDM.Psr' => 'VDM\\Psr'
|
||||
'libraries/vendor_jcb/VDM.Joomla.Openai' => 'VDM\\Joomla\\Openai',
|
||||
'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;
|
||||
|
@ -11,6 +11,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
|
||||
`add_email_helper` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`add_git_folder_path` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`add_javascript` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`add_jcb_powers_path` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`add_license` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`add_menu_prefix` CHAR(1) NOT NULL DEFAULT '',
|
||||
`add_namespace_prefix` CHAR(1) NOT NULL DEFAULT '',
|
||||
@ -62,6 +63,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
|
||||
`guid` VARCHAR(36) NOT NULL DEFAULT '',
|
||||
`image` CHAR(64) NOT NULL DEFAULT '',
|
||||
`javascript` TEXT NOT NULL,
|
||||
`jcb_powers_path` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`joomla_source_link` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`license` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`license_type` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
@ -115,7 +117,7 @@ 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_translation_tool` (`translation_tool`),
|
||||
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`),
|
||||
@ -126,7 +128,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
|
||||
KEY `idx_addreadme` (`addreadme`),
|
||||
KEY `idx_add_powers` (`add_powers`),
|
||||
KEY `idx_add_backup_folder_path` (`add_backup_folder_path`),
|
||||
KEY `idx_add_php_helper_both` (`add_php_helper_both`),
|
||||
KEY `idx_translation_tool` (`translation_tool`),
|
||||
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`),
|
||||
@ -153,8 +155,9 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
|
||||
KEY `idx_creatuserhelper` (`creatuserhelper`),
|
||||
KEY `idx_adduikit` (`adduikit`),
|
||||
KEY `idx_addfootable` (`addfootable`),
|
||||
KEY `idx_guid` (`guid`),
|
||||
KEY `idx_add_email_helper` (`add_email_helper`),
|
||||
KEY `idx_guid` (`guid`),
|
||||
KEY `idx_add_php_helper_both` (`add_php_helper_both`),
|
||||
KEY `idx_access` (`access`),
|
||||
KEY `idx_checkout` (`checked_out`),
|
||||
KEY `idx_createdby` (`created_by`),
|
||||
@ -3718,7 +3721,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
|
||||
(1533, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', '', '', '', 'Credit System', 'NOT NULL', '', 17, '\"<field \\r\\n\\ttype=\\\"radio\\\" \\r\\n\\tname=\\\"credit_system\\\" \\r\\n\\tlabel=\\\"Credit System\\\" \\r\\n\\tdescription=\\\"Select the credit system to use.\\\" \\r\\n\\tclass=\\\"btn-group btn-group-yesno\\\" \\r\\n\\toption=\\\"1|Assessments,2|Modules\\\" \\r\\n\\tdefault=\\\"2\\\" \\r\\n\\trequired=\\\"true\\\" \\r\\n\\/>\"', 1, '2016-12-08 11:52:14', '2016-12-08 12:20:29', 2, '', 749, '7fe3ad6f-d527-4509-813e-1ffef4456130', '', '', '', '', ''),
|
||||
(1534, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Point Available (answer point)', 'NOT NULL', '', 10, '\"<field \\r\\n\\ttype=\\\"integer\\\" \\r\\n\\tname=\\\"available_point\\\" \\r\\n\\tlabel=\\\"Total Available Point\\\" \\r\\n\\tdefault=\\\"\\\" \\r\\n\\tdescription=\\\"The total point available for this answer.\\\" \\r\\n\\tclass=\\\"text_area\\\" \\r\\n\\trequired=\\\"true\\\" \\r\\n\\tfirst=\\\"0\\\" \\r\\n\\tlast=\\\"100\\\" \\r\\n\\tstep=\\\"1\\\" \\r\\n\\tfilter=\\\"INT\\\" \\r\\n\\/>\"', 1, '2016-12-08 18:09:57', '2016-12-08 18:14:14', 2, '', 114, '7602a690-8269-4374-b330-d1fd372db8fa', '', '', '', '', ''),
|
||||
(1535, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', '', '', '', 'Build Component Dynamically', 'NOT NULL', '', 17, '\"<field \\r\\n\\ttype=\\\"radio\\\" \\r\\n\\tname=\\\"buildcomp\\\" \\r\\n\\tlabel=\\\"Build Backend-views Dynamically\\\" \\r\\n\\tdescription=\\\"To build the component fields and back-end views dynamically using a mySQL table file.\\\" \\r\\n\\tclass=\\\"btn-group btn-group-yesno\\\" \\r\\n\\toption=\\\"1|Yes,0|No\\\" \\r\\n\\tdefault=\\\"0\\\" \\r\\n\\trequired=\\\"true\\\" \\r\\n\\/>\"', 1, '2016-12-25 17:35:05', '2016-12-25 18:06:42', 3, '', 750, '288e00d8-7ea3-4bfc-829c-3ab247ca9718', '', '', '', '', ''),
|
||||
(1536, '', '', '', '', '', '', '', '', '', '', 'CHAR', '', '', '', 'Dynamic Builder Option (mySql) - Note', 'NOT NULL', '', 14, '\"<field \\r\\n\\ttype=\\\"note\\\" \\r\\n\\tname=\\\"note_buildcomp_dynamic_mysql\\\" \\r\\n\\tlabel=\\\"Dynamic Builder (mySql) Option\\\" \\r\\n\\tdescription=\\\"You can dynamically build the components back-end views and fields by adding a mySql table dump, that has all the tables, or some more tables with its columns and data types. A very basic and generic set of fields and tables will be created, and added to the existing fields and tables of this component.\\\" \\r\\n\\theading=\\\"h4\\\" \\r\\n\\tclass=\\\"alert alert-info\\\"\\r\\n\\/>\"', 1, '2016-12-25 17:41:24', '2017-10-05 16:47:03', 5, '', 751, 'bdc7b3e1-b9cd-493c-8752-3fd60a8c0e24', '', '', '', '', ''),
|
||||
(1536, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Dynamic Builder Option (mySql) - Note', 'NOT NULL', '', 14, '\"<field\\n\\ttype=\\\"note\\\"\\n\\tname=\\\"note_buildcomp_dynamic_mysql\\\"\\n\\tlabel=\\\"Dynamic Builder (MySql) Option\\\"\\n\\tdescription=\\\"<p>You can dynamically build the components back-end views and fields by adding a MySQL table dump that includes all or additional tables with their respective columns and data types. A basic and generic set of fields and tables will be created and integrated with the existing fields and tables of this component.<\\/p>\\r\\n\\r\\n<p>It is critical that the SQL provided be valid; otherwise, the process will fail. Additionally, you have the option to specify the field type and other properties directly in the MySQL column <b>COMMENT<\\/b>. This is done using JSON formatting in the comments section of each column\\/field.<\\/p>\\r\\n\\r\\n<p>For example, to define a field as a list with predefined options, use the following comment format:\\r\\n<br>\\r\\n<code>COMMENT \'{"type":"List", "label":"Name"}\'<\\/code>\\r\\n<\\/p>\\r\\n<p>This JSON format allows you to specify various field properties, such as "type", "label", and "option", which will be used to generate corresponding fields in the JCB Field configuration area.<\\/p>\\\"\\n\\theading=\\\"h4\\\"\\n\\tclass=\\\"alert alert-info\\\"\\n\\/>\"', 1, '2016-12-25 17:41:24', '2024-04-06 17:43:24', 8, '', 751, 'bdc7b3e1-b9cd-493c-8752-3fd60a8c0e24', '', '', '', '', ''),
|
||||
(1537, '', '', '', '', '', '', '', '', '', '', 'MEDIUMTEXT', '', '', '', 'MySQL (dump - to build)', 'NOT NULL', 2, 25, '\"<field \\r\\n\\ttype=\\\"textarea\\\" \\r\\n\\tname=\\\"buildcomp-sql\\\" \\r\\n\\tlabel=\\\"MySQL\\\" \\r\\n\\trows=\\\"30\\\" \\r\\n\\tcols=\\\"15\\\"\\r\\n\\tdescription=\\\"Add your MySQL here!\\\" \\r\\n\\tclass=\\\"text_area span12\\\" \\r\\n\\tfilter=\\\"raw\\\" \\r\\n\\thint=\\\"\\/\\/ Add MySQL Table Dump Here\\\" \\r\\n\\trequired=\\\"true\\\" \\r\\n\\/>\"', 1, '2016-12-25 18:10:09', '2015-08-25 21:15:22', 1, '', 5, '98ad53ca-0da2-4aab-9a3c-1c7e1ee0a24e', '', '', '', '', ''),
|
||||
(1538, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Min Amount Per/Group', 'NOT NULL', '', 24, '\"<field \\r\\n\\ttype=\\\"text\\\" \\r\\n\\tname=\\\"min\\\" \\r\\n\\tlabel=\\\"Minimum Amount\\\" \\r\\n\\tsize=\\\"10\\\" \\r\\n\\tmaxlength=\\\"50\\\"\\r\\n\\tdescription=\\\"\\\" \\r\\n\\tclass=\\\"text_area\\\" \\r\\n\\trequired=\\\"true\\\"\\r\\n\\tfilter=\\\"INT\\\" \\r\\n\\tmessage=\\\"Error! Please add minimum number of registrations allowed here.\\\" \\r\\n\\thint=\\\"Only Numbers\\\"\\r\\n\\tonchange=\\\"if(!jQuery(this).val().match(\\/^\\\\d+$\\/)){jQuery(this).val(\'\')};\\\" \\r\\n\\/>\"', 1, '2017-01-09 12:19:34', '2017-01-09 12:51:24', 3, '', 7, 'ca072f17-f6cd-4967-a9c0-31c0ae1f32ba', '', '', '', '', ''),
|
||||
(1539, '', '', '', '', '', '', '', '', 11, '', 'INT', 2, '', '', 'Max Amount Per/Group', 'NOT NULL', '', 24, '\"<field \\r\\n\\ttype=\\\"text\\\" \\r\\n\\tname=\\\"max\\\" \\r\\n\\tlabel=\\\"Maximum Amount\\\" \\r\\n\\tsize=\\\"10\\\" \\r\\n\\tmaxlength=\\\"50\\\"\\r\\n\\tdescription=\\\"\\\" \\r\\n\\tclass=\\\"text_area\\\" \\r\\n\\trequired=\\\"true\\\"\\r\\n\\tfilter=\\\"INT\\\" \\r\\n\\tmessage=\\\"Error! Please add maximum number of registrations allowed here.\\\" \\r\\n\\thint=\\\"Only Numbers\\\"\\r\\n\\tonchange=\\\"if(!jQuery(this).val().match(\\/^\\\\d+$\\/)){jQuery(this).val(\'\')};\\\" \\r\\n\\/>\"', 1, '2017-01-09 12:22:58', '2017-01-09 12:51:01', 2, '', 7, 'd1d4a7d0-1a82-4dc8-9efe-e3944debad79', '', '', '', '', ''),
|
||||
@ -5554,7 +5557,10 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
|
||||
(3369, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Note - Router Settings (advance)', 'NOT NULL', '', 14, '\"<field\\n\\ttype=\\\"note\\\"\\n\\tname=\\\"note_router_settings_advance\\\"\\n\\tlabel=\\\"Understanding the Site RouterView Class.\\\"\\n\\tdescription=\\\"<p>The <code>RouterView<\\/code> class in Joomla is designed to manage the routing process, translating human-readable URLs into query variables and vice versa. This functionality is crucial for creating search engine friendly (SEF) URLs and ensuring that requests within the Joomla application are directed to the appropriate components and views.<\\/p>\\r\\n\\r\\n<h2>Key Responsibilities<\\/h2>\\r\\n<ul>\\r\\n <li><strong>URL Building:<\\/strong> Converts query information into SEF URLs. This process involves taking the query parameters associated with a particular route and constructing a URL that is both user-friendly and optimized for search engines.<\\/li>\\r\\n <li><strong>URL Parsing:<\\/strong> Interprets SEF URLs back into query parameters. When a request is made to Joomla with an SEF URL, the RouterView class parses this URL to determine the component, view, and other request variables required to fulfill the request.<\\/li>\\r\\n<\\/ul>\\r\\n\\r\\n<h2>How to Use RouterView in a 3rd Party Extension<\\/h2>\\r\\n<p>To leverage the <code>RouterView<\\/code> class in a 3rd party Joomla extension, follow these steps:<\\/p>\\r\\n<ol>\\r\\n <li><strong>Extend RouterView:<\\/strong> Create a new router class in your component that extends <code>RouterView<\\/code>. This class will define the routing rules specific to your component.<\\/li>\\r\\n <li><strong>Define Routes:<\\/strong> Within your router class, define routes by mapping URL patterns to query parameters. This involves specifying how URL segments correspond to the component\\u2019s views and tasks.<\\/li>\\r\\n <li><strong>Register the Router:<\\/strong> Ensure that Joomla is aware of your custom router by registering it with the application. This is typically done within the component\\u2019s entry point file.<\\/li>\\r\\n<\\/ol>\\r\\n\\r\\n<h2>Benefits of Using RouterView<\\/h2>\\r\\n<ul>\\r\\n <li><strong>SEO Optimization:<\\/strong> By enabling the creation of human-readable URLs, RouterView helps improve the SEO of your Joomla site.<\\/li>\\r\\n <li><strong>Improved User Experience:<\\/strong> SEF URLs are easier for users to understand and remember, enhancing the overall user experience.<\\/li>\\r\\n <li><strong>Flexibility:<\\/strong> Custom routers allow for granular control over URL structure, making it possible to tailor URLs to match the needs of your extension and its audience.<\\/li>\\r\\n<\\/ul>\\r\\n\\r\\n<p>The basic structure of a custom router class for a Joomla 3rd party extension highlights the need to implement the <code>build<\\/code> and <code>parse<\\/code> methods, which handle the conversion between query parameters and SEF URLs.<\\/p>\\\"\\n\\theading=\\\"h1\\\"\\n\\tclass=\\\"alert alert-info\\\"\\n\\tshowon=\\\"router_settings_details_switch:3\\\"\\n\\/>\"', 1, '2024-01-27 20:26:52', '2024-01-27 21:22:30', 3, '', 25, '00f9d3c7-9399-41dc-98de-df6e49f73b1b', '', '', '', '', ''),
|
||||
(3370, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', '', '', '', 'Router Settings Details Switch', 'NOT NULL', '', 17, '\"<field\\n\\ttype=\\\"radio\\\"\\n\\tname=\\\"router_settings_details_switch\\\"\\n\\tlabel=\\\"Documentation\\\"\\n\\tclass=\\\"btn-group btn-group-yesno\\\"\\n\\toption=\\\"1|None,2|Basic,3|Details\\\"\\n\\tdefault=\\\"1\\\"\\n\\/>\"', 1, '2024-01-27 20:28:46', '2024-01-27 20:29:12', 2, '', 1056, '68ee2a4b-15ee-4ba7-8fbe-9408779f66f3', '', '', '', '', ''),
|
||||
(3371, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Note - Router Mode (Manual)', 'NOT NULL', '', 14, '\"<field\\n\\ttype=\\\"note\\\"\\n\\tname=\\\"note_mode_constructor_before_parent_manual\\\"\\n\\tlabel=\\\"Manual Mode\\\"\\n\\tdescription=\\\"This feature is not yet ready (SOON)\\\"\\n\\theading=\\\"h4\\\"\\n\\tclass=\\\"alert alert-error\\\"\\n\\tshowon=\\\"mode_constructor_before_parent:2\\\"\\n\\/>\"', 1, '2024-02-01 05:27:01', '2024-01-27 21:20:33', 1, '', 25, 'e3ae9a2d-2e9f-4910-9fda-632732ac0737', '', '', '', '', ''),
|
||||
(3372, '', '', '', '', '', '', 'Other', 3, 11, '', 'INT', '', '', '', 'Preferred Joomla Version', 'NOT NULL', '', 15, '\"<field\\n\\ttype=\\\"number\\\"\\n\\tname=\\\"preferred_joomla_version\\\"\\n\\tlabel=\\\"Preferred Joomla Version\\\"\\n\\tdefault=\\\"3\\\"\\n\\tclass=\\\"text_area\\\"\\n\\tmin=\\\"3\\\"\\n\\tmax=\\\"5\\\"\\n\\tstep=\\\"1\\\"\\n\\/>\"', 1, '2024-03-07 13:11:01', '2024-03-07 13:12:26', 2, '', 1055, 'e30ca545-0ccd-4925-b34d-96bc27d6a27c', '', '', '', '', '');
|
||||
(3372, '', '', '', '', '', '', 'Other', 3, 11, '', 'INT', '', '', '', 'Preferred Joomla Version', 'NOT NULL', '', 15, '\"<field\\n\\ttype=\\\"number\\\"\\n\\tname=\\\"preferred_joomla_version\\\"\\n\\tlabel=\\\"Preferred Joomla Version\\\"\\n\\tdefault=\\\"3\\\"\\n\\tclass=\\\"text_area\\\"\\n\\tmin=\\\"3\\\"\\n\\tmax=\\\"5\\\"\\n\\tstep=\\\"1\\\"\\n\\/>\"', 1, '2024-03-07 13:11:01', '2024-03-07 13:12:26', 2, '', 1055, 'e30ca545-0ccd-4925-b34d-96bc27d6a27c', '', '', '', '', ''),
|
||||
(3373, '', '', '', '', '', '', 'Other', 3, 11, '', 'INT', '', '', '', 'Joomla Version', 'NOT NULL', '', 11, '\"<field\\n\\ttype=\\\"list\\\"\\n\\tname=\\\"joomla_version\\\"\\n\\tlabel=\\\"Joomla Version\\\"\\n\\tdescription=\\\"Joomla Target\\\"\\n\\tclass=\\\"list_class\\\"\\n\\tlayout=\\\"joomla.form.field.list-fancy-select\\\"\\n\\tmultiple=\\\"false\\\"\\n\\trequired=\\\"true\\\"\\n\\toption=\\\"0|All,3|Joomla 3,4|Joomla 4,5|Joomla 5\\\"\\n\\tdefault=\\\"0\\\"\\n\\/>\"', 1, '2024-03-27 12:06:23', '2024-03-27 12:07:26', 2, '', 1055, 'e2d5b5aa-5d88-4224-b93f-ad517b59f75b', '', '', '', '', ''),
|
||||
(3374, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add JCB Powers Path', 'NOT NULL', '', 17, '\"<field\\n\\ttype=\\\"radio\\\"\\n\\tname=\\\"add_jcb_powers_path\\\"\\n\\tlabel=\\\"JCB Powers Path\\\"\\n\\tdescription=\\\"Would you like to override the global jcb powers path for this component?\\\"\\n\\tclass=\\\"btn-group btn-group-yesno\\\"\\n\\toption=\\\"|Global,1|Override\\\"\\n\\tdefault=\\\"\\\"\\n\\/>\"', 1, '2024-04-03 10:50:50', '2023-10-23 10:36:09', 1, '', 192, 'a6c65a43-e305-42c1-bd9d-5db5e4920185', '', '', '', '', ''),
|
||||
(3375, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'JCB Powers Path (component)', 'NOT NULL', '', 24, '\"<field\\n\\ttype=\\\"text\\\"\\n\\tname=\\\"jcb_powers_path\\\"\\n\\tlabel=\\\"JCB Powers Path<br \\/><small>example: <code>libraries\\/jcb_powers<\\/code><\\/small>\\\"\\n\\tsize=\\\"70\\\"\\n\\tmaxlength=\\\"150\\\"\\n\\tdescription=\\\"Here you can set the path to the powers folder. Recommended that you always place it inside the <b>libraries<\\/b>. You don\'t need to add a full path here, so <b>libraries\\/jcb_powers<\\/b> will mean <i>\\/home\\/username\\/public_html\\/libraries\\/jcb_powers<\\/i> when installed. You should always use two folders here, libraries + one more for example: <br \\/><code>libraries\\/jcb_powers<\\/code>\\\"\\n\\tclass=\\\"text_area\\\"\\n\\tfilter=\\\"PATH\\\"\\n\\tmessage=\\\"Error! Please add folder path here.\\\"\\n\\thint=\\\"libraries\\/jcb_powers\\\"\\n\\tshowon=\\\"add_jcb_powers_path:1\\\"\\n\\tautocomplete=\\\"on\\\"\\n\\/>\"', 1, '2024-04-03 10:51:37', '2021-12-01 00:51:37', 1, '', 641, '763e5bdf-d4d3-449b-bb36-de2623d81540', '', '', '', '', '');
|
||||
|
||||
--
|
||||
-- Dumping data for table `#__componentbuilder_fieldtype`
|
||||
|
3
admin/sql/updates/mysql/5.0.0-alpha7.sql
Normal file
3
admin/sql/updates/mysql/5.0.0-alpha7.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `#__componentbuilder_joomla_component` ADD `add_jcb_powers_path` TINYINT(1) NOT NULL DEFAULT 0 AFTER `add_javascript`;
|
||||
|
||||
ALTER TABLE `#__componentbuilder_joomla_component` ADD `jcb_powers_path` VARCHAR(255) NOT NULL DEFAULT '' AFTER `javascript`;
|
@ -23,12 +23,12 @@ if (file_exists($composer_autoloader))
|
||||
\spl_autoload_register(function ($class) {
|
||||
// project-specific base directories and namespace prefix
|
||||
$search = [
|
||||
'libraries/jcb_powers/VDM.Joomla.Openai' => 'VDM\\Joomla\\Openai',
|
||||
'libraries/jcb_powers/VDM.Joomla.Gitea' => 'VDM\\Joomla\\Gitea',
|
||||
'libraries/jcb_powers/VDM.Joomla.FOF' => 'VDM\\Joomla\\FOF',
|
||||
'libraries/jcb_powers/VDM.Joomla' => 'VDM\\Joomla',
|
||||
'libraries/jcb_powers/VDM.Minify' => 'VDM\\Minify',
|
||||
'libraries/jcb_powers/VDM.Psr' => 'VDM\\Psr'
|
||||
'libraries/vendor_jcb/VDM.Joomla.Openai' => 'VDM\\Joomla\\Openai',
|
||||
'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;
|
||||
@ -2263,7 +2263,7 @@ abstract class ComponentbuilderHelper
|
||||
* @return array on success
|
||||
*
|
||||
*/
|
||||
public static function getFieldTypeProperties($value, $type, $settings = array(), $xml = null, $dbDefaults = false)
|
||||
public static function getFieldTypeProperties($value, $type, $settings = [], $xml = null, $dbDefaults = false)
|
||||
{
|
||||
// Get a db connection.
|
||||
$db = Factory::getDbo();
|
||||
@ -6125,11 +6125,6 @@ abstract class ComponentbuilderHelper
|
||||
$user = Factory::getApplication()->getIdentity();
|
||||
// load the submenus to sidebar
|
||||
\JHtmlSidebar::addEntry(Text::_('COM_COMPONENTBUILDER_SUBMENU_DASHBOARD'), 'index.php?option=com_componentbuilder&view=componentbuilder', $submenu === 'componentbuilder');
|
||||
// Access control (compiler.submenu).
|
||||
if ($user->authorise('compiler.submenu', 'com_componentbuilder'))
|
||||
{
|
||||
\JHtmlSidebar::addEntry(Text::_('COM_COMPONENTBUILDER_SUBMENU_COMPILER'), 'index.php?option=com_componentbuilder&view=compiler', $submenu === 'compiler');
|
||||
}
|
||||
if ($user->authorise('joomla_component.access', 'com_componentbuilder') && $user->authorise('joomla_component.submenu', 'com_componentbuilder'))
|
||||
{
|
||||
\JHtmlSidebar::addEntry(Text::_('COM_COMPONENTBUILDER_SUBMENU_JOOMLA_COMPONENTS'), 'index.php?option=com_componentbuilder&view=joomla_components', $submenu === 'joomla_components');
|
||||
|
@ -46,7 +46,7 @@ class ComponentbuilderModel extends ListModel
|
||||
$icons = [];
|
||||
// view groups array
|
||||
$viewGroups = array(
|
||||
'main' => array('png.compiler', 'png.joomla_components', 'png.joomla_modules', 'png.joomla_plugins', 'png.powers', 'png.search', 'png||importjcbpackages||index.php?option=com_componentbuilder&view=joomla_components&task=joomla_components.smartImport', 'png.admin_views', 'png.custom_admin_views', 'png.site_views', 'png.template.add', 'png.templates', 'png.layouts', 'png.dynamic_get.add', 'png.dynamic_gets', 'png.custom_codes', 'png.placeholders', 'png.libraries', 'png.snippets', 'png.get_snippets', 'png.validation_rules', 'png.field.add', 'png.fields', 'png.fields.catid_qpo0O0oqp_com_componentbuilder_po0O0oq_field', 'png.fieldtypes', 'png.fieldtypes.catid_qpo0O0oqp_com_componentbuilder_po0O0oq_fieldtype', 'png.language_translations', 'png.languages', 'png.servers', 'png.help_documents')
|
||||
'main' => array('png.joomla_components', 'png.joomla_modules', 'png.joomla_plugins', 'png.powers', 'png.search', 'png||importjcbpackages||index.php?option=com_componentbuilder&view=joomla_components&task=joomla_components.smartImport', 'png.admin_views', 'png.custom_admin_views', 'png.site_views', 'png.template.add', 'png.templates', 'png.layouts', 'png.dynamic_get.add', 'png.dynamic_gets', 'png.custom_codes', 'png.placeholders', 'png.libraries', 'png.snippets', 'png.get_snippets', 'png.validation_rules', 'png.field.add', 'png.fields', 'png.fields.catid_qpo0O0oqp_com_componentbuilder_po0O0oq_field', 'png.fieldtypes', 'png.fieldtypes.catid_qpo0O0oqp_com_componentbuilder_po0O0oq_fieldtype', 'png.language_translations', 'png.servers', 'png.help_documents')
|
||||
);
|
||||
// view access array
|
||||
$viewAccess = [
|
||||
@ -155,7 +155,6 @@ class ComponentbuilderModel extends ListModel
|
||||
'languages.access' => 'language.access',
|
||||
'language.access' => 'language.access',
|
||||
'languages.submenu' => 'language.submenu',
|
||||
'languages.dashboard_list' => 'language.dashboard_list',
|
||||
'server.create' => 'server.create',
|
||||
'servers.access' => 'server.access',
|
||||
'server.access' => 'server.access',
|
||||
|
@ -96,7 +96,7 @@ class Joomla_componentModel extends AdminModel
|
||||
'not_required'
|
||||
)
|
||||
),
|
||||
'dynamic_build_beta' => array(
|
||||
'dynamic_build' => array(
|
||||
'fullwidth' => array(
|
||||
'note_buildcomp_dynamic_mysql',
|
||||
'buildcomp',
|
||||
@ -119,7 +119,9 @@ class Joomla_componentModel extends AdminModel
|
||||
'backup_folder_path',
|
||||
'add_git_folder_path',
|
||||
'note_git_folder_path',
|
||||
'git_folder_path'
|
||||
'git_folder_path',
|
||||
'add_jcb_powers_path',
|
||||
'jcb_powers_path'
|
||||
),
|
||||
'right' => array(
|
||||
'translation_tool',
|
||||
@ -130,13 +132,13 @@ class Joomla_componentModel extends AdminModel
|
||||
'crowdin_account_api_key'
|
||||
)
|
||||
),
|
||||
'readme' => array(
|
||||
'left' => array(
|
||||
'addreadme',
|
||||
'readme'
|
||||
),
|
||||
'right' => array(
|
||||
'note_readme'
|
||||
'mysql' => array(
|
||||
'fullwidth' => array(
|
||||
'add_sql',
|
||||
'sql',
|
||||
'add_sql_uninstall',
|
||||
'sql_uninstall',
|
||||
'assets_table_fix'
|
||||
)
|
||||
),
|
||||
'dash_install' => array(
|
||||
@ -185,13 +187,13 @@ class Joomla_componentModel extends AdminModel
|
||||
'css_site'
|
||||
)
|
||||
),
|
||||
'mysql' => array(
|
||||
'fullwidth' => array(
|
||||
'add_sql',
|
||||
'sql',
|
||||
'add_sql_uninstall',
|
||||
'sql_uninstall',
|
||||
'assets_table_fix'
|
||||
'readme' => array(
|
||||
'left' => array(
|
||||
'addreadme',
|
||||
'readme'
|
||||
),
|
||||
'right' => array(
|
||||
'note_readme'
|
||||
)
|
||||
),
|
||||
'settings' => array(
|
||||
@ -398,34 +400,10 @@ class Joomla_componentModel extends AdminModel
|
||||
$item->metadata = $registry->toArray();
|
||||
}
|
||||
|
||||
if (!empty($item->buildcompsql))
|
||||
if (!empty($item->sql_uninstall))
|
||||
{
|
||||
// base64 Decode buildcompsql.
|
||||
$item->buildcompsql = base64_decode($item->buildcompsql);
|
||||
}
|
||||
|
||||
if (!empty($item->php_method_uninstall))
|
||||
{
|
||||
// base64 Decode php_method_uninstall.
|
||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
||||
}
|
||||
|
||||
if (!empty($item->php_preflight_install))
|
||||
{
|
||||
// base64 Decode php_preflight_install.
|
||||
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
||||
}
|
||||
|
||||
if (!empty($item->css_admin))
|
||||
{
|
||||
// base64 Decode css_admin.
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
}
|
||||
|
||||
if (!empty($item->php_site_event))
|
||||
{
|
||||
// base64 Decode php_site_event.
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
// base64 Decode sql_uninstall.
|
||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||
}
|
||||
|
||||
if (!empty($item->php_postflight_install))
|
||||
@ -434,10 +412,10 @@ class Joomla_componentModel extends AdminModel
|
||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||
}
|
||||
|
||||
if (!empty($item->sql_uninstall))
|
||||
if (!empty($item->php_site_event))
|
||||
{
|
||||
// base64 Decode sql_uninstall.
|
||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||
// base64 Decode php_site_event.
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
}
|
||||
|
||||
if (!empty($item->php_helper_both))
|
||||
@ -452,6 +430,24 @@ class Joomla_componentModel extends AdminModel
|
||||
$item->php_admin_event = base64_decode($item->php_admin_event);
|
||||
}
|
||||
|
||||
if (!empty($item->css_admin))
|
||||
{
|
||||
// base64 Decode css_admin.
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
}
|
||||
|
||||
if (!empty($item->php_preflight_install))
|
||||
{
|
||||
// base64 Decode php_preflight_install.
|
||||
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
||||
}
|
||||
|
||||
if (!empty($item->php_method_uninstall))
|
||||
{
|
||||
// base64 Decode php_method_uninstall.
|
||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
||||
}
|
||||
|
||||
if (!empty($item->php_helper_admin))
|
||||
{
|
||||
// base64 Decode php_helper_admin.
|
||||
@ -494,6 +490,12 @@ class Joomla_componentModel extends AdminModel
|
||||
$item->sql = base64_decode($item->sql);
|
||||
}
|
||||
|
||||
if (!empty($item->buildcompsql))
|
||||
{
|
||||
// base64 Decode buildcompsql.
|
||||
$item->buildcompsql = base64_decode($item->buildcompsql);
|
||||
}
|
||||
|
||||
if (!empty($item->readme))
|
||||
{
|
||||
// base64 Decode readme.
|
||||
@ -505,18 +507,18 @@ class Joomla_componentModel extends AdminModel
|
||||
// Get the encryption object.
|
||||
$basic = new AES($basickey);
|
||||
|
||||
if (!empty($item->crowdin_username) && $basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
||||
{
|
||||
// basic decrypt data crowdin_username.
|
||||
$item->crowdin_username = rtrim($basic->decryptString($item->crowdin_username), "\0");
|
||||
}
|
||||
|
||||
if (!empty($item->whmcs_key) && $basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true)))
|
||||
{
|
||||
// basic decrypt data whmcs_key.
|
||||
$item->whmcs_key = rtrim($basic->decryptString($item->whmcs_key), "\0");
|
||||
}
|
||||
|
||||
if (!empty($item->crowdin_username) && $basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
||||
{
|
||||
// basic decrypt data crowdin_username.
|
||||
$item->crowdin_username = rtrim($basic->decryptString($item->crowdin_username), "\0");
|
||||
}
|
||||
|
||||
if (!empty($item->export_key) && $basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
|
||||
{
|
||||
// basic decrypt data export_key.
|
||||
@ -1486,34 +1488,10 @@ class Joomla_componentModel extends AdminModel
|
||||
$data['addcontributors'] = '';
|
||||
}
|
||||
|
||||
// Set the buildcompsql string to base64 string.
|
||||
if (isset($data['buildcompsql']))
|
||||
// Set the sql_uninstall string to base64 string.
|
||||
if (isset($data['sql_uninstall']))
|
||||
{
|
||||
$data['buildcompsql'] = base64_encode($data['buildcompsql']);
|
||||
}
|
||||
|
||||
// Set the php_method_uninstall string to base64 string.
|
||||
if (isset($data['php_method_uninstall']))
|
||||
{
|
||||
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
|
||||
}
|
||||
|
||||
// Set the php_preflight_install string to base64 string.
|
||||
if (isset($data['php_preflight_install']))
|
||||
{
|
||||
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
|
||||
}
|
||||
|
||||
// Set the css_admin string to base64 string.
|
||||
if (isset($data['css_admin']))
|
||||
{
|
||||
$data['css_admin'] = base64_encode($data['css_admin']);
|
||||
}
|
||||
|
||||
// Set the php_site_event string to base64 string.
|
||||
if (isset($data['php_site_event']))
|
||||
{
|
||||
$data['php_site_event'] = base64_encode($data['php_site_event']);
|
||||
$data['sql_uninstall'] = base64_encode($data['sql_uninstall']);
|
||||
}
|
||||
|
||||
// Set the php_postflight_install string to base64 string.
|
||||
@ -1522,10 +1500,10 @@ class Joomla_componentModel extends AdminModel
|
||||
$data['php_postflight_install'] = base64_encode($data['php_postflight_install']);
|
||||
}
|
||||
|
||||
// Set the sql_uninstall string to base64 string.
|
||||
if (isset($data['sql_uninstall']))
|
||||
// Set the php_site_event string to base64 string.
|
||||
if (isset($data['php_site_event']))
|
||||
{
|
||||
$data['sql_uninstall'] = base64_encode($data['sql_uninstall']);
|
||||
$data['php_site_event'] = base64_encode($data['php_site_event']);
|
||||
}
|
||||
|
||||
// Set the php_helper_both string to base64 string.
|
||||
@ -1540,6 +1518,24 @@ class Joomla_componentModel extends AdminModel
|
||||
$data['php_admin_event'] = base64_encode($data['php_admin_event']);
|
||||
}
|
||||
|
||||
// Set the css_admin string to base64 string.
|
||||
if (isset($data['css_admin']))
|
||||
{
|
||||
$data['css_admin'] = base64_encode($data['css_admin']);
|
||||
}
|
||||
|
||||
// Set the php_preflight_install string to base64 string.
|
||||
if (isset($data['php_preflight_install']))
|
||||
{
|
||||
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
|
||||
}
|
||||
|
||||
// Set the php_method_uninstall string to base64 string.
|
||||
if (isset($data['php_method_uninstall']))
|
||||
{
|
||||
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
|
||||
}
|
||||
|
||||
// Set the php_helper_admin string to base64 string.
|
||||
if (isset($data['php_helper_admin']))
|
||||
{
|
||||
@ -1582,6 +1578,12 @@ class Joomla_componentModel extends AdminModel
|
||||
$data['sql'] = base64_encode($data['sql']);
|
||||
}
|
||||
|
||||
// Set the buildcompsql string to base64 string.
|
||||
if (isset($data['buildcompsql']))
|
||||
{
|
||||
$data['buildcompsql'] = base64_encode($data['buildcompsql']);
|
||||
}
|
||||
|
||||
// Set the readme string to base64 string.
|
||||
if (isset($data['readme']))
|
||||
{
|
||||
@ -1593,18 +1595,18 @@ class Joomla_componentModel extends AdminModel
|
||||
// Get the encryption object
|
||||
$basic = new AES($basickey);
|
||||
|
||||
// Encrypt data crowdin_username.
|
||||
if (isset($data['crowdin_username']) && $basickey)
|
||||
{
|
||||
$data['crowdin_username'] = $basic->encryptString($data['crowdin_username']);
|
||||
}
|
||||
|
||||
// Encrypt data whmcs_key.
|
||||
if (isset($data['whmcs_key']) && $basickey)
|
||||
{
|
||||
$data['whmcs_key'] = $basic->encryptString($data['whmcs_key']);
|
||||
}
|
||||
|
||||
// Encrypt data crowdin_username.
|
||||
if (isset($data['crowdin_username']) && $basickey)
|
||||
{
|
||||
$data['crowdin_username'] = $basic->encryptString($data['crowdin_username']);
|
||||
}
|
||||
|
||||
// Encrypt data export_key.
|
||||
if (isset($data['export_key']) && $basickey)
|
||||
{
|
||||
|
@ -2745,38 +2745,31 @@ class Joomla_componentsModel extends ListModel
|
||||
continue;
|
||||
}
|
||||
|
||||
// decode buildcompsql
|
||||
$item->buildcompsql = base64_decode($item->buildcompsql);
|
||||
// decode php_method_uninstall
|
||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
||||
// decode php_preflight_install
|
||||
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
||||
// decode css_admin
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
// decode php_site_event
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
// decode php_postflight_install
|
||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||
// decode sql_uninstall
|
||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||
// decode php_postflight_install
|
||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||
// decode php_site_event
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
// decode php_helper_both
|
||||
$item->php_helper_both = base64_decode($item->php_helper_both);
|
||||
if ($basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
||||
{
|
||||
// decrypt crowdin_username
|
||||
$item->crowdin_username = $basic->decryptString($item->crowdin_username);
|
||||
}
|
||||
// decode php_admin_event
|
||||
$item->php_admin_event = base64_decode($item->php_admin_event);
|
||||
// decode php_helper_admin
|
||||
$item->php_helper_admin = base64_decode($item->php_helper_admin);
|
||||
// decode php_helper_site
|
||||
$item->php_helper_site = base64_decode($item->php_helper_site);
|
||||
// decode css_admin
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
// decode php_preflight_install
|
||||
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
||||
// decode php_method_uninstall
|
||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
||||
if ($basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true)))
|
||||
{
|
||||
// decrypt whmcs_key
|
||||
$item->whmcs_key = $basic->decryptString($item->whmcs_key);
|
||||
}
|
||||
// decode php_helper_admin
|
||||
$item->php_helper_admin = base64_decode($item->php_helper_admin);
|
||||
// decode php_helper_site
|
||||
$item->php_helper_site = base64_decode($item->php_helper_site);
|
||||
// decode javascript
|
||||
$item->javascript = base64_decode($item->javascript);
|
||||
// decode css_site
|
||||
@ -2787,6 +2780,13 @@ class Joomla_componentsModel extends ListModel
|
||||
$item->php_postflight_update = base64_decode($item->php_postflight_update);
|
||||
// decode sql
|
||||
$item->sql = base64_decode($item->sql);
|
||||
if ($basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
||||
{
|
||||
// decrypt crowdin_username
|
||||
$item->crowdin_username = $basic->decryptString($item->crowdin_username);
|
||||
}
|
||||
// decode buildcompsql
|
||||
$item->buildcompsql = base64_decode($item->buildcompsql);
|
||||
if ($basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
|
||||
{
|
||||
// decrypt export_key
|
||||
|
@ -30,8 +30,9 @@ use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\FOF\Encrypt\AES;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -219,10 +220,104 @@ class ServerModel extends AdminModel
|
||||
$item->username = rtrim($basic->decryptString($item->username), "\0");
|
||||
}
|
||||
}
|
||||
$this->sales_serverupdate_servervvvw = $item->id;
|
||||
|
||||
return $item;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get list data.
|
||||
*
|
||||
* @return mixed An array of data items on success, false on failure.
|
||||
*/
|
||||
public function getVymlinked_components()
|
||||
{
|
||||
// Get the user object.
|
||||
$user = Factory::getApplication()->getIdentity();
|
||||
// Create a new query object.
|
||||
$db = $this->getDatabase();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
// Select some fields
|
||||
$query->select('a.*');
|
||||
|
||||
// From the componentbuilder_joomla_component table
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_component', 'a'));
|
||||
|
||||
// Filter by sales_serverupdate_servervvvw global.
|
||||
$sales_serverupdate_servervvvw = $this->sales_serverupdate_servervvvw;
|
||||
if (is_numeric($sales_serverupdate_servervvvw ))
|
||||
{
|
||||
$query->where('a.sales_server = ' . (int) $sales_serverupdate_servervvvw . ' OR a.update_server = ' . (int) $sales_serverupdate_servervvvw, ' OR');
|
||||
}
|
||||
elseif (is_string($sales_serverupdate_servervvvw))
|
||||
{
|
||||
$query->where('a.sales_server = ' . $db->quote($sales_serverupdate_servervvvw) . ' OR a.update_server = ' . $db->quote($sales_serverupdate_servervvvw), ' OR');
|
||||
}
|
||||
else
|
||||
{
|
||||
$query->where('a.update_server = -5');
|
||||
}
|
||||
|
||||
// Join over the asset groups.
|
||||
$query->select('ag.title AS access_level');
|
||||
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
|
||||
// Filter by access level.
|
||||
$_access = $this->getState('filter.access');
|
||||
if ($_access && is_numeric($_access))
|
||||
{
|
||||
$query->where('a.access = ' . (int) $_access);
|
||||
}
|
||||
elseif (UtilitiesArrayHelper::check($_access))
|
||||
{
|
||||
// Secure the array for the query
|
||||
$_access = ArrayHelper::toInteger($_access);
|
||||
// Filter by the Access Array.
|
||||
$query->where('a.access IN (' . implode(',', $_access) . ')');
|
||||
}
|
||||
// Implement View Level Access
|
||||
if (!$user->authorise('core.options', 'com_componentbuilder'))
|
||||
{
|
||||
$groups = implode(',', $user->getAuthorisedViewLevels());
|
||||
$query->where('a.access IN (' . $groups . ')');
|
||||
}
|
||||
|
||||
// Order the results by ordering
|
||||
$query->order('a.published ASC');
|
||||
$query->order('a.ordering ASC');
|
||||
|
||||
// Load the items
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
$items = $db->loadObjectList();
|
||||
|
||||
// Set values to display correctly.
|
||||
if (UtilitiesArrayHelper::check($items))
|
||||
{
|
||||
// Get the user object if not set.
|
||||
if (!isset($user) || !ObjectHelper::check($user))
|
||||
{
|
||||
$user = $this->getCurrentUser();
|
||||
}
|
||||
foreach ($items as $nr => &$item)
|
||||
{
|
||||
// Remove items the user can't access.
|
||||
$access = ($user->authorise('joomla_component.access', 'com_componentbuilder.joomla_component.' . (int) $item->id) && $user->authorise('joomla_component.access', 'com_componentbuilder'));
|
||||
if (!$access)
|
||||
{
|
||||
unset($items[$nr]);
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get the record form.
|
||||
*
|
||||
|
@ -506,7 +506,7 @@ class ServersModel extends ListModel
|
||||
// Get a db connection.
|
||||
$db = Factory::getDbo();
|
||||
// get the columns
|
||||
$columns = $db->getTableColumns("#__componentbuilder_[[[view]]]");
|
||||
$columns = $db->getTableColumns("#__componentbuilder_server");
|
||||
if (UtilitiesArrayHelper::check($columns))
|
||||
{
|
||||
// remove the headers you don't import/export.
|
||||
|
@ -81,6 +81,9 @@ class HtmlView extends BaseHtmlView
|
||||
$this->referral .= '&return=' . (string) $return;
|
||||
}
|
||||
|
||||
// Get Linked view data
|
||||
$this->vymlinked_components = $this->get('Vymlinked_components');
|
||||
|
||||
// Set the toolbar
|
||||
$this->addToolBar();
|
||||
|
||||
@ -222,6 +225,16 @@ class HtmlView extends BaseHtmlView
|
||||
{
|
||||
Html::_('stylesheet', $style, ['version' => 'auto']);
|
||||
}
|
||||
|
||||
// Add the CSS for Footable
|
||||
Html::_('stylesheet', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css', ['version' => 'auto']);
|
||||
Html::_('stylesheet', 'media/com_componentbuilder/footable-v3/css/footable.standalone.min.css', ['version' => 'auto']);
|
||||
// Add the JavaScript for Footable (adding all functions)
|
||||
Html::_('script', 'media/com_componentbuilder/footable-v3/js/footable.min.js', ['version' => 'auto']);
|
||||
|
||||
$footable = "jQuery(document).ready(function() { jQuery(function () { jQuery('.footable').footable();});});";
|
||||
$this->getDocument()->addScriptDeclaration($footable);
|
||||
|
||||
// add scripts
|
||||
foreach ($this->scripts as $script)
|
||||
{
|
||||
|
@ -163,12 +163,12 @@ defined('_JEXEC') or die;
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'joomla_componentTab', 'dynamic_build_beta', Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_BUILD_BETA', true)); ?>
|
||||
<?php echo Html::_('uitab.addTab', 'joomla_componentTab', 'dynamic_build', Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_BUILD', true)); ?>
|
||||
<div class="row">
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<?php echo LayoutHelper::render('joomla_component.dynamic_build_beta_fullwidth', $this); ?>
|
||||
<?php echo LayoutHelper::render('joomla_component.dynamic_build_fullwidth', $this); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
@ -1,15 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="component" version="5.0" method="upgrade">
|
||||
<name>COM_COMPONENTBUILDER</name>
|
||||
<creationDate>26th March, 2024</creationDate>
|
||||
<creationDate>6th April, 2024</creationDate>
|
||||
<author>Llewellyn van der Merwe</author>
|
||||
<authorEmail>joomla@vdm.io</authorEmail>
|
||||
<authorUrl>https://dev.vdm.io</authorUrl>
|
||||
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||
<version>5.0.0-alpha7</version>
|
||||
<version>5.0.0-alpha8</version>
|
||||
<description><![CDATA[
|
||||
<h1>Component Builder (v.5.0.0-alpha7)</h1>
|
||||
<h1>Component Builder (v.5.0.0-alpha8)</h1>
|
||||
<div style="clear: both;"></div>
|
||||
<p>The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
||||
|
||||
@ -61,7 +61,6 @@ Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/compo
|
||||
<submenu>
|
||||
<!-- Instead of link you can specify individual link attributes -->
|
||||
<menu option="com_componentbuilder" view="componentbuilder">COM_COMPONENTBUILDER_MENU_DASHBOARD</menu>
|
||||
<menu option="com_componentbuilder" view="compiler">COM_COMPONENTBUILDER_MENU_COMPILER</menu>
|
||||
<menu option="com_componentbuilder" view="joomla_components">COM_COMPONENTBUILDER_MENU_JOOMLA_COMPONENTS</menu>
|
||||
<menu option="com_componentbuilder" view="joomla_modules">COM_COMPONENTBUILDER_MENU_JOOMLA_MODULES</menu>
|
||||
<menu option="com_componentbuilder" view="joomla_plugins">COM_COMPONENTBUILDER_MENU_JOOMLA_PLUGINS</menu>
|
||||
@ -82,8 +81,6 @@ Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/compo
|
||||
<menu option="com_componentbuilder" view="fields">COM_COMPONENTBUILDER_MENU_FIELDS</menu>
|
||||
<menu option="com_componentbuilder" view="fieldtypes">COM_COMPONENTBUILDER_MENU_FIELDTYPES</menu>
|
||||
<menu option="com_componentbuilder" view="language_translations">COM_COMPONENTBUILDER_MENU_LANGUAGE_TRANSLATIONS</menu>
|
||||
<menu option="com_componentbuilder" view="languages">COM_COMPONENTBUILDER_MENU_LANGUAGES</menu>
|
||||
<menu option="com_componentbuilder" view="servers">COM_COMPONENTBUILDER_MENU_SERVERS</menu>
|
||||
<menu option="com_componentbuilder" view="help_documents">COM_COMPONENTBUILDER_MENU_HELP_DOCUMENTS</menu>
|
||||
</submenu>
|
||||
<files folder="admin">
|
||||
|
@ -5,13 +5,13 @@
|
||||
<element>pkg_component_builder</element>
|
||||
<type>package</type>
|
||||
<client>site</client>
|
||||
<version>3.2.0-beta10</version>
|
||||
<version>3.2.0</version>
|
||||
<infourl title="Component Builder!">https://dev.vdm.io</infourl>
|
||||
<downloads>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta10.zip</downloadurl>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>beta</tag>
|
||||
<tag>stable</tag>
|
||||
</tags>
|
||||
<maintainer>Llewellyn van der Merwe</maintainer>
|
||||
<maintainerurl>https://dev.vdm.io</maintainerurl>
|
||||
@ -23,10 +23,10 @@
|
||||
<element>pkg_component_builder</element>
|
||||
<type>package</type>
|
||||
<client>site</client>
|
||||
<version>4.0.0-alpha7</version>
|
||||
<version>4.0.0-alpha8</version>
|
||||
<infourl title="Component Builder!">https://dev.vdm.io</infourl>
|
||||
<downloads>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v4.0.0-alpha7.zip</downloadurl>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v4.0.0-alpha8.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>alpha</tag>
|
||||
@ -161,4 +161,22 @@
|
||||
<maintainerurl>https://dev.vdm.io</maintainerurl>
|
||||
<targetplatform name="joomla" version="5\.[01]"/>
|
||||
</update>
|
||||
<update>
|
||||
<name>Component Builder</name>
|
||||
<description>Builds Complex Joomla Components</description>
|
||||
<element>pkg_component_builder</element>
|
||||
<type>package</type>
|
||||
<client>site</client>
|
||||
<version>5.0.0-alpha8</version>
|
||||
<infourl title="Component Builder!">https://dev.vdm.io</infourl>
|
||||
<downloads>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v5.0.0-alpha8.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>alpha</tag>
|
||||
</tags>
|
||||
<maintainer>Llewellyn van der Merwe</maintainer>
|
||||
<maintainerurl>https://dev.vdm.io</maintainerurl>
|
||||
<targetplatform name="joomla" version="5\.[01]"/>
|
||||
</update>
|
||||
</updates>
|
@ -1,422 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 4th September, 2022
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Extrusion\Helper;
|
||||
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\Database\DatabaseDriver;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
use VDM\Joomla\Utilities\JsonHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper;
|
||||
|
||||
|
||||
/**
|
||||
* Mapping class
|
||||
*
|
||||
* @since 3.2.0
|
||||
*/
|
||||
class Mapping
|
||||
{
|
||||
/**
|
||||
* Some default fields
|
||||
*/
|
||||
protected $buildcompsql;
|
||||
public $id;
|
||||
public $name_code;
|
||||
public array $addadmin_views;
|
||||
public array $addSql = [];
|
||||
public array $source = [];
|
||||
public array $sql = [];
|
||||
|
||||
/**
|
||||
* The map of the needed fields and views
|
||||
*/
|
||||
public $map;
|
||||
|
||||
/**
|
||||
* The app to load messages mostly
|
||||
*/
|
||||
public $app;
|
||||
|
||||
/**
|
||||
* The needed set of keys needed to set
|
||||
*/
|
||||
protected array $setting = ['id' => 'default', 'buildcompsql' => 'base64', 'name_code' => 'safeString'];
|
||||
|
||||
/**
|
||||
* The needed set of keys needed to set
|
||||
*/
|
||||
protected array $notRequiered = [
|
||||
'id', 'asset_id', 'published',
|
||||
'created_by', 'modified_by', 'created', 'modified', 'checked_out','checked_out_time',
|
||||
'version', 'hits', 'access', 'ordering',
|
||||
'metakey', 'metadesc', 'metadata', 'params'
|
||||
];
|
||||
|
||||
/**
|
||||
* The datatypes and it linked field types (basic)
|
||||
* (TODO) We may need to set this dynamicly
|
||||
*/
|
||||
protected array $dataTypes = [
|
||||
'VARCHAR' => 'Text', 'CHAR' => 'Text',
|
||||
'MEDIUMTEXT' => 'Textarea', 'LONGTEXT' => 'Textarea',
|
||||
'TEXT' => 'Textarea', 'DATETIME' => 'Calendar',
|
||||
'DATE' => 'Text', 'TIME' => 'Text', 'TINYINT' => 'Text',
|
||||
'BIGINT' => 'Text', 'INT' => 'Text', 'FLOAT' => 'Text',
|
||||
'DECIMAL' => 'Text', 'DOUBLE' => 'Text'
|
||||
];
|
||||
|
||||
/**
|
||||
* The datasize identifiers
|
||||
*/
|
||||
protected array $dataSize = [
|
||||
'CHAR', 'VARCHAR', 'INT', 'TINYINT',
|
||||
'BIGINT', 'FLOAT', 'DECIMAL', 'DOUBLE'
|
||||
];
|
||||
|
||||
/**
|
||||
* The default identifiers
|
||||
*/
|
||||
protected $defaults = [
|
||||
0, 1, "CURRENT_TIMESTAMP", "DATETIME"
|
||||
]; // Other
|
||||
|
||||
/**
|
||||
* The sizes identifiers
|
||||
*/
|
||||
protected $sizes = [
|
||||
"1", "7", "10", "11", "50", "64", "100", "255", "1024", "2048"
|
||||
]; // Other
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct($data = false)
|
||||
{
|
||||
// set the app to insure messages can be set
|
||||
$this->app = Factory::getApplication();
|
||||
|
||||
// check that we have data
|
||||
if (ArrayHelper::check($data))
|
||||
{
|
||||
// make sure we have an id
|
||||
if (isset($data['id']) && $data['id'] > 0)
|
||||
{
|
||||
if (isset($data['buildcomp']) && 1 == $data['buildcomp'] && isset($data['buildcompsql']))
|
||||
{
|
||||
foreach ($data as $key => $value)
|
||||
{
|
||||
if (isset($this->setting[$key]))
|
||||
{
|
||||
switch($this->setting[$key])
|
||||
{
|
||||
case 'base64':
|
||||
// set needed value
|
||||
$this->$key = base64_decode((string) $value);
|
||||
break;
|
||||
case 'json':
|
||||
// set needed value
|
||||
$this->$key = json_decode((string) $value, true);
|
||||
break;
|
||||
case 'safeString':
|
||||
// set needed value
|
||||
$this->$key = StringHelper::check($value);
|
||||
break;
|
||||
default :
|
||||
$this->$key = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// get linked admin views
|
||||
$addadmin_views = GetHelper::var('component_admin_views', $data['id'], 'joomla_component', 'addadmin_views');
|
||||
if (JsonHelper::check($addadmin_views))
|
||||
{
|
||||
$this->addadmin_views = json_decode((string)$addadmin_views, true);
|
||||
}
|
||||
// set the map of the views needed
|
||||
if ($this->setMap())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
$this->app->enqueueMessage(
|
||||
Text::_('COM_COMPONENTBUILDER_NO_CREATE_TABLE_WERE_FOUND_PLEASE_CHECK_YOUR_SQL'),
|
||||
'Error'
|
||||
);
|
||||
return false;
|
||||
}
|
||||
return false; // not set so just return without any error
|
||||
}
|
||||
$this->app->enqueueMessage(
|
||||
Text::_('COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_THIS_ERROR_USUALY_HAPPENS_IF_IT_IS_A_NEW_COMPONENT_BEACUES_WE_NEED_A_COMPONENT_ID_TO_DO_THIS_BUILD_WITH_YOUR_SQL_DUMP'),
|
||||
'Error'
|
||||
);
|
||||
return false;
|
||||
}
|
||||
$this->app->enqueueMessage(
|
||||
Text::_('COM_COMPONENTBUILDER_COULD_NOT_FIND_THE_DATA_NEEDED_TO_CONTINUE'),
|
||||
'Error'
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* The mapping function
|
||||
* To Map the views and fields that are needed
|
||||
*/
|
||||
protected function setMap()
|
||||
{
|
||||
// start parsing the sql dump data
|
||||
$queries = DatabaseDriver::splitSql($this->buildcompsql);
|
||||
if (ArrayHelper::check($queries))
|
||||
{
|
||||
foreach ($queries as $query)
|
||||
{
|
||||
// only use create table queries
|
||||
if (strpos($query, 'CREATE TABLE IF NOT EXISTS') !== false ||
|
||||
strpos($query, 'CREATE TABLE') !== false)
|
||||
{
|
||||
if ($tableName = $this->getTableName($query))
|
||||
{
|
||||
// now get the fields/columns of this view/table
|
||||
if ($fields = $this->getFields($query))
|
||||
{
|
||||
// make sure it is all lower case from here on
|
||||
$tableName = strtolower($tableName);
|
||||
$this->map[$tableName] = $fields;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
// get the insert data if set
|
||||
if (strpos($query, 'INSERT INTO `') !== false)
|
||||
{
|
||||
if ($tableName = $this->getTableName($query))
|
||||
{
|
||||
$this->addSql[$tableName] = 1;
|
||||
$this->source[$tableName] = 2;
|
||||
$this->sql[$tableName] = $query;
|
||||
}
|
||||
}
|
||||
}
|
||||
// check if the mapping was done
|
||||
if (ArrayHelper::check($this->map))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the table name
|
||||
*/
|
||||
protected function getTableName(&$query)
|
||||
{
|
||||
if (strpos($query, '`#__') !== false)
|
||||
{
|
||||
// get table name
|
||||
$tableName = GetHelper::between($query, '`#__', "`");
|
||||
}
|
||||
elseif (strpos($query, "'#__") !== false)
|
||||
{
|
||||
// get table name
|
||||
$tableName = GetHelper::between($query, "'#__", "'");
|
||||
}
|
||||
// if it still was not found
|
||||
if (!isset($tableName) || !StringHelper::check($tableName))
|
||||
{
|
||||
// skip this query
|
||||
return false;
|
||||
}
|
||||
// clean the table name (so only view name remain)
|
||||
if (strpos($tableName, $this->name_code) !== false)
|
||||
{
|
||||
$tableName = trim(str_replace($this->name_code, '', $tableName), '_');
|
||||
}
|
||||
// if found
|
||||
if (StringHelper::check($tableName))
|
||||
{
|
||||
return $tableName;
|
||||
}
|
||||
// skip this query
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the field details
|
||||
*/
|
||||
protected function getFields(&$query)
|
||||
{
|
||||
$rows = array_map('trim', explode(PHP_EOL, $query));
|
||||
$fields = array();
|
||||
foreach ($rows as $row)
|
||||
{
|
||||
// make sure we have a lower case string
|
||||
$row = strtoupper($row);
|
||||
$field = array();
|
||||
$name = '';
|
||||
if (0 === strpos($row, '`'))
|
||||
{
|
||||
// get field name
|
||||
$name = GetHelper::between($row, '`', '`');
|
||||
}
|
||||
if (0 === strpos($row, "'"))
|
||||
{
|
||||
// get field name
|
||||
$name = GetHelper::between($row, "'", "'");
|
||||
}
|
||||
// check if the name was found
|
||||
if (StringHelper::check($name))
|
||||
{
|
||||
// insure we have the name in lower case from here on
|
||||
$name = strtolower($name);
|
||||
// only continue if field is required
|
||||
if (in_array($name, $this->notRequiered))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// check if the field type is found
|
||||
if ($fieldType = $this->getType($row, $field, $name))
|
||||
{
|
||||
$field['row'] = $row;
|
||||
$field['name'] = $name;
|
||||
$field['label'] = StringHelper::check($name, 'W');
|
||||
$field['fieldType'] = $fieldType;
|
||||
$field['size'] = $this->getSize($row, $field);
|
||||
$field['sizeOther'] = '';
|
||||
if (!in_array($field['size'], $this->sizes))
|
||||
{
|
||||
if (StringHelper::check($field['size']))
|
||||
{
|
||||
$field['sizeOther'] = $field['size'];
|
||||
$field['size'] = 'Other';
|
||||
}
|
||||
}
|
||||
$field['default'] = $this->getDefault($row);
|
||||
$field['defaultOther'] = '';
|
||||
if (!in_array($field['default'], $this->defaults))
|
||||
{
|
||||
if (StringHelper::check($field['default']))
|
||||
{
|
||||
$field['defaultOther'] = $field['default'];
|
||||
$field['default'] = 'Other';
|
||||
}
|
||||
}
|
||||
$field['null'] = $this->getNullValue($row, $field);
|
||||
// check if field is a key
|
||||
$field['key'] = $this->getKeyStatus($rows, $name);
|
||||
// load to fields
|
||||
$fields[] = $field;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ArrayHelper::check($fields))
|
||||
{
|
||||
return $fields;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the field types
|
||||
*/
|
||||
protected function getType($row, &$field, &$name)
|
||||
{
|
||||
// first remove field name
|
||||
$row = str_replace($name, '', $row);
|
||||
// get the data type first
|
||||
foreach ($this->dataTypes as $type => $fieldType)
|
||||
{
|
||||
if (strpos($row, $type) !== false)
|
||||
{
|
||||
$field['dataType'] = $type;
|
||||
return $fieldType;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the field size
|
||||
*/
|
||||
protected function getSize(&$row, $field)
|
||||
{
|
||||
if (in_array($field['dataType'], $this->dataSize))
|
||||
{
|
||||
return GetHelper::between($row, $field['dataType'].'(', ')');
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the field default
|
||||
*/
|
||||
protected function getDefault(&$row)
|
||||
{
|
||||
// get default value
|
||||
if (strpos($row, 'DEFAULT "') !== false) // to sure it this is correct...
|
||||
{
|
||||
return GetHelper::between($row, 'DEFAULT "', '"');
|
||||
}
|
||||
// get default value
|
||||
if (strpos($row, "DEFAULT '") !== false)
|
||||
{
|
||||
return GetHelper::between($row, "DEFAULT '", "'");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the field Null Value
|
||||
*/
|
||||
protected function getNullValue(&$row, &$field)
|
||||
{
|
||||
// get the result of null
|
||||
if (strpos($row, 'NOT NULL') !== false)
|
||||
{
|
||||
return 'NOT NULL';
|
||||
}
|
||||
if (strpos($row, 'DEFAULT NULL') !== false)
|
||||
{
|
||||
$field['default'] = 'NULL';
|
||||
return '';
|
||||
}
|
||||
return 'NULL';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the field key status
|
||||
*/
|
||||
protected function getKeyStatus(&$rows, &$name)
|
||||
{
|
||||
// get the data type first
|
||||
foreach ($rows as $row)
|
||||
{
|
||||
if (strpos($row, 'UNIQUE KEY ') !== false && stripos($row, $name) !== false)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if ((strpos($row, 'PRIMARY KEY ') !== false && stripos($row, $name) !== false) || (strpos($row, 'KEY ') !== false && stripos($row, $name) !== false))
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user