summaryrefslogtreecommitdiff
path: root/src/load-events.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/load-events.php')
-rw-r--r--src/load-events.php67
1 files changed, 0 insertions, 67 deletions
diff --git a/src/load-events.php b/src/load-events.php
deleted file mode 100644
index 5c71137..0000000
--- a/src/load-events.php
+++ /dev/null
@@ -1,67 +0,0 @@
1<?php
2// réception de deux paramètres GET: 'start' et 'end'
3
4if(isset($_GET['start']) && isset($_GET['end']) && empty($_POST)){
5 // bornes début et fin du calendrier affiché à l'heure locale
6 // noter que la vue "planning" est similaire à la vue "semaine"
7 $start = new DateTime($_GET['start']);
8 $end = new DateTime($_GET['end']);
9 $start->setTimezone(new DateTimeZone('UTC'));
10 $end->setTimezone(new DateTimeZone('UTC'));
11
12 // recherche des évènement en BDD avec ceci:
13 // WHERE end >= :start AND start <= :end
14 // on prend les évènements se finissant après le début
15 // ou commençant avant la fin de la fourchette
16
17 // affichage format ISO à l'heure UTC
18 //$date->format('Y-m-d\TH:i:s\Z');
19
20 // chatgpt suggère l'utilisation d'un DTO
21 // => une classe de données simple et tout "public" pour des évènements obtenables autant depuis la BDD que de fichiers .ics par exemple
22
23 $events = [
24 [
25 'id' => 1,
26 'title' => 'Évènement1',
27 'start' => '2025-06-03T05:00:00Z', // Z indique que l'heure est en UTC
28 'end' => '2025-06-03T09:00:00Z',
29 'allDay' => false,
30 'color' => '#ffa500', // couleur hexa, éviter les couleurs CSS qui ne fonctionnent pas dans value="" en HTML
31 //'url' => 'https://dev.nageurs-bigoudens.fr', // comportement: https://fullcalendar.io/docs/eventClick
32 'description' => 'blablabla',
33 ],
34 [
35 'id' => 2,
36 'title' => 'Évènement2',
37 'start' => '2025-06-06T08:00:00Z',
38 'end' => '2025-06-07T08:00:00Z',
39 'allDay' => false,
40 'color' => '#e01b24',
41 'description' => 'truc machin',
42 ],
43 [
44 'id' => 3,
45 'title' => 'Évènement3',
46 'start' => '2025-06-08',
47 'end' => '2025-06-09',
48 'allDay' => true, // pas d'heure
49 'color' => '#008000',
50 'description' => 'ça va chier',
51 ],
52 // provoque une erreur, si allDay la fin ne peut être égale au début
53 /*[
54 'id' => 4,
55 'title' => 'Évènement4',
56 'start' => '2025-06-09',
57 'end' => '2025-06-09',
58 'allDay' => true,
59 'color' => '#1a5fb4',
60 ],*/
61 ];
62
63 header('Content-Type: application/json');
64 echo json_encode($events);
65}
66
67