Skip to content

Commit c514a25

Browse files
authored
Merge pull request joomla#45985 from muhme/5.4-upmerge-2025-08-26
[5.4] Upmerge 2025-08-26
2 parents 67d279c + d240556 commit c514a25

File tree

124 files changed

+150
-177
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+150
-177
lines changed

.github/CONTRIBUTING.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@ You are welcome to submit a contribution for review and possible inclusion in th
1515
Please be patient as not all items will be viewed or tested immediately (remember, all bug testing for the Joomla! CMS is done by volunteers) and be receptive to feedback about your code.
1616

1717
#### Branches
18-
While 4.4 is in maintenance mode, ie we are still fixing bugs, PRs should be made to the `4.4-dev` branch. Merged bugfixes will be upmerged into the current 5.x branch. If a bug is only in the 5.x series the PR should be made to the current 5.x branch (currently 5.1).
18+
Joomla 4.4 is in security maintenance mode, until 14th October 2025, which means it will only receive security fixes. Bug fixing PRs should be made to the `5.3-dev` branch. Merged bugfixes will be upmerged into the current branches. New features that do not break backwards compatibility should be made to the `5.4-dev` branch otherwise they should be made to the `6.0-dev` branch.
1919

2020

2121
| Branch | Purpose |
2222
| ------ | ------- |
23-
| 4.4-dev | Branch for the current 4.x Joomla version. Currently in maintenance mode |
24-
| 5.1-dev | Branch for the current 5.x Joomla version. Bugfix only for 5.x go into this branch. |
25-
| 5.2-dev | Branch for the next minor 5.x Joomla version. New features go into this branch. |
23+
| 4.4-dev | Branch for the current 4.x Joomla version. Currently in security maintenance mode. |
24+
| 5.3-dev | Branch for the current 5.x Joomla version. Bugfix only for 5.x go into this branch. |
25+
| 5.4-dev | Branch for the next minor 5.x Joomla version. New features go into this branch. |
2626
| 6.0-dev | Branch for the next major Joomla version. New features that include a b/c break have to go into this branch. |
27-

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

administrator/components/com_banners/src/Table/BannerTable.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,15 @@ public function store($updateNulls = true)
220220
{
221221
$db = $this->getDatabase();
222222

223+
// Verify that the alias is unique
224+
$table = new self($db, $this->getDispatcher());
225+
226+
if ($table->load(['alias' => $this->alias, 'catid' => $this->catid]) && ($table->id != $this->id || $this->id == 0)) {
227+
$this->setError(Text::_('COM_BANNERS_ERROR_UNIQUE_ALIAS'));
228+
229+
return false;
230+
}
231+
223232
if (empty($this->id)) {
224233
$purchaseType = $this->purchase_type;
225234

@@ -265,15 +274,6 @@ public function store($updateNulls = true)
265274
$this->setError($oldrow->getError());
266275
}
267276

268-
// Verify that the alias is unique
269-
$table = new self($db, $this->getDispatcher());
270-
271-
if ($table->load(['alias' => $this->alias, 'catid' => $this->catid]) && ($table->id != $this->id || $this->id == 0)) {
272-
$this->setError(Text::_('COM_BANNERS_ERROR_UNIQUE_ALIAS'));
273-
274-
return false;
275-
}
276-
277277
// Store the new row
278278
parent::store($updateNulls);
279279

administrator/components/com_media/resources/scripts/components/browser/browser.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,7 @@ export default {
154154
return this.$store.state.search !== '' && this.localItems.length === 0;
155155
},
156156
isEmpty() {
157-
return ![...this.$store.getters.getSelectedDirectoryDirectories, ...this.$store.getters.getSelectedDirectoryFiles].length
158-
&& !this.$store.state.isLoading;
157+
return !this.localItems.length && !this.$store.state.isLoading;
159158
},
160159
/* The styles for the media-browser element */
161160
listView() {

administrator/language/en-GB/com_config.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ COM_CONFIG_FIELD_MEMCACHE_PERSISTENT_LABEL="Persistent Memcache(d)"
142142
COM_CONFIG_FIELD_MEMCACHE_PORT_LABEL="Memcache(d) Server Port"
143143
COM_CONFIG_FIELD_METAAUTHOR_LABEL="Author Meta Tag"
144144
COM_CONFIG_FIELD_METADESC_LABEL="Site Meta Description"
145-
COM_CONFIG_FIELD_METAVERSION_DESC="Controls whether the <code>generator</code> meta tag in the HTML document's header in the front-end and in Atom feeds includes the exact version of your Joomla site. It is recommended to hide it for security reasons."
145+
COM_CONFIG_FIELD_METAVERSION_DESC="Controls whether the <code>generator</code> meta tag in the HTML document's header in the frontend and in Atom feeds includes the exact version of your Joomla site. It is recommended to hide it for security reasons."
146146
COM_CONFIG_FIELD_METAVERSION_LABEL="Joomla Version"
147147
COM_CONFIG_FIELD_OFFLINE_IMAGE_LABEL="Offline Image"
148148
COM_CONFIG_FIELD_OFFLINE_MESSAGE_LABEL="Custom Message"

build/media_source/system/js/fields/calendar.es5.js

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -779,16 +779,27 @@
779779
cell.colSpan = 1;
780780
}
781781

782-
H.addEventListener("change", function (event) {
783-
self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,
784-
event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,
785-
event.target.parentNode.parentNode.childNodes[3].childNodes[0].value);
786-
}, false);
787-
M.addEventListener("change", function (event) {
788-
self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,
789-
event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,
790-
event.target.parentNode.parentNode.childNodes[3].childNodes[0].value);
791-
}, false);
782+
if (self.params.weekNumbers) {
783+
H.addEventListener("change", function (event) {
784+
self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,
785+
event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,
786+
event.target.parentNode.parentNode.childNodes[3].childNodes[0].value);
787+
}, false);
788+
M.addEventListener("change", function (event) {
789+
self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,
790+
event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,
791+
event.target.parentNode.parentNode.childNodes[3].childNodes[0].value);
792+
}, false);
793+
} else {
794+
H.addEventListener("change", function (event) {
795+
self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,
796+
event.target.parentNode.parentNode.childNodes[2].childNodes[0].value);
797+
}, false);
798+
M.addEventListener("change", function (event) {
799+
self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,
800+
event.target.parentNode.parentNode.childNodes[2].childNodes[0].value);
801+
}, false);
802+
}
792803
})();
793804
}
794805

