actuel-inactuel/site/config/routes/subscribe.php

44 lines
1 KiB
PHP
Raw Normal View History

2025-01-26 14:44:21 +01:00
<?php
return [
'pattern' => '/subscribe.json',
'method' => 'POST',
2025-01-26 14:44:21 +01:00
'action' => function () {
$jsonRequest = file_get_contents('php://input');
2025-01-26 14:44:21 +01:00
$email = Str::lower(json_decode($jsonRequest));
if (V::email($email)) {
kirby()->impersonate('kirby');
$page = page('lettre');
2025-01-26 14:44:21 +01:00
$subscribers = $page->subscribers()->yaml();
$emailExists = in_array(['email' => $email], $subscribers);
2025-01-26 14:44:21 +01:00
if ($emailExists) {
return [
'status' => 'error',
'message' => 'Cet email est déjà inscris.',
2025-01-26 14:44:21 +01:00
];
}
$newSubscriber = ['email' => $email];
2025-01-26 14:44:21 +01:00
$subscribers[] = $newSubscriber;
2025-01-26 14:44:21 +01:00
$page->update([
'subscribers' => $subscribers,
2025-01-26 14:44:21 +01:00
]);
return [
'status' => 'success',
'message' => 'lettre réussie.',
2025-01-26 14:44:21 +01:00
];
} else {
return [
'status' => 'error',
'message' => 'Email invalide.',
2025-01-26 14:44:21 +01:00
];
}
},
2025-01-26 14:44:21 +01:00
];