diff options
author | polo <ordipolo@gmx.fr> | 2025-06-20 23:59:10 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-06-20 23:59:10 +0200 |
commit | f0e0b449f2bd6c4417e467b2903b29ad03a9626d (patch) | |
tree | 2688d2c64ff5a290f0b12da240a4416ec16045cd /src | |
parent | f582e617f6fea0a543ba9e683b9637f9557bb997 (diff) | |
download | fullcalendar-f0e0b449f2bd6c4417e467b2903b29ad03a9626d.zip |
params au chargement des données, suppression d'un évènement
Diffstat (limited to 'src')
-rw-r--r-- | src/load-events.php | 108 |
1 files changed, 66 insertions, 42 deletions
diff --git a/src/load-events.php b/src/load-events.php index b997fce..5c71137 100644 --- a/src/load-events.php +++ b/src/load-events.php | |||
@@ -1,43 +1,67 @@ | |||
1 | <?php | 1 | <?php |
2 | $events = [ | 2 | // réception de deux paramètres GET: 'start' et 'end' |
3 | [ | 3 | |
4 | 'id' => 1, | 4 | if(isset($_GET['start']) && isset($_GET['end']) && empty($_POST)){ |
5 | 'title' => 'Évènement1', | 5 | // bornes début et fin du calendrier affiché à l'heure locale |
6 | 'start' => '2025-06-03T05:00:00Z', // Z indique que l'heure est en UTC | 6 | // noter que la vue "planning" est similaire à la vue "semaine" |
7 | 'end' => '2025-06-03T09:00:00Z', | 7 | $start = new DateTime($_GET['start']); |
8 | 'allDay' => false, | 8 | $end = new DateTime($_GET['end']); |
9 | 'color' => '#ffa500', // couleur hexa, éviter les couleurs CSS qui ne fonctionnent pas dans value="" en HTML | 9 | $start->setTimezone(new DateTimeZone('UTC')); |
10 | //'url' => 'https://dev.nageurs-bigoudens.fr', // comportement: https://fullcalendar.io/docs/eventClick | 10 | $end->setTimezone(new DateTimeZone('UTC')); |
11 | 'description' => 'blablabla', | 11 | |
12 | ], | 12 | // recherche des évènement en BDD avec ceci: |
13 | [ | 13 | // WHERE end >= :start AND start <= :end |
14 | 'id' => 2, | 14 | // on prend les évènements se finissant après le début |
15 | 'title' => 'Évènement2', | 15 | // ou commençant avant la fin de la fourchette |
16 | 'start' => '2025-06-06T08:00:00Z', | 16 | |
17 | 'end' => '2025-06-07T08:00:00Z', | 17 | // affichage format ISO à l'heure UTC |
18 | 'allDay' => false, | 18 | //$date->format('Y-m-d\TH:i:s\Z'); |
19 | 'color' => '#e01b24', | 19 | |
20 | 'description' => 'truc machin', | 20 | // chatgpt suggère l'utilisation d'un DTO |
21 | ], | 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 | [ | 22 | |
23 | 'id' => 3, | 23 | $events = [ |
24 | 'title' => 'Évènement3', | 24 | [ |
25 | 'start' => '2025-06-08', | 25 | 'id' => 1, |
26 | 'end' => '2025-06-09', | 26 | 'title' => 'Évènement1', |
27 | 'allDay' => true, // pas d'heure | 27 | 'start' => '2025-06-03T05:00:00Z', // Z indique que l'heure est en UTC |
28 | 'color' => '#008000', | 28 | 'end' => '2025-06-03T09:00:00Z', |
29 | 'description' => 'ça va chier', | 29 | 'allDay' => false, |
30 | ], | 30 | 'color' => '#ffa500', // couleur hexa, éviter les couleurs CSS qui ne fonctionnent pas dans value="" en HTML |
31 | // provoque une erreur, si allDay la fin ne peut être égale au début | 31 | //'url' => 'https://dev.nageurs-bigoudens.fr', // comportement: https://fullcalendar.io/docs/eventClick |
32 | /*[ | 32 | 'description' => 'blablabla', |
33 | 'id' => 4, | 33 | ], |
34 | 'title' => 'Évènement4', | 34 | [ |
35 | 'start' => '2025-06-09', | 35 | 'id' => 2, |
36 | 'end' => '2025-06-09', | 36 | 'title' => 'Évènement2', |
37 | 'allDay' => true, | 37 | 'start' => '2025-06-06T08:00:00Z', |
38 | 'color' => '#1a5fb4', | 38 | 'end' => '2025-06-07T08:00:00Z', |
39 | ],*/ | 39 | 'allDay' => false, |
40 | ]; | 40 | 'color' => '#e01b24', |
41 | 41 | 'description' => 'truc machin', | |
42 | header('Content-Type: application/json'); | 42 | ], |
43 | echo json_encode($events); | 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 | |||