Export agenda avec absences

Ce sujet a 1 réponse, 1 participant et a été mis à jour par  Christophe, il y a 10 mois.

  • Auteur
    Messages
  • #2865


    Marie Nikichine

    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

    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.

Répondre à : Export agenda avec absences

Vos informations:




Annuler