diff options
| author | polo <ordipolo@gmx.fr> | 2025-06-21 01:44:16 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2025-06-21 01:44:16 +0200 |
| commit | 8ee3440f204dfc6532a49a05719ba37a8c4df359 (patch) | |
| tree | 03dec8764e55d1a4e1983fcceea8ccd99686989a /src/load-events.php | |
| parent | f0e0b449f2bd6c4417e467b2903b29ad03a9626d (diff) | |
| download | fullcalendar-8ee3440f204dfc6532a49a05719ba37a8c4df359.tar.gz fullcalendar-8ee3440f204dfc6532a49a05719ba37a8c4df359.tar.bz2 fullcalendar-8ee3440f204dfc6532a49a05719ba37a8c4df359.zip | |
échanges client/serveur
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 | |||
