From b2139d8f4021aaf2550e65aed15a81011b47e492 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Sun, 29 Mar 2026 20:58:28 +0200 Subject: [PATCH] subscribe : fix date saving, duplicate detection and display format Fix inscription date key to lowercase for Kirby compatibility, fix duplicate email check using array_column, change date display to DD/MM/YYYY, and sort subscribers by inscription date. Co-Authored-By: Claude Opus 4.6 --- site/blueprints/pages/newsletter.yml | 5 ++--- site/config/routes/subscribe.php | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/site/blueprints/pages/newsletter.yml b/site/blueprints/pages/newsletter.yml index d2408c4..228ff20 100644 --- a/site/blueprints/pages/newsletter.yml +++ b/site/blueprints/pages/newsletter.yml @@ -12,15 +12,14 @@ tabs: subscribers: label: Abonnés type: structure - sortBy: email asc + sortBy: inscriptionDate desc fields: email: type: email inscriptionDate: label: Date d'inscription type: date - display: MM/DD/YYYY - default: today + display: DD/MM/YYYY - width: 1/3 sections: newsletters: diff --git a/site/config/routes/subscribe.php b/site/config/routes/subscribe.php index 9aac1bf..e9f0eaa 100644 --- a/site/config/routes/subscribe.php +++ b/site/config/routes/subscribe.php @@ -13,7 +13,7 @@ return [ $page = page('lettre'); $subscribers = $page->subscribers()->yaml(); - $emailExists = in_array(['email' => $email], $subscribers); + $emailExists = in_array($email, array_column($subscribers, 'email')); if ($emailExists) { return [ @@ -24,7 +24,7 @@ return [ $newSubscriber = [ 'email' => $email, - 'inscriptionDate' => date('Y-m-d') + 'inscriptiondate' => date('Y-m-d') ]; $subscribers[] = $newSubscriber;