Skip to content

Commit 685a936

Browse files
authored
[6.0] Upmerge 2025-08-05
Merge pull request #45846 from richard67/6.0-dev-upmerge-2025-08-05
2 parents ab32c97 + 341748a commit 685a936

File tree

157 files changed

+2861
-5050
lines changed

Some content is hidden

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

157 files changed

+2861
-5050
lines changed

administrator/components/com_config/src/Model/ApplicationModel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ public function save($data)
367367
$response = HttpFactory::getHttp($options)->get('https://' . $host . Uri::root(true) . '/', ['Host' => $host], 10);
368368

369369
// If available in HTTPS check also the status code.
370-
if (!\in_array($response->code, [200, 503, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 401], true)) {
370+
if (!\in_array($response->getStatusCode(), [200, 503, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 401], true)) {
371371
throw new \RuntimeException(Text::_('COM_CONFIG_ERROR_SSL_NOT_AVAILABLE_HTTP_CODE'));
372372
}
373373
} catch (\RuntimeException $e) {

administrator/components/com_content/forms/filter_articles.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,19 @@
8989
<option value="*">JALL</option>
9090
</field>
9191

92+
<field
93+
name="checked_out"
94+
type="list"
95+
label="COM_CONTENT_CHECKED_OUT"
96+
class="js-select-submit-on-change"
97+
default=""
98+
validate="options"
99+
>
100+
<option value="">COM_CONTENT_SELECT_CHECKED_OUT</option>
101+
<option value="0">COM_CONTENT_FILTER_CHECKED_OUT_NO</option>
102+
<option value="-1">COM_CONTENT_FILTER_CHECKED_OUT_YES</option>
103+
</field>
104+
92105
<field
93106
name="tag"
94107
type="tag"

administrator/components/com_content/src/Model/ArticlesModel.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ protected function populateState($ordering = 'a.id', $direction = 'desc')
146146
$this->getUserStateFromRequest($this->context . '.filter.tag', 'filter_tag', '');
147147
$this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access');
148148
$this->getUserStateFromRequest($this->context . '.filter.language', 'filter_language', '');
149+
$this->getUserStateFromRequest($this->context . '.filter.checked_out', 'filter_checked_out', '');
149150

150151
// List state information.
151152
parent::populateState($ordering, $direction);
@@ -181,6 +182,7 @@ protected function getStoreId($id = '')
181182
$id .= ':' . serialize($this->getState('filter.author_id'));
182183
$id .= ':' . $this->getState('filter.language');
183184
$id .= ':' . serialize($this->getState('filter.tag'));
185+
$id .= ':' . $this->getState('filter.checked_out');
184186

185187
return parent::getStoreId($id);
186188
}
@@ -494,6 +496,24 @@ protected function getListQuery()
494496
->bind(':language', $language);
495497
}
496498

499+
// Filter by checked out status.
500+
$checkedOut = $this->getState('filter.checked_out');
501+
502+
if (is_numeric($checkedOut)) {
503+
if ($checkedOut == -1) {
504+
// Only checked out articles
505+
$query->where($db->quoteName('a.checked_out') . ' > 0');
506+
} elseif ($checkedOut == 0) {
507+
// Only not checked out articles (checked_out is 0 or NULL)
508+
$query->where('(' . $db->quoteName('a.checked_out') . ' = 0 OR ' . $db->quoteName('a.checked_out') . ' IS NULL)');
509+
} else {
510+
// Checked out by specific user
511+
$checkedOut = (int) $checkedOut;
512+
$query->where($db->quoteName('a.checked_out') . ' = :checkedOutUser')
513+
->bind(':checkedOutUser', $checkedOut, ParameterType::INTEGER);
514+
}
515+
}
516+
497517
// Filter by a single or group of tags.
498518
$tag = $this->getState('filter.tag');
499519

administrator/components/com_finder/src/Model/IndexModel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ protected function getListQuery()
228228

229229
// Filter by indexdate only if $search doesn't contains non-ascii characters
230230
if (!preg_match('/[^\x00-\x7F]/', $search)) {
231-
$orSearchSql .= ' OR ' . $query->castAsChar($db->quoteName('l.indexdate')) . ' LIKE ' . $search;
231+
$orSearchSql .= ' OR ' . $query->castAs('CHAR', $db->quoteName('l.indexdate')) . ' LIKE ' . $search;
232232
}
233233

234234
$query->where('(' . $orSearchSql . ')');

administrator/components/com_installer/src/Model/InstallerModel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ protected function _getList($query, $limitstart = 0, $limit = 0)
126126
$this->setState('list.limitstart', 0);
127127
}
128128

129-
return \array_slice($result, $limitstart, $limit ?: null);
129+
return \array_slice($result, $limitstart ?: 0, $limit ?: null);
130130
}
131131

132132
// Process searching, ordering and pagination for regular database fields.

administrator/components/com_installer/src/Model/LanguagesModel.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,13 @@ protected function getLanguages()
140140
$response = null;
141141
}
142142

