Release of v5.1.2-alpha2

Add native module builder for Joomla 4/5. Refactor dynamic get methods into dedicated classes. Move Joomla DB handling into compiler injector flow. Fix auto-check(in) method for Joomla 4/5 compatibility.
This commit is contained in:
2025-09-02 13:01:13 +00:00
parent 45453f7330
commit 129cdfe8da
274 changed files with 20547 additions and 5629 deletions

View File

@@ -17,32 +17,36 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
defined('_JEXEC') or die;
$headers = [
'AdminView' => 'COM_COMPONENTBUILDER_INITIALIZE_ADMIN_VIEWS',
'Component' => 'COM_COMPONENTBUILDER_INITIALIZE_COMPONENTS',
'CustomAdminView' => 'COM_COMPONENTBUILDER_INITIALIZE_CUSTOM_ADMIN_VIEWS',
'CustomCode' => 'COM_COMPONENTBUILDER_INITIALIZE_CUSTOM_CODES',
'DynamicGet' => 'COM_COMPONENTBUILDER_INITIALIZE_DYNAMIC_GETS',
'Field' => 'COM_COMPONENTBUILDER_INITIALIZE_FIELDS',
'Joomla.Fieldtype' => 'COM_COMPONENTBUILDER_INITIALIZE_FIELD_TYPES',
'Joomla.Power' => 'COM_COMPONENTBUILDER_INITIALIZE_JOOMLA_POWERS',
'Layout' => 'COM_COMPONENTBUILDER_INITIALIZE_LAYOUTS',
'Library' => 'COM_COMPONENTBUILDER_INITIALIZE_LIBRARIES',
'JoomlaModule' => 'COM_COMPONENTBUILDER_INITIALIZE_MODULES',
'JoomlaPlugin' => 'COM_COMPONENTBUILDER_INITIALIZE_PLUGINS',
'Power' => 'COM_COMPONENTBUILDER_INITIALIZE_POWERS',
'SiteView' => 'COM_COMPONENTBUILDER_INITIALIZE_SITE_VIEWS',
'Snippet' => 'COM_COMPONENTBUILDER_INITIALIZE_SNIPPETS',
'Template' => 'COM_COMPONENTBUILDER_INITIALIZE_TEMPLATES',
'ClassExtends' => 'COM_COMPONENTBUILDER_INITIALIZE_CLASS_EXTENDS',
'ClassProperty' => 'COM_COMPONENTBUILDER_INITIALIZE_CLASS_PROPERTIES',
'ClassMethod' => 'COM_COMPONENTBUILDER_INITIALIZE_CLASS_METHODS',
'Placeholder' => 'COM_COMPONENTBUILDER_INITIALIZE_PLACEHOLDERS',
'Repository' => 'COM_COMPONENTBUILDER_INITIALIZE_REPOSITORIES'
'AdminView' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESADMIN_VIEWSA',
'Component' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESCOMPONENTSA',
'CustomAdminView' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESCUSTOM_ADMIN_VIEWSA',
'CustomCode' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESCUSTOM_CODESA',
'DynamicGet' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESDYNAMIC_GETSA',
'Field' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESFIELDSA',
'Joomla.Fieldtype' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESFIELD_TYPESA',
'Joomla.Power' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESJOOMLA_POWERSA',
'Layout' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESLAYOUTSA',
'Library' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESLIBRARIESA',
'JoomlaModule' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESMODULESA',
'JoomlaPlugin' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESPLUGINSA',
'Power' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESPOWERSA',
'SiteView' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESSITE_VIEWSA',
'Snippet' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESSNIPPETSA',
'Template' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESTEMPLATESA',
'ClassExtends' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESCLASS_EXTENDSA',
'ClassProperty' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESCLASS_PROPERTIESA',
'ClassMethod' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESCLASS_METHODSA',
'Placeholder' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESPLACEHOLDERSA',
'Repository' => 'COM_COMPONENTBUILDER_INITIALIZE_A_HREFS_TITLESREPOSITORIESA'
];
// Fetch and translate header if area is defined and mapped
$area = $this->item['area_class'] ?? null;
$list_view = $this->item['list_view'] ?? 'joomla_components';
$area_name = $this->item['area_name'] ?? 'Joomla Component';
$title = '"' . Text::sprintf('COM_COMPONENTBUILDER_GO_BACK_TO_S_LIST_VIEW', $area_name) . '"';
$href = sprintf('"index.php?option=com_componentbuilder&view=%s"', $list_view);
$header = $area && isset($headers[$area]) ? $headers[$area] : 'COM_COMPONENTBUILDER_SELECTION_FAILED_PLEASE_TRY_AGAIN';
?>
<h1><?php echo Text::_($header); ?></h1>
<h1><?php echo Text::sprintf($header, $href, $title); ?></h1>