2025-01-26 14:44:21 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
return [
|
|
|
|
|
'pattern' => '/subscribe.json',
|
2025-02-04 17:35:09 +01:00
|
|
|
'method' => 'POST',
|
2025-01-26 14:44:21 +01:00
|
|
|
'action' => function () {
|
2025-02-04 17:35:09 +01:00
|
|
|
$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');
|
2025-02-04 17:35:09 +01:00
|
|
|
|
|
|
|
|
$page = page('lettre');
|
2025-01-26 14:44:21 +01:00
|
|
|
$subscribers = $page->subscribers()->yaml();
|
|
|
|
|
|
2025-02-04 17:35:09 +01:00
|
|
|
$emailExists = in_array(['email' => $email], $subscribers);
|
2025-01-26 14:44:21 +01:00
|
|
|
|
|
|
|
|
if ($emailExists) {
|
|
|
|
|
return [
|
2025-02-04 17:35:09 +01:00
|
|
|
'status' => 'error',
|
|
|
|
|
'message' => 'Cet email est déjà inscris.',
|
2025-01-26 14:44:21 +01:00
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-04 17:35:09 +01:00
|
|
|
$newSubscriber = ['email' => $email];
|
2025-01-26 14:44:21 +01:00
|
|
|
$subscribers[] = $newSubscriber;
|
2025-02-04 17:35:09 +01:00
|
|
|
|
2025-01-26 14:44:21 +01:00
|
|
|
$page->update([
|
2025-02-04 17:35:09 +01:00
|
|
|
'subscribers' => $subscribers,
|
2025-01-26 14:44:21 +01:00
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
return [
|
2025-02-04 17:35:09 +01:00
|
|
|
'status' => 'success',
|
|
|
|
|
'message' => 'lettre réussie.',
|
2025-01-26 14:44:21 +01:00
|
|
|
];
|
|
|
|
|
} else {
|
|
|
|
|
return [
|
2025-02-04 17:35:09 +01:00
|
|
|
'status' => 'error',
|
|
|
|
|
'message' => 'Email invalide.',
|
2025-01-26 14:44:21 +01:00
|
|
|
];
|
|
|
|
|
}
|
2025-02-04 17:35:09 +01:00
|
|
|
},
|
2025-01-26 14:44:21 +01:00
|
|
|
];
|