Skip to content

Commit 6676f74

Browse files
committed
Release Joomla! 5.3.0 Beta 1
1 parent c4c8380 commit 6676f74

File tree

54 files changed

+131
-80
lines changed

Some content is hidden

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

54 files changed

+131
-80
lines changed

administrator/components/com_scheduler/src/Model/TasksModel.php

+53-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
*/
3636
class TasksModel extends ListModel
3737
{
38+
protected $listForbiddenList = ['select', 'multi_ordering'];
39+
3840
/**
3941
* Constructor.
4042
*
@@ -343,8 +345,19 @@ static function (TaskOption $taskOption): string {
343345
}
344346
}
345347
} else {
346-
// @todo Should add quoting here
347-
$query->order($multiOrdering);
348+
$orderClauses = [];
349+
350+
// Loop through provided clauses
351+
foreach ($multiOrdering as $ordering) {
352+
[$column, $direction] = explode(' ', $ordering);
353+
354+
$orderClauses[] = $db->quoteName($column) . ' ' . $direction;
355+
}
356+
357+
// At least one correct order clause
358+
if (\count($orderClauses) > 0) {
359+
$query->order($orderClauses);
360+
}
348361
}
349362

350363
return $query;
@@ -435,6 +448,44 @@ private function attachTaskOptions(array $items): void
435448
*/
436449
protected function populateState($ordering = 'a.next_execution', $direction = 'ASC'): void
437450
{
451+
$app = Factory::getApplication();
452+
453+
// Clean the multiorder values
454+
if ($list = $app->getUserStateFromRequest($this->context . '.list', 'list', [], 'array')) {
455+
if (!empty($list['multi_ordering']) && \is_array($list['multi_ordering'])) {
456+
$orderClauses = [];
457+
458+
// Loop through provided clauses
459+
foreach ($list['multi_ordering'] as $multiOrdering) {
460+
// Split the combined string into individual variables
461+
$multiOrderingParts = explode(' ', $multiOrdering, 2);
462+
463+
// Check that at least the column is present
464+
if (\count($multiOrderingParts) < 1) {
465+
continue;
466+
}
467+
468+
// Assign variables
469+
$multiOrderingColumn = $multiOrderingParts[0];
470+
$multiOrderingDir = \count($multiOrderingParts) === 2 ? $multiOrderingParts[1] : 'asc';
471+
472+
// Validate provided column
473+
if (!\in_array($multiOrderingColumn, $this->filter_fields)) {
474+
continue;
475+
}
476+
477+
// Validate order dir
478+
if (strtolower($multiOrderingDir) !== 'asc' && strtolower($multiOrderingDir) !== 'desc') {
479+
continue;
480+
}
481+
482+
$orderClauses[] = $multiOrderingColumn . ' ' . $multiOrderingDir;
483+
}
484+
485+
$this->setState('list.multi_ordering', $orderClauses);
486+
}
487+
}
488+
438489
// Call the parent method
439490
parent::populateState($ordering, $direction);
440491
}

administrator/language/en-GB/install.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<name>English (en-GB)</name>
44
<tag>en-GB</tag>
55
<version>5.3.0</version>
6-
<creationDate>2025-01</creationDate>
6+
<creationDate>2025-02</creationDate>
77
<author>Joomla! Project</author>
88
<authorEmail>[email protected]</authorEmail>
99
<authorUrl>www.joomla.org</authorUrl>

administrator/language/en-GB/langmetadata.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<metafile client="administrator">
33
<name>English (en-GB)</name>
44
<version>5.3.0</version>
5-
<creationDate>2025-01</creationDate>
5+
<creationDate>2025-02</creationDate>
66
<author>Joomla! Project</author>
77
<authorEmail>[email protected]</authorEmail>
88
<authorUrl>www.joomla.org</authorUrl>

administrator/manifests/files/joomla.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
<authorUrl>www.joomla.org</authorUrl>
77
<copyright>(C) 2019 Open Source Matters, Inc.</copyright>
88
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
9-
<version>5.3.0-alpha4-dev</version>
10-
<creationDate>2025-01</creationDate>
9+
<version>5.3.0-beta1</version>
10+
<creationDate>2025-02</creationDate>
1111
<description>FILES_JOOMLA_XML_DESCRIPTION</description>
1212

1313
<scriptfile>administrator/components/com_admin/script.php</scriptfile>

administrator/manifests/packages/pkg_en-GB.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<name>English (en-GB) Language Pack</name>
44
<packagename>en-GB</packagename>
55
<version>5.3.0.1</version>
6-
<creationDate>2025-01</creationDate>
6+
<creationDate>2025-02</creationDate>
77
<author>Joomla! Project</author>
88
<authorEmail>[email protected]</authorEmail>
99
<authorUrl>www.joomla.org</authorUrl>

administrator/modules/mod_feed/services/provider.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
/**
2020
* The feed module service provider.
2121
*
22-
* @since __DEPLOY_VERSION__
22+
* @since 5.3.0
2323
*/
2424
return new class () implements ServiceProviderInterface {
2525
/**
@@ -29,7 +29,7 @@
2929
*
3030
* @return void
3131
*
32-
* @since __DEPLOY_VERSION__
32+
* @since 5.3.0
3333
*/
3434
public function register(Container $container)
3535
{

administrator/modules/mod_feed/src/Dispatcher/Dispatcher.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
/**
2323
* Dispatcher class for mod_feed
2424
*
25-
* @since __DEPLOY_VERSION__
25+
* @since 5.3.0
2626
*/
2727
class Dispatcher extends AbstractModuleDispatcher implements HelperFactoryAwareInterface
2828
{
@@ -33,7 +33,7 @@ class Dispatcher extends AbstractModuleDispatcher implements HelperFactoryAwareI
3333
*
3434
* @return array
3535
*
36-
* @since __DEPLOY_VERSION__
36+
* @since 5.3.0
3737
*/
3838
protected function getLayoutData()
3939
{

administrator/modules/mod_feed/src/Helper/FeedHelper.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class FeedHelper
3333
*
3434
* @return \Joomla\CMS\Feed\Feed|string Return a Feed object or a string message if error.
3535
*
36-
* @since __DEPLOY_VERSION__
36+
* @since 5.3.0
3737
*/
3838
public function getFeedData(Registry $params, FeedFactory $feed): \Joomla\CMS\Feed\Feed|string
3939
{
@@ -63,7 +63,7 @@ public function getFeedData(Registry $params, FeedFactory $feed): \Joomla\CMS\Fe
6363
*
6464
* @since 1.5
6565
*
66-
* @deprecated __DEPLOY_VERSION__ will be removed in 7.0
66+
* @deprecated 5.3.0 will be removed in 7.0
6767
* Use the non-static method getFeedData
6868
* Example: Factory::getApplication()->bootModule('mod_feed', 'administrator')
6969
* ->getHelper('FeedHelper')

administrator/modules/mod_privacy_status/services/provider.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
/**
2020
* The privacy status module service provider.
2121
*
22-
* @since __DEPLOY_VERSION__
22+
* @since 5.3.0
2323
*/
2424
return new class () implements ServiceProviderInterface {
2525
/**
@@ -29,7 +29,7 @@
2929
*
3030
* @return void
3131
*
32-
* @since __DEPLOY_VERSION__
32+
* @since 5.3.0
3333
*/
3434
public function register(Container $container)
3535
{

administrator/modules/mod_privacy_status/src/Dispatcher/Dispatcher.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
/**
2424
* Dispatcher class for mod_privacy_status
2525
*
26-
* @since __DEPLOY_VERSION__
26+
* @since 5.3.0
2727
*/
2828
class Dispatcher extends AbstractModuleDispatcher implements HelperFactoryAwareInterface
2929
{
@@ -34,7 +34,7 @@ class Dispatcher extends AbstractModuleDispatcher implements HelperFactoryAwareI
3434
*
3535
* @return void
3636
*
37-
* @since __DEPLOY_VERSION__
37+
* @since 5.3.0
3838
*/
3939
public function dispatch()
4040
{
@@ -61,7 +61,7 @@ public function dispatch()
6161
*
6262
* @return array
6363
*
64-
* @since __DEPLOY_VERSION__
64+
* @since 5.3.0
6565
*/
6666
protected function getLayoutData()
6767
{

administrator/modules/mod_privacy_status/src/Helper/PrivacyStatusHelper.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class PrivacyStatusHelper implements DatabaseAwareInterface
4040
*
4141
* @return array Array containing a status of whether a privacy policy is set and a link to the policy document for editing
4242
*
43-
* @since __DEPLOY_VERSION__
43+
* @since 5.3.0
4444
*/
4545
public function getPrivacyPolicyInformation(CMSApplicationInterface $app)
4646
{
@@ -73,7 +73,7 @@ public function getPrivacyPolicyInformation(CMSApplicationInterface $app)
7373
*
7474
* @return array Array containing a status of whether a menu is published for the request form and its current link
7575
*
76-
* @since __DEPLOY_VERSION__
76+
* @since 5.3.0
7777
*
7878
*/
7979
public function getRequestFormMenuStatus(CMSApplicationInterface $app)
@@ -162,7 +162,7 @@ public function getRequestFormMenuStatus(CMSApplicationInterface $app)
162162
*
163163
* @return integer
164164
*
165-
* @since __DEPLOY_VERSION__
165+
* @since 5.3.0
166166
*/
167167
public function getNumberOfUrgentRequests()
168168
{
@@ -192,7 +192,7 @@ public function getNumberOfUrgentRequests()
192192
*
193193
* @return string The database encryption details
194194
*
195-
* @since __DEPLOY_VERSION__
195+
* @since 5.3.0
196196
*/
197197
public function getDatabaseConnectionEncryption()
198198
{
@@ -206,7 +206,7 @@ public function getDatabaseConnectionEncryption()
206206
*
207207
* @since 4.0.0
208208
*
209-
* @deprecated __DEPLOY_VERSION__ will be removed in 7.0
209+
* @deprecated 5.3.0 will be removed in 7.0
210210
* Use the non-static method getPrivacyPolicyInformation
211211
* Example: Factory::getApplication()->bootModule('mod_privacy_status', 'administrator')
212212
* ->getHelper('PrivacyStatusHelper')
@@ -228,7 +228,7 @@ public static function getPrivacyPolicyInfo()
228228
*
229229
* @since 4.0.0
230230
*
231-
* @deprecated __DEPLOY_VERSION__ will be removed in 7.0
231+
* @deprecated 5.3.0 will be removed in 7.0
232232
* Use the non-static method getRequestFormMenuStatus
233233
* Example: Factory::getApplication()->bootModule('mod_privacy_status', 'administrator')
234234
* ->getHelper('PrivacyStatusHelper')
@@ -250,7 +250,7 @@ public static function getRequestFormPublished()
250250
*
251251
* @since 4.0.0
252252
*
253-
* @deprecated __DEPLOY_VERSION__ will be removed in 7.0
253+
* @deprecated 5.3.0 will be removed in 7.0
254254
* Use the non-static method getNumberOfUrgentRequests
255255
* Example: Factory::getApplication()->bootModule('mod_privacy_status', 'administrator')
256256
* ->getHelper('PrivacyStatusHelper')

api/language/en-GB/install.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<name>English (en-GB)</name>
44
<tag>en-GB</tag>
55
<version>5.3.0</version>
6-
<creationDate>2025-01</creationDate>
6+
<creationDate>2025-02</creationDate>
77
<author>Joomla! Project</author>
88
<authorEmail>[email protected]</authorEmail>
99
<authorUrl>www.joomla.org</authorUrl>

api/language/en-GB/langmetadata.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<metafile client="api">
33
<name>English (en-GB)</name>
44
<version>5.3.0</version>
5-
<creationDate>2025-01</creationDate>
5+
<creationDate>2025-02</creationDate>
66
<author>Joomla! Project</author>
77
<authorEmail>[email protected]</authorEmail>
88
<authorUrl>www.joomla.org</authorUrl>

installation/language/en-GB/langmetadata.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<metafile client="installation">
33
<name>English (United Kingdom)</name>
44
<version>5.3.0</version>
5-
<creationDate>2025-01</creationDate>
5+
<creationDate>2025-02</creationDate>
66
<author>Joomla! Project</author>
77
<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
88
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>

language/en-GB/install.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<name>English (en-GB)</name>
44
<tag>en-GB</tag>
55
<version>5.3.0</version>
6-
<creationDate>2025-01</creationDate>
6+
<creationDate>2025-02</creationDate>
77
<author>Joomla! Project</author>
88
<authorEmail>[email protected]</authorEmail>
99
<authorUrl>www.joomla.org</authorUrl>

language/en-GB/langmetadata.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<metafile client="site">
33
<name>English (en-GB)</name>
44
<version>5.3.0</version>
5-
<creationDate>2025-01</creationDate>
5+
<creationDate>2025-02</creationDate>
66
<author>Joomla! Project</author>
77
<authorEmail>[email protected]</authorEmail>
88
<authorUrl>www.joomla.org</authorUrl>

libraries/src/Component/ComponentRecord.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class ComponentRecord
5353
* @var string
5454
* @since 4.0.0
5555
*
56-
* @deprecated __DEPLOY_VERSION__ will be removed in 7.0 as it was never used
56+
* @deprecated 5.3.0 will be removed in 7.0 as it was never used
5757
*/
5858
public $namespace;
5959

libraries/src/Event/Plugin/System/Stats/GetStatsDataEvent.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* Example:
2525
* new GetStatsDataEvent('onEventName', ['context' => 'com_example.example']);
2626
*
27-
* @since __DEPLOY_VERSION__
27+
* @since 5.3.0
2828
*/
2929
class GetStatsDataEvent extends AbstractImmutableEvent implements ResultAwareInterface
3030
{
@@ -37,8 +37,8 @@ class GetStatsDataEvent extends AbstractImmutableEvent implements ResultAwareInt
3737
*
3838
* @var array
3939
*
40-
* @since __DEPLOY_VERSION__
41-
* @deprecated __DEPLOY_VERSION__ will be removed in 6.0
40+
* @since 5.3.0
41+
* @deprecated 5.3.0 will be removed in 6.0
4242
*/
4343
protected $legacyArgumentsOrder = ['context'];
4444

@@ -50,7 +50,7 @@ class GetStatsDataEvent extends AbstractImmutableEvent implements ResultAwareInt
5050
*
5151
* @throws \BadMethodCallException
5252
*
53-
* @since __DEPLOY_VERSION__
53+
* @since 5.3.0
5454
*/
5555
public function __construct($name, array $arguments = [])
5656
{
@@ -73,7 +73,7 @@ public function __construct($name, array $arguments = [])
7373
*
7474
* @return string
7575
*
76-
* @since __DEPLOY_VERSION__
76+
* @since 5.3.0
7777
*/
7878
protected function onSetContext(string $value): string
7979
{
@@ -85,7 +85,7 @@ protected function onSetContext(string $value): string
8585
*
8686
* @return string
8787
*
88-
* @since __DEPLOY_VERSION__
88+
* @since 5.3.0
8989
*/
9090
public function getContext(): string
9191
{

libraries/src/Event/SampleData/GetOverviewEvent.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
/**
2121
* Cass for Sample data events
2222
*
23-
* @since __DEPLOY_VERSION__
23+
* @since 5.3.0
2424
*/
2525
class GetOverviewEvent extends SampleDataEvent implements ResultAwareInterface
2626
{

0 commit comments

Comments
 (0)