Undefined index: poste

Ce sujet a 3 réponses, 2 participants et a été mis à jour par  Jérôme, il y a 6 mois et 1 semaine.

  • Auteur
    Messages
  • #1782


    Olivier Crouzet

    Bonjour,
    Nous avons les erreurs suivantes dans les logs apache (index poste et site indéfinis) :
    [Fri Feb 08 09:14:01.302600 2019] [:error] [pid 20010] [client 192.168.55.76:64552] PHP Notice: Undefined index: poste in /var/www/PlanningBiblio/ics/calendar.php on line 283
    [Fri Feb 08 09:14:01.302692 2019] [:error] [pid 20010] [client 192.168.55.76:64552] PHP Notice: Undefined index: site in /var/www/PlanningBiblio/ics/calendar.php on line 283

    Sauriez-vous d’ou ça peut venir ?

  • #1792


    Jérôme
    Admin bbPress

    Bonjour,

    Je ne parviens pas à reproduire cette erreur, et le fichier calendar.php ne compte que 273 lignes (vous avez les erreurs en ligne 283).

    Quelle version utilisez-vous ?

  • #1811


    Olivier Crouzet

    Bonjour,
    On est sur la 2.7.14 mais je m’aperçois que ça porte sur du code qui avait été ajouté par mon collègue Arthur ( Ajout de l’export des absences en ICS). Je suis un peu navré de ne pas avoir regardé de plus près avant de vous solliciter.
    Voici le code ajouté, au cas ou vous puissiez en déduire quoique ce soit (j’ai marqué ce qui correspond à la ligne 283) :
    +if(isset($absences)){
    + // Complète le tableau $ical
    + foreach($absences as $elem){
    + $debut = date(« Ymd\THis », strtotime($elem[‘debut’]));
    + $fin = date(« Ymd\THis », strtotime($elem[‘fin’]));
    + // Nom du poste pour SUMMARY
    + $motif = html_entity_decode($elem[‘motif’],ENT_QUOTES|ENT_IGNORE,’UTF-8′);
    + $commentaires = html_entity_decode($elem[‘commentaires’],ENT_QUOTES|ENT_IGNORE,’UTF-8′);
    + // Validation pour LAST-MODIFIED et DSTAMP
    + $validation = date(« Ymd\THis », strtotime($elem[‘validation’]));
    + // Demande pour CREATED
    + $demande = date(« Ymd\THis », strtotime($elem[‘demande’]));
    + // ORGANIZER
    + $organizer = null;
    + /*
    + if(isset($agents[$verrou[$elem[‘date’].’_’.$elem[‘site’]][‘agent’]])){
    + $tmp = $agents[$verrou[$elem[‘date’].’_’.$elem[‘site’]][‘agent’]];
    + $organizer = html_entity_decode($tmp[‘prenom’].’ ‘.$tmp[‘nom’], ENT_QUOTES|ENT_IGNORE, ‘UTF-8’);
    + $organizer .= ‘:mailto:’.$tmp[‘mail’];
    + }
    + //*/
    +
    + $ical[]= »BEGIN:VEVENT »;
    + $ical[]= »UID: $id-{$elem[‘site’]}-{$elem[‘poste’]}-$debut-$fin@$url »; <= LIGNE 283
    + $ical[]= »DTSTAMP: » . gmdate(‘Ymd’).’T’. gmdate(‘His’) . « Z »;
    + $ical[]= »DTSTART;TZID=Europe/Paris:$debut »;
    + $ical[]= »DTEND;TZID=Europe/Paris:$fin »;
    + $ical[]= »SUMMARY:$motif ».($commentaires? » – $commentaires »: » »);
    + if($organizer){
    + $ical[]= »ORGANIZER;CN=$organizer »;
    + }
    + $ical[]= »LOCATION:INDISPO »;
    + $ical[]= »STATUS: ».($elem[‘valide’]? »CONFIRMED »: »TENTATIVE »);
    + $ical[]= »CLASS:PUBLIC »;
    + $ical[]= »X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY »;
    + $ical[]= »TRANSP:OPAQUE »;
    + $ical[]= »CREATED:$demande »;
    + $ical[]= »LAST-MODIFIED:$validation »;
    + $ical[]= »DTSTAMP:$validation »;
    + $ical[]= »BEGIN:VALARM »;
    + $ical[]= »ACTION:DISPLAY »;
    + $ical[]= »DESCRIPTION:This is an event reminder »;
    + $ical[]= »TRIGGER:-P0DT0H10M0S »;
    + $ical[]= »END:VALARM »;
    + $ical[]= »END:VEVENT »;
    + }
    +}

    Olivier

  • #1817


    Jérôme
    Admin bbPress

    Dans le code ajouté, $elem fait référence à une absence (foreach($absences as $elem)).
    Alors que dans le code d’origine, elle fait référence à l’occupation d’un poste.
    Vous réutilisez la même variable pour plusieurs choses (poste, puis absence, puis poste).
    Vous devez remplacer les $elem qui font référence aux absences par une autre variable (Ex: foreach($absences as $absence) […] $absence[‘debut’] …
    Pour ne pas altérer la variable $elem car vous en avez encore besoin plus bas dans le script (ligne 283 et sans doute d’autres).

Répondre à : Undefined index: poste

Vos informations: