From 79409bed093890d38cb2c60f8b6af079854cf8d2 Mon Sep 17 00:00:00 2001
From: polo
Date: Tue, 23 Dec 2025 18:02:00 +0100
Subject: =?UTF-8?q?choix=20dur=C3=A9e=20stockage=20emails=20sensibles=20co?=
=?UTF-8?q?nfigurables=20aussi,=20bug=20dur=C3=A9e=20emails=20sensibles?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/view/FormBuilder.php | 8 +++++++-
src/view/templates/form_admin.php | 9 +++++++--
2 files changed, 14 insertions(+), 3 deletions(-)
(limited to 'src/view')
diff --git a/src/view/FormBuilder.php b/src/view/FormBuilder.php
index e2389b0..7505510 100644
--- a/src/view/FormBuilder.php
+++ b/src/view/FormBuilder.php
@@ -30,7 +30,8 @@ class FormBuilder extends AbstractBuilder
$smtp_username = $smtp_username ?? Config::$smtp_username;
$email_dest = $email_dest ?? Config::$email_dest;
$keep_emails = (bool)$keep_emails ?? false; // (bool) est inutile mais plus clair
- $retention_period = (int)($retention_period ?? App\Entity\Email::DEFAULT_RETENTION_PERIOD); // (int) est nécessaire à cause du stockage JSON
+ $retention_period = $this->getRetentionPeriod($retention_period ?? null, App\Entity\Email::DEFAULT_RETENTION_PERIOD);
+ $retention_period_sensible = $this->getRetentionPeriod($retention_period_sensible ?? null, App\Entity\Email::DEFAULT_RETENTION_PERIOD_SENSITIVE);
$admin_content = '';
if($_SESSION['admin'])
@@ -44,4 +45,9 @@ class FormBuilder extends AbstractBuilder
require self::VIEWS_PATH . $node->getName() . '.php';
$this->html = ob_get_clean(); // pas de concaténation ici, on écrase
}
+
+ private function getRetentionPeriod(mixed $period, int $default_period): int
+ {
+ return ($period === null || (int)$period <= 0) ? $default_period : (int)$period; // (int) est nécessaire à cause du stockage JSON
+ }
}
\ No newline at end of file
diff --git a/src/view/templates/form_admin.php b/src/view/templates/form_admin.php
index 457f770..7156374 100644
--- a/src/view/templates/form_admin.php
+++ b/src/view/templates/form_admin.php
@@ -9,11 +9,16 @@ declare(strict_types=1);
onclick="keepEmails(= $node->getNodeData()->getId() ?>)">
Notez que ces enregistrements sont des données personnelles et sont concernés par le RGPD.
+
-
+
-
+
+
+
+
+
Paramètres d'envoi
--
cgit v1.2.3