comparison comment.php @ 32:4cea8b128fdd

Possibilité de choisir des templates différents en fonction du type de sortie. Le fichier templates.conf permet d'associer à chaque type de sortie (correspondant à une section du fichier INI) des templates pour le squelette, les posts et les commentaires. Il est possible de définir virtuellement une infinité de type de sorties différents, pour le moment seul de quoi obtenir un flux Atom a été ajouté. Pour changer le type de sortie, il faut passer en GET au script appellant un paramètre outputType. Si le paramètre reçu ne correspondant à aucun des types de sorties définis dans templates.conf, alors on prend du xhtml par défaut.
author Franck Deroche <webmaster@defr.org>
date Mon, 05 Nov 2007 09:06:46 +0100
parents 2d98421d43da
children c6508503269a
comparison
equal deleted inserted replaced
31:2d98421d43da 32:4cea8b128fdd
45 45
46 // Récupération des commentaires 46 // Récupération des commentaires
47 $Data->Query("SELECT * FROM Commentaires Where MessId={$id} AND Visible=1 ORDER BY num_comm"); 47 $Data->Query("SELECT * FROM Commentaires Where MessId={$id} AND Visible=1 ORDER BY num_comm");
48 $defaultGravatar = urlencode("http://defr.org/Misc/NoGravatar.png"); 48 $defaultGravatar = urlencode("http://defr.org/Misc/NoGravatar.png");
49 while(0 !== ($row = $Data->GetRow())) { 49 while(0 !== ($row = $Data->GetRow())) {
50 $commentTpl = new Template('comment.xml'); 50 $commentTpl = new Template(Skeleton::getTemplateFile('comment'));
51 $dateFormatee = strftime(" à %Hh%M le <span class='Date'>%A %d %B %Y</span>", strtotime($row['DateComment'])); 51 $dateFormatee = strftime(" à %Hh%M le <span class='Date'>%A %d %B %Y</span>", strtotime($row['DateComment']));
52 $AdresseMail = $row['AdresseMail']; 52 $AdresseMail = $row['AdresseMail'];
53 $grav_id = md5($AdresseMail); 53 $grav_id = md5($AdresseMail);
54 $grav_url = 'http://www.gravatar.com/avatar.php?gravatar_id=' . $grav_id . '&size=50&default=' . $defaultGravatar; 54 $grav_url = 'http://www.gravatar.com/avatar.php?gravatar_id=' . $grav_id . '&size=50&default=' . $defaultGravatar;
55 $Comment = nl2br($row['Comment']); 55 $Comment = nl2br($row['Comment']);
60 '#gravatar@src' => $grav_url, 60 '#gravatar@src' => $grav_url,
61 '#auteur@href' => $post->getURL() . '#c' . $row['num_comm'], 61 '#auteur@href' => $post->getURL() . '#c' . $row['num_comm'],
62 '#auteur@name' => 'c' . $row['num_comm'], 62 '#auteur@name' => 'c' . $row['num_comm'],
63 '#auteur' => $row['Auteur'], 63 '#auteur' => $row['Auteur'],
64 'commentDate' => $dateFormatee, 64 'commentDate' => $dateFormatee,
65 'commentNumber' => $row['num_comm'],
65 'comment' => $commentFrag, 66 'comment' => $commentFrag,
66 ); 67 );
67 if(stristr($row['Adresse'], 'http://')) { 68 if(stristr($row['Adresse'], 'http://')) {
68 $params['#auteur@href'] = $row['Adresse']; 69 $params['#auteur@href'] = $row['Adresse'];
69 } 70 }
70 $commentTpl->setParams($params); 71 $commentTpl->setParams(array_merge($post->getTplParams(), $params));
71 $sk->addBlogPost($commentTpl); 72 $sk->addBlogPost($commentTpl);
72 } 73 }
73 74
74 // Génération de la graine (cette dernière permet de s'assurer 75 // Génération de la graine (cette dernière permet de s'assurer
75 // que l'essai d'ajout de commentaire provient bien de ce 76 // que l'essai d'ajout de commentaire provient bien de ce