From 51dbeca9d925b578423d6ece08c17adc21c15fc2 Mon Sep 17 00:00:00 2001
From: Christian Heel <66922325+heelc29@users.noreply.github.com>
Date: Mon, 7 Jul 2025 17:53:34 +0200
Subject: [PATCH 1/2] [5.4] Remove deprecation AbstractView::get() in layouts
---
.../layouts/joomla/menu/edit_modules.php | 4 ++--
.../src/View/Categories/HtmlView.php | 2 +-
.../src/View/Categories/HtmlView.php | 2 +-
.../src/View/Categories/HtmlView.php | 2 +-
layouts/joomla/content/categories_default.php | 2 +-
layouts/joomla/content/category_default.php | 4 ++--
layouts/joomla/edit/admin_modules.php | 4 ++--
layouts/joomla/edit/fieldset.php | 8 ++++----
layouts/joomla/edit/global.php | 4 ++--
layouts/joomla/edit/params.php | 20 +++++++++----------
layouts/joomla/edit/publishingdata.php | 4 ++--
libraries/src/MVC/View/CategoriesView.php | 9 +++++----
libraries/src/MVC/View/CategoryView.php | 18 ++++++++---------
13 files changed, 42 insertions(+), 41 deletions(-)
diff --git a/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php b/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php
index d55a7a646e626..573e34a220cc4 100644
--- a/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php
+++ b/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php
@@ -26,7 +26,7 @@
$saveHistory = ComponentHelper::getParams($component)->get('save_history', 0);
-$fields = $displayData->get('fields') ?: [
+$fields = $displayData->fields ?? [
['parent', 'parent_id'],
['published', 'state', 'enabled'],
['category', 'catid'],
@@ -39,7 +39,7 @@
'version_note',
];
-$hiddenFields = $displayData->get('hidden_fields') ?: [];
+$hiddenFields = $displayData->hidden_fields ?? [];
if (!$saveHistory) {
$hiddenFields[] = 'version_note';
diff --git a/components/com_contact/src/View/Categories/HtmlView.php b/components/com_contact/src/View/Categories/HtmlView.php
index 5d9fa185ed877..b5fb8d7b0876e 100644
--- a/components/com_contact/src/View/Categories/HtmlView.php
+++ b/components/com_contact/src/View/Categories/HtmlView.php
@@ -35,5 +35,5 @@ class HtmlView extends CategoriesView
* @var string The name of the extension for the category
* @since 3.2
*/
- protected $extension = 'com_contact';
+ public $extension = 'com_contact';
}
diff --git a/components/com_content/src/View/Categories/HtmlView.php b/components/com_content/src/View/Categories/HtmlView.php
index acee52a61a6cb..7f2de224cd2c8 100644
--- a/components/com_content/src/View/Categories/HtmlView.php
+++ b/components/com_content/src/View/Categories/HtmlView.php
@@ -35,5 +35,5 @@ class HtmlView extends CategoriesView
* @var string The name of the extension for the category
* @since 3.2
*/
- protected $extension = 'com_content';
+ public $extension = 'com_content';
}
diff --git a/components/com_newsfeeds/src/View/Categories/HtmlView.php b/components/com_newsfeeds/src/View/Categories/HtmlView.php
index 6d68c869fb9af..581d804991db2 100644
--- a/components/com_newsfeeds/src/View/Categories/HtmlView.php
+++ b/components/com_newsfeeds/src/View/Categories/HtmlView.php
@@ -35,5 +35,5 @@ class HtmlView extends CategoriesView
* @var string The name of the extension for the category
* @since 3.2
*/
- protected $extension = 'com_newsfeeds';
+ public $extension = 'com_newsfeeds';
}
diff --git a/layouts/joomla/content/categories_default.php b/layouts/joomla/content/categories_default.php
index 6d1b30e84f9bd..2dbb26d618e4b 100644
--- a/layouts/joomla/content/categories_default.php
+++ b/layouts/joomla/content/categories_default.php
@@ -23,7 +23,7 @@
params->get('categories_description')) : ?>
- params->get('categories_description'), '', $displayData->get('extension') . '.categories'); ?>
+ params->get('categories_description'), '', $displayData->extension . '.categories'); ?>
diff --git a/layouts/joomla/content/category_default.php b/layouts/joomla/content/category_default.php
index 8b7fc1f7dfb57..8e5c18c3c662c 100644
--- a/layouts/joomla/content/category_default.php
+++ b/layouts/joomla/content/category_default.php
@@ -20,7 +20,7 @@
* layout you need to close this div either by overriding this file or in your main layout.
*/
$params = $displayData->params;
-$category = $displayData->get('category');
+$category = $displayData->category;
$extension = $category->extension;
$canEdit = $params->get('access-edit');
$className = substr($extension, 4);
@@ -89,7 +89,7 @@
loadTemplate($displayData->subtemplatename); ?>
- maxLevel != 0 && $displayData->get('children')) : ?>
+ maxLevel != 0 && $displayData->children) : ?>
get('show_category_heading_title_text', 1) == 1) : ?>
diff --git a/layouts/joomla/edit/admin_modules.php b/layouts/joomla/edit/admin_modules.php
index f06d5752f4f38..7c9d21eb5e21b 100644
--- a/layouts/joomla/edit/admin_modules.php
+++ b/layouts/joomla/edit/admin_modules.php
@@ -17,7 +17,7 @@
$form = $displayData->getForm();
$input = $app->getInput();
-$fields = $displayData->get('fields') ?: [
+$fields = $displayData->fields ?? [
['parent', 'parent_id'],
['published', 'state', 'enabled'],
['category', 'catid'],
@@ -30,7 +30,7 @@
'version_note',
];
-$hiddenFields = $displayData->get('hidden_fields') ?: [];
+$hiddenFields = $displayData->hidden_fields ?? [];
if (!ModuleHelper::isAdminMultilang()) {
$hiddenFields[] = 'language';
diff --git a/layouts/joomla/edit/fieldset.php b/layouts/joomla/edit/fieldset.php
index 3c5cf4fab417d..8daca272928ef 100644
--- a/layouts/joomla/edit/fieldset.php
+++ b/layouts/joomla/edit/fieldset.php
@@ -15,17 +15,17 @@
$app = Factory::getApplication();
$form = $displayData->getForm();
-$name = $displayData->get('fieldset');
+$name = $displayData->fieldset;
$fieldSet = $form->getFieldset($name);
if (empty($fieldSet)) {
return;
}
-$ignoreFields = $displayData->get('ignore_fields') ? : [];
-$extraFields = $displayData->get('extra_fields') ? : [];
+$ignoreFields = $displayData->ignore_fields ?? [];
+$extraFields = $displayData->extra_fields ?? [];
-if (!empty($displayData->showOptions) || $displayData->get('show_options', 1)) {
+if (!empty($displayData->showOptions) || ($displayData->show_options ?? 1)) {
if (isset($extraFields[$name])) {
foreach ($extraFields[$name] as $f) {
if (in_array($f, $ignoreFields)) {
diff --git a/layouts/joomla/edit/global.php b/layouts/joomla/edit/global.php
index e39b8402edb3e..435d6b1b481db 100644
--- a/layouts/joomla/edit/global.php
+++ b/layouts/joomla/edit/global.php
@@ -28,7 +28,7 @@
$saveHistory = ComponentHelper::getParams($component)->get('save_history', 0);
-$fields = $displayData->get('fields') ?: [
+$fields = $displayData->fields ?? [
'transition',
['parent', 'parent_id'],
['published', 'state', 'enabled'],
@@ -42,7 +42,7 @@
'version_note',
];
-$hiddenFields = $displayData->get('hidden_fields') ?: [];
+$hiddenFields = $displayData->hidden_fields ?? [];
if (!$saveHistory) {
$hiddenFields[] = 'version_note';
diff --git a/layouts/joomla/edit/params.php b/layouts/joomla/edit/params.php
index c61e6a5c0b944..4a5d525490912 100644
--- a/layouts/joomla/edit/params.php
+++ b/layouts/joomla/edit/params.php
@@ -18,27 +18,27 @@
$app = Factory::getApplication();
$form = $displayData->getForm();
$fieldSets = $form->getFieldsets();
-$helper = $displayData->get('useCoreUI', false) ? 'uitab' : 'bootstrap';
+$helper = ($displayData->useCoreUI ?? false) ? 'uitab' : 'bootstrap';
if (empty($fieldSets)) {
return;
}
-$ignoreFieldsets = $displayData->get('ignore_fieldsets') ?: [];
-$outputFieldsets = $displayData->get('output_fieldsets') ?: [];
-$ignoreFieldsetFields = $displayData->get('ignore_fieldset_fields') ?: [];
-$ignoreFields = $displayData->get('ignore_fields') ?: [];
-$extraFields = $displayData->get('extra_fields') ?: [];
-$tabName = $displayData->get('tab_name') ?: 'myTab';
+$ignoreFieldsets = $displayData->ignore_fieldsets ?? [];
+$outputFieldsets = $displayData->output_fieldsets ?? [];
+$ignoreFieldsetFields = $displayData->ignore_fieldset_fields ?? [];
+$ignoreFields = $displayData->ignore_fields ?? [];
+$extraFields = $displayData->extra_fields ?? [];
+$tabName = $displayData->tab_name ?? 'myTab';
// These are required to preserve data on save when fields are not displayed.
-$hiddenFieldsets = $displayData->get('hiddenFieldsets') ?: [];
+$hiddenFieldsets = $displayData->hiddenFieldsets ?? [];
// These are required to configure showing and hiding fields in the editor.
-$configFieldsets = $displayData->get('configFieldsets') ?: [];
+$configFieldsets = $displayData->configFieldsets ?? [];
// Handle the hidden fieldsets when show_options is set false
-if (!$displayData->get('show_options', 1)) {
+if (!($displayData->show_options ?? 1)) {
// The HTML buffer
$html = [];
diff --git a/layouts/joomla/edit/publishingdata.php b/layouts/joomla/edit/publishingdata.php
index 498e47feb9416..b7a2bca55d4c6 100644
--- a/layouts/joomla/edit/publishingdata.php
+++ b/layouts/joomla/edit/publishingdata.php
@@ -12,7 +12,7 @@
$form = $displayData->getForm();
-$fields = $displayData->get('fields') ?: [
+$fields = $displayData->fields ?? [
'publish_up',
'publish_down',
'featured_up',
@@ -27,7 +27,7 @@
'id'
];
-$hiddenFields = $displayData->get('hidden_fields') ?: [];
+$hiddenFields = $displayData->hidden_fields ?? [];
foreach ($fields as $field) {
foreach ((array) $field as $f) {
diff --git a/libraries/src/MVC/View/CategoriesView.php b/libraries/src/MVC/View/CategoriesView.php
index dbe2b7254eb6d..8a1f3f9d9a7d1 100644
--- a/libraries/src/MVC/View/CategoriesView.php
+++ b/libraries/src/MVC/View/CategoriesView.php
@@ -77,14 +77,15 @@ class CategoriesView extends HtmlView
*/
public function display($tpl = null)
{
- $state = $this->get('State');
- $items = $this->get('Items');
- $parent = $this->get('Parent');
+ $model = $this->getModel();
+ $state = $model->getState();
+ $items = $model->getItems();
+ $parent = $model->getParent();
$app = Factory::getApplication();
// Check for errors.
- if (\count($errors = $this->get('Errors'))) {
+ if (\count($errors = $model->getErrors())) {
$app->enqueueMessage($errors, 'error');
return false;
diff --git a/libraries/src/MVC/View/CategoryView.php b/libraries/src/MVC/View/CategoryView.php
index b0f7fb5e751b2..c4b369e869b2a 100644
--- a/libraries/src/MVC/View/CategoryView.php
+++ b/libraries/src/MVC/View/CategoryView.php
@@ -58,7 +58,7 @@ class CategoryView extends HtmlView
* @var CategoryNode
* @since 3.2
*/
- protected $category;
+ public $category;
/**
* The list of other categories for this extension.
@@ -82,7 +82,7 @@ class CategoryView extends HtmlView
* @var array
* @since 3.2
*/
- protected $children;
+ public $children;
/**
* The name of the extension for the category
@@ -145,10 +145,10 @@ public function commonCategoryDisplay()
$paramsModel->set('check_access_rights', 0);
$model->setState('params', $paramsModel);
- $state = $this->get('State');
- $category = $this->get('Category');
- $children = $this->get('Children');
- $parent = $this->get('Parent');
+ $state = $model->getState();
+ $category = $model->getCategory();
+ $children = $model->getChildren();
+ $parent = $model->getParent();
if (!$category) {
throw new \InvalidArgumentException(Text::_('JGLOBAL_CATEGORY_NOT_FOUND'), 404);
@@ -165,11 +165,11 @@ public function commonCategoryDisplay()
throw new \RuntimeException(Text::_('JERROR_ALERTNOAUTHOR'), 403);
}
- $items = $this->get('Items');
- $pagination = $this->get('Pagination');
+ $items = $model->getItems();
+ $pagination = $model->getPagination();
// Check for errors.
- if (\count($errors = $this->get('Errors'))) {
+ if (\count($errors = $model->getErrors())) {
throw new GenericDataException(implode("\n", $errors), 500);
}
From 60d13793f58f57035e9687e374805ea63c40b587 Mon Sep 17 00:00:00 2001
From: Christian Heel <66922325+heelc29@users.noreply.github.com>
Date: Tue, 8 Jul 2025 05:50:51 +0200
Subject: [PATCH 2/2] keep for b/c
---
libraries/src/MVC/View/CategoriesView.php | 9 ++++-----
libraries/src/MVC/View/CategoryView.php | 14 +++++++-------
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/libraries/src/MVC/View/CategoriesView.php b/libraries/src/MVC/View/CategoriesView.php
index 8a1f3f9d9a7d1..dbe2b7254eb6d 100644
--- a/libraries/src/MVC/View/CategoriesView.php
+++ b/libraries/src/MVC/View/CategoriesView.php
@@ -77,15 +77,14 @@ class CategoriesView extends HtmlView
*/
public function display($tpl = null)
{
- $model = $this->getModel();
- $state = $model->getState();
- $items = $model->getItems();
- $parent = $model->getParent();
+ $state = $this->get('State');
+ $items = $this->get('Items');
+ $parent = $this->get('Parent');
$app = Factory::getApplication();
// Check for errors.
- if (\count($errors = $model->getErrors())) {
+ if (\count($errors = $this->get('Errors'))) {
$app->enqueueMessage($errors, 'error');
return false;
diff --git a/libraries/src/MVC/View/CategoryView.php b/libraries/src/MVC/View/CategoryView.php
index c4b369e869b2a..9bafb80665894 100644
--- a/libraries/src/MVC/View/CategoryView.php
+++ b/libraries/src/MVC/View/CategoryView.php
@@ -145,10 +145,10 @@ public function commonCategoryDisplay()
$paramsModel->set('check_access_rights', 0);
$model->setState('params', $paramsModel);
- $state = $model->getState();
- $category = $model->getCategory();
- $children = $model->getChildren();
- $parent = $model->getParent();
+ $state = $this->get('State');
+ $category = $this->get('Category');
+ $children = $this->get('Children');
+ $parent = $this->get('Parent');
if (!$category) {
throw new \InvalidArgumentException(Text::_('JGLOBAL_CATEGORY_NOT_FOUND'), 404);
@@ -165,11 +165,11 @@ public function commonCategoryDisplay()
throw new \RuntimeException(Text::_('JERROR_ALERTNOAUTHOR'), 403);
}
- $items = $model->getItems();
- $pagination = $model->getPagination();
+ $items = $this->get('Items');
+ $pagination = $this->get('Pagination');
// Check for errors.
- if (\count($errors = $model->getErrors())) {
+ if (\count($errors = $this->get('Errors'))) {
throw new GenericDataException(implode("\n", $errors), 500);
}