aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2023-12-22 11:03:32 +0100
committerGravatar GitHub <noreply@github.com> 2023-12-22 11:03:32 +0100
commitc7a3281a73839590bfa9d8a9e73c41fc35fc2847 (patch)
tree14064171417219063004c232d3e63a7a777b7335 /lib
parentbd9e33a25cfc16125c1484656ff1b4cd7c3991d7 (diff)
Fix notifications (#5959)
The notification about wrong login was not working. Noticed while working on https://github.com/FreshRSS/FreshRSS/pull/5955 This was due to timing of when the notification is retrieved. Simplified code to make the logic easier and more robust.
Diffstat (limited to 'lib')
-rw-r--r--lib/Minz/Request.php11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Minz/Request.php b/lib/Minz/Request.php
index f39982be1..80d503048 100644
--- a/lib/Minz/Request.php
+++ b/lib/Minz/Request.php
@@ -352,8 +352,11 @@ class Minz_Request {
self::setNotification('bad', $content);
}
- /** @return array{type:string,content:string}|null */
- public static function getNotification(): ?array {
+ /**
+ * @param $pop true (default) to remove the notification, false to keep it.
+ * @return array{type:string,content:string}|null
+ */
+ public static function getNotification(bool $pop = true): ?array {
$notif = null;
Minz_Session::lock();
/** @var array<string,array{time:int,notification:array{type:string,content:string}}> */
@@ -365,7 +368,9 @@ class Minz_Request {
$requestId = self::requestId();
if (!empty($requests[$requestId]['notification'])) {
$notif = $requests[$requestId]['notification'];
- unset($requests[$requestId]);
+ if ($pop) {
+ unset($requests[$requestId]);
+ }
}
Minz_Session::_param('requests', $requests);
}