143-
if ($response === null || $response->code !== 200) {
143+
if ($response === null || $response->getStatusCode() !== 200) {
144144
Factory::getApplication()->enqueueMessage(Text::sprintf('COM_INSTALLER_MSG_ERROR_CANT_CONNECT_TO_UPDATESERVER', $updateSite), 'error');
145145

146146
return;
147147
}
148148

149-
$updateSiteXML = simplexml_load_string($response->body);
149+
$updateSiteXML = simplexml_load_string((string) $response->getBody());
150150

151151
if (!$updateSiteXML) {
152152
Factory::getApplication()->enqueueMessage(Text::sprintf('COM_INSTALLER_MSG_ERROR_CANT_RETRIEVE_XML', $updateSite), 'error');

administrator/components/com_joomlaupdate/src/Model/UpdateModel.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,8 @@ public function download()
395395
}
396396

397397
// Follow the Location headers until the actual download URL is known
398-
while (isset($head->headers['location'])) {
399-
$packageURL = (string) $head->headers['location'][0];
398+
while (isset($head->getHeaders()['location'])) {
399+
$packageURL = (string) $head->getHeaders()['location'][0];
400400

401401
try {
402402
$head = HttpFactory::getHttp($httpOptions)->head($packageURL);
@@ -589,7 +589,7 @@ public function changeAutoUpdateRegistration(AutoupdateRegisterState $targetStat
589589
}
590590

591591
// Decode response
592-
$result = json_decode((string)$response->getBody(), true);
592+
$result = json_decode((string) $response->getBody(), true);
593593

594594
// Handle validation issue
595595
if ($response->getStatusCode() === 422) {
@@ -765,12 +765,12 @@ protected function downloadPackage($url, $target)
765765
return false;
766766
}
767767

768-
if (!$result || ($result->code != 200 && $result->code != 310)) {
768+
if (!$result || ($result->getStatusCode() != 200 && $result->getStatusCode() != 310)) {
769769
return false;
770770
}
771771

772772
// Fix Indirect Modification of Overloaded Property
773-
$body = $result->body;
773+
$body = (string) $result->getBody();
774774

775775
// Write the file to disk
776776
try {
@@ -1856,11 +1856,11 @@ private function getCollectionDetailsUrls($updateSiteInfo, $joomlaTargetVersion)
18561856
$response = null;
18571857
}
18581858

1859-
if ($response === null || $response->code !== 200) {
1859+
if ($response === null || $response->getStatusCode() !== 200) {
18601860
return $return;
18611861
}
18621862

1863-
$updateSiteXML = simplexml_load_string($response->body);
1863+
$updateSiteXML = simplexml_load_string((string) $response->getBody());
18641864

18651865
foreach ($updateSiteXML->extension as $extension) {
18661866
$attribs = new \stdClass();

administrator/language/en-GB/com_content.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ COM_CONTENT_BATCH_OPTIONS="Batch process the selected articles"
1414
COM_CONTENT_BATCH_TIP="If a category is selected for move/copy, any actions selected will be applied to the copied or moved articles. Otherwise, all actions are applied to the selected articles."
1515
COM_CONTENT_CHANGE_STAGE="Change stage"
1616
COM_CONTENT_CHANGE_STAGE_AMBIGUOUS_TRANSITIONS="Some transitions are ambiguous for this condition. Please select your preferred transition and proceed."
17+
COM_CONTENT_CHECKED_OUT="Checked Out"
1718
COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC="These settings apply for article layouts unless they are changed for a specific menu item or article."
1819
COM_CONTENT_CONFIG_BLOG_SETTINGS_DESC="These settings apply for blog or featured layouts unless they are changed for a specific menu item."
1920
COM_CONTENT_CONFIG_BLOG_SETTINGS_LABEL="Blog/Featured Layouts"
@@ -104,6 +105,8 @@ COM_CONTENT_FIELDSET_PUBLISHING="Publishing"
104105
COM_CONTENT_FIELDSET_RULES="Permissions"
105106
COM_CONTENT_FIELDSET_URLS_AND_IMAGES="Images and Links"
106107
COM_CONTENT_FILTER_AUTHORS_BY_ME="- Created by me -"
108+
COM_CONTENT_FILTER_CHECKED_OUT_NO="Not Checked Out"
109+
COM_CONTENT_FILTER_CHECKED_OUT_YES="Checked Out"
107110
COM_CONTENT_FILTER_FEATURED_NO="Unfeatured Articles"
108111
COM_CONTENT_FILTER_FEATURED_YES="Featured Articles"
109112
COM_CONTENT_FILTER_SEARCH_DESC="Search in title, alias and note. Prefix with ID: or AUTHOR: or CONTENT: to search for an article ID, article author or search in article content. Prefix with CHECKEDOUT: to search for content checked out by a specified user."
@@ -165,6 +168,7 @@ COM_CONTENT_RUN_TRANSITIONS="Run Transitions"
165168
COM_CONTENT_SAVE_SUCCESS="Article saved."
166169
COM_CONTENT_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the article to customise the alias."
167170
COM_CONTENT_SELECT_AN_ARTICLE="Select an Article"
171+
COM_CONTENT_SELECT_CHECKED_OUT="- Select Checked Out -"
168172
COM_CONTENT_SELECT_FEATURED="- Select Featured -"
169173
COM_CONTENT_SHARED_DESC="These settings apply for Shared Options in List, Blog and Featured unless they are changed by the menu settings."
170174
COM_CONTENT_SHARED_LABEL="Shared"

administrator/modules/mod_logged/mod_logged.php

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

administrator/modules/mod_logged/mod_logged.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<description>MOD_LOGGED_XML_DESCRIPTION</description>
1212
<namespace path="src">Joomla\Module\Logged</namespace>
1313
<files>
14-
<filename module="mod_logged">mod_logged.php</filename>
14+
<folder module="mod_logged">services</folder>
1515
<folder>src</folder>
1616
<folder>tmpl</folder>
1717
</files>

0 commit comments

Comments
 (0)