build/media_source/templates/site/cassiopeia/js/mod_menu/menu-metismenu.es6.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
* @since 4.0.0
77
*/
88

9-
document.addEventListener('DOMContentLoaded', () => {
10-
document.querySelectorAll('ul.mod-menu_dropdown-metismenu').forEach((menu) => {
11-
const mm = new MetisMenu(menu, {
12-
triggerElement: 'button.mm-toggler',
13-
}).on('shown.metisMenu', (event) => {
14-
window.addEventListener('click', function mmClick(e) {
15-
if (!event.target.contains(e.target)) {
16-
mm.hide(event.detail.shownElement);
9+
document.querySelectorAll('ul.mod-menu_dropdown-metismenu').forEach((menu) => {
10+
const mm = new MetisMenu(menu, {
11+
triggerElement: 'button.mm-toggler',
12+
}).on('shown.metisMenu', (event) => {
13+
window.addEventListener('click', function mmClick(e) {
14+
if (!event.target.contains(e.target)) {
15+
mm.addEventListener('hidden.metisMenu', () => {
1716
window.removeEventListener('click', mmClick);
18-
}
19-
});
17+
});
18+
mm.hide(event.detail.shownElement);
19+
}
2020
});
2121
});
2222
});

components/com_tags/src/Service/Router.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,8 @@ protected function buildLookup()
363363
$items = $this->app->getMenu()->getItems(['component_id'], [$component->id]);
364364

365365
foreach ($items as $item) {
366+
$itemParams = $item->getParams();
367+
366368
if (!isset($this->lookup[$item->language])) {
367369
$this->lookup[$item->language] = ['tags' => [], 'tag' => []];
368370
}
@@ -372,8 +374,11 @@ protected function buildLookup()
372374
sort($id);
373375
$this->lookup[$item->language]['tag'][implode(',', $id)] = $item->id;
374376

375-
foreach ($id as $i) {
376-
$this->lookup[$item->language]['tag'][$i] = $item->id;
377+
// Only apply to menu items with match type any
378+
if ($itemParams->get('return_any_or_all') == 1) {
379+
foreach ($id as $i) {
380+
$this->lookup[$item->language]['tag'][$i] = $item->id;
381+
}
377382
}
378383
}
379384

installation/language/af-ZA/joomla.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ INSTL_DATABASE_NO_SCHEMA="Geen databasisskema bestaan ​​vir hierdie tipe dat
8484
INSTL_DATABASE_PASSWORD_DESC="Voer die databasiswagwoord in wat jy geskep het of die wagwoord wat deur jou gasheer verskaf is."
8585
INSTL_DATABASE_PREFIX_DESC="Voer 'n tabelvoorvoegsel in of gebruik die lukraak gegenereerde een."
8686
INSTL_DATABASE_PREFIX_DUPLICATE_DESC="As jy 'n bestaande databasis met tabelle met dieselfde voorvoegsel gebruik, sal Joomla daardie bestaande tabelle hernoem deur die voorvoegsel \"bak_\" by te voeg."
87-
INSTL_DATABASE_PREFIX_MSG="Die tabelvoorvoegsel moet met 'n letter begin, optioneel gevolg deur alfanumeriese karakters en 'n onderstreep karakter"
8887
INSTL_DATABASE_RESPONSE_ERROR="Die installasieproses het misluk."
8988
INSTL_DATABASE_TYPE_DESC="Kies die tipe databasis."
9089
INSTL_DATABASE_USER_DESC="Voer die databasisgebruikersnaam in wat jy geskep het of die gebruikersnaam wat deur jou gasheer verskaf is."

installation/language/af-ZA/langmetadata.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<metafile client="installation">
33
<name>Afrikaans (Suid-Afrika)</name>
4-
<version>5.3.3</version>
4+
<version>5.3.4</version>
55
<creationDate>2025-08</creationDate>
66
<author>Afrikaans Translation Team</author>
77
<copyright>(C) 2005 Open Source Matters, Inc.</copyright>

0 commit comments

Comments
 (0)