Skip to content

Commit 57d21a5

Browse files
authored
[5.4] Upmerge changes from 5.3-dev 2025-04-06 joomla#45285
2 parents 785d250 + f0de44b commit 57d21a5

File tree

7 files changed

+42
-56
lines changed

7 files changed

+42
-56
lines changed

administrator/components/com_admin/script.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2465,6 +2465,11 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
24652465
'/libraries/vendor/joomla/uri/.drone.yml',
24662466
'/libraries/vendor/joomla/utilities/.drone.jsonnet',
24672467
'/libraries/vendor/joomla/utilities/.drone.yml',
2468+
// From 5.3.0-rc1 to 5.3.0-rc2
2469+
'/libraries/vendor/algo26-matthias/idna-convert/Dockerfile',
2470+
'/libraries/vendor/algo26-matthias/idna-convert/compose.yml',
2471+
'/libraries/vendor/algo26-matthias/idna-convert/src/Exception/Std3AsciiRulesViolationException.php',
2472+
'/libraries/vendor/algo26-matthias/idna-convert/src/TranscodeUnicode/ByteLengthTrait.php',
24682473
];
24692474

24702475
$folders = [

composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
"joomla/console": "^3.0.1",
5959
"joomla/crypt": "^3.0.1",
6060
"joomla/data": "^3.0.1",
61-
"joomla/database": "^3.3.1",
61+
"joomla/database": "^3.4",
6262
"joomla/di": "^3.0.1",
6363
"joomla/event": "^3.0.1",
6464
"joomla/filter": "^3.0.2",
@@ -74,7 +74,7 @@
7474
"joomla/string": "^3.0.1",
7575
"joomla/uri": "~3.0",
7676
"joomla/utilities": "~3.0",
77-
"algo26-matthias/idna-convert": "^4.0.4",
77+
"algo26-matthias/idna-convert": "^3.2.0",
7878
"defuse/php-encryption": "^2.4.0",
7979
"doctrine/inflector": "^1.4.4",
8080
"fig/link-util": "^1.2.0",
@@ -90,7 +90,7 @@
9090
"symfony/polyfill-mbstring": "^1.31.0",
9191
"symfony/web-link": "^6.4.13",
9292
"symfony/yaml": "^6.4.18",
93-
"typo3/phar-stream-wrapper": "^4.0.0",
93+
"typo3/phar-stream-wrapper": "^3.1.8",
9494
"wamania/php-stemmer": "^4.0.0",
9595
"tobscure/json-api": "dev-joomla-backports",
9696
"willdurand/negotiation": "^3.1.0",

composer.lock

Lines changed: 25 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libraries/bootstrap.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,6 @@ class_exists('\\Joomla\\CMS\\Autoload\\ClassLoader');
6262
set_error_handler(['Joomla\CMS\Exception\ExceptionHandler', 'handleUserDeprecatedErrors'], E_USER_DEPRECATED);
6363
}
6464

65-
// Suppress phar stream wrapper for non .phar files
66-
$behavior = new \TYPO3\PharStreamWrapper\Behavior();
67-
\TYPO3\PharStreamWrapper\Manager::initialize(
68-
$behavior->withAssertion(new \TYPO3\PharStreamWrapper\Interceptor\PharExtensionInterceptor())
69-
);
70-
71-
if (in_array('phar', stream_get_wrappers())) {
72-
stream_wrapper_unregister('phar');
73-
stream_wrapper_register('phar', 'TYPO3\\PharStreamWrapper\\PharStreamWrapper');
74-
}
75-
7665
// Define the Joomla version if not already defined.
7766
defined('JVERSION') or define('JVERSION', (new \Joomla\CMS\Version())->getShortVersion());
7867

libraries/cms.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,6 @@ class_exists('\\Joomla\\CMS\\Autoload\\ClassLoader');
4949
// Decorate Composer autoloader
5050
spl_autoload_register([new \Joomla\CMS\Autoload\ClassLoader($loader), 'loadClass'], true, true);
5151

52-
// Suppress phar stream wrapper for non .phar files
53-
$behavior = new \TYPO3\PharStreamWrapper\Behavior();
54-
\TYPO3\PharStreamWrapper\Manager::initialize(
55-
$behavior->withAssertion(new \TYPO3\PharStreamWrapper\Interceptor\PharExtensionInterceptor())
56-
);
57-
58-
if (in_array('phar', stream_get_wrappers())) {
59-
stream_wrapper_unregister('phar');
60-
stream_wrapper_register('phar', 'TYPO3\\PharStreamWrapper\\PharStreamWrapper');
61-
}
62-
6352
// Define the Joomla version if not already defined
6453
if (!defined('JVERSION')) {
6554
define('JVERSION', (new \Joomla\CMS\Version())->getShortVersion());

libraries/src/Router/Router.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,13 @@ public static function getInstance($client, $options = [])
121121
// Create a Router object
122122
$classname = 'JRouter' . ucfirst($client);
123123

124-
if (!class_exists($classname)) {
125-
throw new \RuntimeException(Text::sprintf('JLIB_APPLICATION_ERROR_ROUTER_LOAD', $client), 500);
126-
}
127-
128-
// Check for a possible service from the container otherwise manually instantiate the class
124+
// Check for a possible service from the container, otherwise manually instantiate the class if it exists
129125
if (Factory::getContainer()->has($classname)) {
130126
self::$instances[$client] = Factory::getContainer()->get($classname);
131-
} else {
127+
} elseif (class_exists($classname)) {
132128
self::$instances[$client] = new $classname();
129+
} else {
130+
throw new \RuntimeException(Text::sprintf('JLIB_APPLICATION_ERROR_ROUTER_LOAD', $client), 500);
133131
}
134132
}
135133

libraries/src/User/User.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,11 @@ public function save($updateOnly = false)
771771
}
772772
}
773773

774+
// Unset the activation token, if the mail address changes - that affects both, activation and PW resets
775+
if ($this->email !== $oldUser->email && $this->id !== 0 && !empty($this->activation) && !$this->block) {
776+
$table->activation = '';
777+
}
778+
774779
// Fire the onUserBeforeSave event.
775780
$dispatcher = Factory::getApplication()->getDispatcher();
776781
PluginHelper::importPlugin('user', null, true, $dispatcher);

0 commit comments

Comments
 (0)