From f27cca08ff786ceff1870147f6d6bad14d71117f Mon Sep 17 00:00:00 2001 From: polo Date: Fri, 23 Oct 2026 00:47:32 +0200 Subject: =?UTF-8?q?dossiers=20avec=20majuscule,=20namespace=20pour=20toute?= =?UTF-8?q?s=20les=20classes,=20autoload=20psr-4,=20UserDataService::creat?= =?UTF-8?q?eZip=20d=C3=A9plac=C3=A9=20dans=20Backup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/View/FormBuilder.php | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/View/FormBuilder.php (limited to 'src/View/FormBuilder.php') diff --git a/src/View/FormBuilder.php b/src/View/FormBuilder.php new file mode 100644 index 0000000..df5687d --- /dev/null +++ b/src/View/FormBuilder.php @@ -0,0 +1,55 @@ +getNodeData()->getData())){ + extract($node->getNodeData()->getData()); + } + + // un seul captcha à la fois! + if(!self::$captcha){ + self::$captcha = new Captcha; + $_SESSION['captcha'] = self::$captcha->getSolution(); + } + + // données stockées en vrac dans du JSON et récupérées avec extract => changer ça un jour + $smtp_host = $smtp_host ?? Config::$smtp_host; + $smtp_secure = $smtp_secure ?? Config::$smtp_secure; + $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 = $this->getRetentionPeriod($retention_period ?? null, Email::DEFAULT_RETENTION_PERIOD); + $retention_period_sensible = $this->getRetentionPeriod($retention_period_sensible ?? null, Email::DEFAULT_RETENTION_PERIOD_SENSITIVE); + + $admin_content = ''; + if(IS_ADMIN){ + ob_start(); + require self::VIEWS_PATH . 'form_admin.php'; + $admin_content = ob_get_clean(); + } + + ob_start(); + 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 -- cgit v1.2.3