Bonjour,

J'ai un souci de concatenation avec php.

Je travaille avec icalendar et je stocke les differents attributs dans une variable afin d'en faire une piece jointe qui devient un evenement dans outlook.

Ci dessous le code qui fonctionne : tous les attributs icalendar sont bien interprétés.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
$vcal = "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//GRR//NONSGML GRR//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:u2coh5g3bppodsq2o3t@google.com 
ORGANIZER;RSVP=TRUE;CN=".$email_organisateur.";ROLE=CHAIR:mailto:".$email_organisateur."
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:test1@test.com
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:test2@test.com
DTSTAMP:20120124T161544Z 
DTSTART:".$participant_debut."
DTEND:".$participant_fin."
SUMMARY:".$name."
DESCRIPTION:".$description."
LOCATION:".$nom_ressource."
END:VEVENT
END:VCALENDAR";
Ce qui pose problème c'est l'attiribut ATTENDEE (participant). La liste des participants doit être complétée dans une boucle qui va chercher tous les participants. Seulement pour faire cela j'ai scindé le code comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
 
$vcal = "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//GRR//NONSGML GRR//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:u2coh5g3bppodsq2o3t@google.com 
ORGANIZER;RSVP=TRUE;CN=".$email_organisateur.";ROLE=CHAIR:mailto:".$email_organisateur."";
 
 
 
// On récupère la liste des destinataires
$sql_participant = "select nom, prenom, email from grr_utilisateurs u, grr_entry_users r  where r.entry_id = '$new_id' and r.login = u.login"; 
$req = mysql_query($sql_participant) or die('Erreur SQL !<br>'.$sql_participant.'<br>'.mysql_error()); 
while($data = mysql_fetch_array($req)) 
    { 
$nom_destinataire = $data['nom'];
$email_destinataire = $data['email'];
// On complete la liste de destinataires
 
   $mail->AddAddress($email_destinataire); 
 
// On complete la liste de personnes invites a la reunion 
$vcal .="ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:".$email_destinataire."";
 
 
    } 
$vcal .="  
DTSTAMP:20120124T161544Z 
DTSTART:".$participant_debut."
DTEND:".$participant_fin."
SUMMARY:".$name."
DESCRIPTION:".$description."
LOCATION:".$nom_ressource."
END:VEVENT
END:VCALENDAR";
Et là seuls les attributs qui sont stipulés avant la boucle sont bien gérés...

Je pense que mon souci vient de l'alimentation de la variable $vcal sachant que je ne maitrise pas très bien la syntaxe php