diff options
Diffstat (limited to 'src/load-events.php')
-rw-r--r-- | src/load-events.php | 67 |
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 | |||
4 | if(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 | |||