From 92ad052682fbea373c83591bb77d639c9ffda2e2 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Tue, 25 Jun 2024 23:01:48 +0400 Subject: [PATCH] modifs.mineures sans commentaires --- nur_src/b/authnz/AuthzManager.php | 14 ++++++-- nur_src/v/plugins/autorefreshPlugin.php | 9 ++++- tests/php/time/DateTest.php | 30 +++++++++++++++++ tests/php/time/DateTimeTest.php | 45 +++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 4 deletions(-) diff --git a/nur_src/b/authnz/AuthzManager.php b/nur_src/b/authnz/AuthzManager.php index 4de5ccd..6dd776d 100644 --- a/nur_src/b/authnz/AuthzManager.php +++ b/nur_src/b/authnz/AuthzManager.php @@ -78,7 +78,7 @@ class AuthzManager { } /** - * Vérifier la session que la session est valide. + * Vérifier que la session est valide. * * comme raccourci, si la session est valide, initialiser $username avec le * nom d'utilisateur *du cookie* @@ -120,7 +120,11 @@ class AuthzManager { /** tester si l'utilisateur est connecté */ function _isAuth(): bool { - if (!$this->checkSession()) return false; + if (!session::started() && session::started_once()) { + # la session a déjà été démarrée, pas besoin de la démarrer de nouveau + } else if (!$this->checkSession()) { + return false; + } return session::get(self::SESSION_KEY_USERNAME) !== null; } @@ -130,7 +134,11 @@ class AuthzManager { * @throws ValueException si aucun utilisateur n'est connecté */ function _getAuth(): string { - if ($this->checkSession()) { + if (!session::started() && session::started_once()) { + # la session a déjà été démarrée, pas besoin de la démarrer de nouveau + $username = session::get(self::SESSION_KEY_USERNAME); + if ($username !== null) return $username; + } elseif ($this->checkSession()) { $username = session::get(self::SESSION_KEY_USERNAME); if ($username !== null) return $username; } diff --git a/nur_src/v/plugins/autorefreshPlugin.php b/nur_src/v/plugins/autorefreshPlugin.php index aa4923b..fb84c70 100644 --- a/nur_src/v/plugins/autorefreshPlugin.php +++ b/nur_src/v/plugins/autorefreshPlugin.php @@ -10,14 +10,21 @@ class autorefreshPlugin extends BasePlugin { const TEXT = "Rafraîchir cette page automatiquement"; + /** @var int délai en secondes avant le rafraichissement */ + const DELAY = 15; + function __construct(?array $params=null) { $this->checked = $params["checked"] ?? static::CHECKED; $this->text = $params["text"] ?? static::TEXT; + $this->delay = intval($params["delay"] ?? static::DELAY) * 1000; } protected bool $checked; + protected string $text; + protected int $delay; + function printJquery(): void { ?>