Export agenda avec absences

Ce sujet contient 1 réponse, 1 participant et a été mis à jour pour la dernière fois par Christophe, le il y a 1 année et 11 mois.

Vous lisez 1 fil de discussion
  • Auteur
    Messages
    • #2865


      Marie Nikichine
      Invité

      Bonjour,
      Serait-il possible de modifier la configuration du fichier ics, ceci afin de permettre l’export des absences, en plus des plannings de service public? J’ai vu que la configuration de ce fichier mentionnait que les absences étaient exclues, mais je ne suis pas sûre de la manipulation à réaliser…
      Merci de vos réponses,
      Marie Nikichine

    • #2893


      Christophe
      Invité

      Bonjour,

      Ci-joint après le patch que nous avons appliqué pour que les absences soient aussi dans l’export ICS :

      Patch à appliquer en étant positionné à la racine du site :

      $ /usr/bin/patch -p0 < calendar.php.patch

      — DEBUT —
      — ./ics/calendar.php 2018-04-27 07:36:26.000000000 +0200
      +++ ./ics/calendar.php 2018-08-07 13:07:02.624559093 +0200
      @@ -162,7 +158,7 @@
      // Tableau $ical
      $ical=array();
      $ical[]= »BEGIN:VCALENDAR »;
      -$ical[]= »X-WR-CALNAME:Service Public $agent »;
      +$ical[]= »X-WR-CALNAME:Calendrier $agent »;
      $ical[]= »PRODID:Planning-Biblio-Calendar »;
      $ical[]= »VERSION:2.0″;
      $ical[]= »METHOD:PUBLISH »;
      @@ -257,6 +253,48 @@
      }
      }

      +foreach($absences as $elem){
      + $debut = date(« Ymd\THis », strtotime($elem[‘debut’]));
      + $fin = date(« Ymd\THis », strtotime($elem[‘fin’]));
      + $start= »TZID=Europe/Paris:$debut »;
      + $end= »TZID=Europe/Paris:$fin »;
      +
      + // Mise à jour du motif des absences
      + if ($elem[‘motif’] != «  » ) {
      + $motif=$elem[‘motif’];
      + } else {
      + $motif= »Absence »;
      + }
      +
      + // Affine l’affichage de absences sur la journée ou la demi-journée
      + // Les absences sur la journée sont affiché dans le bandeau
      + // Les absences le matin débutent à 8h
      + // Les absences l’après-midi finissent à 19h
      + if (substr($debut,9,6) == « 000000 » and substr($fin,9,6) == « 235959 » ) {
      + $fin = date(« Ymd\THis », strtotime($elem[‘fin’] .  » +1 days « )) ;
      + $start= »VALUE=DATE: ».substr($debut,0,8);
      + $end= »VALUE=DATE: ».substr($fin,0,8);
      + } elseif (substr($debut,9,6) == « 000000 » ) {
      + $start= »TZID=Europe/Paris: ».substr($debut,0,9). »080000″;
      + } elseif (substr($fin,9,6) == « 235959 » ) {
      + $end= »TZID=Europe/Paris: ».substr($fin,0,9). »190000″;
      + }
      +
      + $ical[]= »BEGIN:VEVENT »;
      + $ical[]= »UID: $id-$debut-$fin@$url »;
      + $ical[]= »DTSTAMP: » . gmdate(‘Ymd’).’T’. gmdate(‘His’) . « Z »;
      + $ical[]= »DTSTART;$start »;
      + $ical[]= »DTEND;$end »;
      + $ical[]= »SUMMARY:$motif »;
      + $ical[]= »STATUS:CONFIRMED »;
      + $ical[]= »CLASS:PUBLIC »;
      + $ical[]= »X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY »;
      + $ical[]= »TRANSP:OPAQUE »;
      + $ical[]= »LAST-MODIFIED: »;
      + $ical[]= »DTSTAMP: »;
      + $ical[]= »END:VEVENT »;
      +}
      +
      $ical[]= »END:VCALENDAR »;

      $ical=join(« \n »,$ical);
      — FIN —

      Cordialement.

      Christophe.

Vous lisez 1 fil de discussion

Répondre à : Export agenda avec absences

Vos informations :