aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authormaTh <1645099+math-GH@users.noreply.github.com>2025-02-02 19:15:03 +0100
committerGitHub <noreply@github.com>2025-02-02 19:15:03 +0100
commit1e8ef4bb7215417d425bb48cb2bec06f49e49bfc (patch)
tree228757761fe7dbd87cdd1246550606d7923147cd
parent99d5c4852367eddca134f3aaf2370ce879dc6481 (diff)
downloadfreshrss-1e8ef4bb7215417d425bb48cb2bec06f49e49bfc.tar.gz
freshrss-1e8ef4bb7215417d425bb48cb2bec06f49e49bfc.zip
Improve notifications: notificationName (#7287)
* notificationID * 3 first examples * fix * notificationID -> notificationName * Update lib/Minz/Request.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
-rw-r--r--app/Controllers/configureController.php2
-rw-r--r--app/Controllers/entryController.php3
-rwxr-xr-xapp/Controllers/feedController.php2
-rw-r--r--app/layout/layout.phtml4
-rw-r--r--lib/Minz/Request.php24
5 files changed, 19 insertions, 16 deletions
diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php
index e66898ff0..c525de18d 100644
--- a/app/Controllers/configureController.php
+++ b/app/Controllers/configureController.php
@@ -75,7 +75,7 @@ class FreshRSS_configure_Controller extends FreshRSS_ActionController {
Minz_Translate::reset(FreshRSS_Context::userConf()->language);
invalidateHttpCache();
- Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'display' ]);
+ Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'display' ], 'displayAction');
}
$this->view->themes = FreshRSS_Themes::get();
diff --git a/app/Controllers/entryController.php b/app/Controllers/entryController.php
index 4c88225c0..8cabce82d 100644
--- a/app/Controllers/entryController.php
+++ b/app/Controllers/entryController.php
@@ -189,7 +189,8 @@ class FreshRSS_entry_Controller extends FreshRSS_ActionController {
'c' => 'index',
'a' => 'index',
'params' => $params,
- ]
+ ],
+ 'readAction'
);
}
}
diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php
index 00f321ddf..3ceb00f4a 100755
--- a/app/Controllers/feedController.php
+++ b/app/Controllers/feedController.php
@@ -918,7 +918,7 @@ class FreshRSS_feed_Controller extends FreshRSS_ActionController {
// Redirect to the main page with correct notification.
Minz_Request::good(_t('feedback.sub.feed.actualized', $feed->name()), [
'params' => ['get' => 'f_' . $id]
- ]);
+ ], 'actualizeAction');
} elseif ($nbUpdatedFeeds >= 1) {
Minz_Request::good(_t('feedback.sub.feed.n_actualized', $nbUpdatedFeeds), []);
} else {
diff --git a/app/layout/layout.phtml b/app/layout/layout.phtml
index 6d4668cd5..e4fb5f2ae 100644
--- a/app/layout/layout.phtml
+++ b/app/layout/layout.phtml
@@ -84,14 +84,16 @@
<?php
$msg = '';
$status = 'closed';
+ $notificationName = '';
$notif = Minz_Request::getNotification();
if (!empty($notif)) {
$msg = $notif['content'];
$status = $notif['type'];
+ $notificationName = $notif['notificationName'];
invalidateHttpCache();
}
?>
-<div role="dialog" id="notification" class="notification <?= $status ?>" aria-describedby="dialogMsg">
+<div role="dialog" id="notification" class="notification <?= $status ?> <?= $notificationName ?>" aria-describedby="dialogMsg">
<span class="msg" id="dialogMsg"><?= $msg ?></span>
<button class="close" title="<?= _t('gen.action.close') ?>"><?= _i('close') ?></button>
</div>
diff --git a/lib/Minz/Request.php b/lib/Minz/Request.php
index a5d599a45..b74331146 100644
--- a/lib/Minz/Request.php
+++ b/lib/Minz/Request.php
@@ -385,33 +385,33 @@ class Minz_Request {
return $_GET['rid'];
}
- private static function setNotification(string $type, string $content): void {
+ private static function setNotification(string $type, string $content, string $notificationName = ''): void {
Minz_Session::lock();
$requests = Minz_Session::paramArray('requests');
$requests[self::requestId()] = [
'time' => time(),
- 'notification' => [ 'type' => $type, 'content' => $content ],
+ 'notification' => [ 'type' => $type, 'content' => $content, 'notificationName' => $notificationName ],
];
Minz_Session::_param('requests', $requests);
Minz_Session::unlock();
}
- public static function setGoodNotification(string $content): void {
- self::setNotification('good', $content);
+ public static function setGoodNotification(string $content, string $notificationName = ''): void {
+ self::setNotification('good', $content, $notificationName);
}
- public static function setBadNotification(string $content): void {
- self::setNotification('bad', $content);
+ public static function setBadNotification(string $content, string $notificationName = ''): void {
+ self::setNotification('bad', $content, $notificationName);
}
/**
* @param $pop true (default) to remove the notification, false to keep it.
- * @return array{type:string,content:string}|null
+ * @return array{type:string,content:string,notificationName: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}}> */
+ /** @var array<string,array{time:int,notification:array{type:string,content:string,notificationName:string}}> */
$requests = Minz_Session::paramArray('requests');
if (!empty($requests)) {
//Delete abandoned notifications
@@ -461,8 +461,8 @@ class Minz_Request {
* @param string $msg notification content
* @param array{c?:string,a?:string,params?:array<string,mixed>} $url url array to where we should be forwarded
*/
- public static function good(string $msg, array $url = []): void {
- Minz_Request::setGoodNotification($msg);
+ public static function good(string $msg, array $url = [], string $notificationName = ''): void {
+ Minz_Request::setGoodNotification($msg, $notificationName);
Minz_Request::forward($url, true);
}
@@ -471,8 +471,8 @@ class Minz_Request {
* @param string $msg notification content
* @param array{c?:string,a?:string,params?:array<string,mixed>} $url url array to where we should be forwarded
*/
- public static function bad(string $msg, array $url = []): void {
- Minz_Request::setBadNotification($msg);
+ public static function bad(string $msg, array $url = [], string $notificationName = ''): void {
+ Minz_Request::setBadNotification($msg, $notificationName);
Minz_Request::forward($url, true);
}