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

Lines changed: 53 additions & 2 deletions
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 3 additions & 3 deletions
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
{

0 commit comments

Comments
 (0)