webmaster@0
|
1 <?php |
webmaster@0
|
2 setlocale(LC_ALL, "fr_FR.utf8@euro"); |
webmaster@0
|
3 ini_set("display_errors", "off"); |
webmaster@0
|
4 include("classes.php"); |
webmaster@0
|
5 $id = $_GET['id']; |
webmaster@0
|
6 $Data = new DataAccess; |
webmaster@0
|
7 $Req = new Requete; |
webmaster@0
|
8 |
webmaster@0
|
9 $Auteur=$Req->get('Auteur'); |
webmaster@0
|
10 $Adresse=$Req->get('Adresse'); |
webmaster@0
|
11 $AdresseMail = $Req->get('AdresseMail'); |
webmaster@0
|
12 $Comment=$Req->get('Comment'); |
webmaster@0
|
13 $DateComment=gmdate("Y-m-d H:i:s", time() + 3600*2); |
webmaster@0
|
14 if(!is_null($Auteur) && $Auteur!='Votre Nom' && $Auteur != $Adresse && !empty($Comment)) { |
webmaster@0
|
15 // Prévention d'un "cassage" par ajout d'un commentaire incorrectement formaté |
webmaster@0
|
16 $ip = $_SERVER['REMOTE_ADDR']; |
webmaster@0
|
17 $Auteur = str_replace(array('<', '>'), array('<', '>'), $Auteur); |
webmaster@0
|
18 /*if(!DOMDocument::loadXML('<comment>' . $Comment . '</comment>')) |
webmaster@0
|
19 $Comment = '<![CDATA[' . str_replace(']]>', ']]>',$Comment) . ']]>';*/ |
webmaster@0
|
20 if(DOMDocument::loadXML('<comment>' . $Comment . '</comment>')) { |
webmaster@0
|
21 $Data->debugQuery(" |
webmaster@0
|
22 INSERT INTO Commentaires(MessId, Auteur, Adresse, AdresseMail, Comment, DateComment, ip) |
webmaster@0
|
23 VALUES({$id}, '{$Auteur}', '{$Adresse}', '{$AdresseMail}', '{$Comment}', '{$DateComment}', '{$ip}') |
webmaster@0
|
24 "); |
webmaster@0
|
25 $Data->Query("UPDATE Mess SET NbCommentaires=NbCommentaires+1 WHERE num_mess={$id}"); |
webmaster@0
|
26 mail('webmaster+blogcomment@defr.org', 'Nouveau commentaire sur de ' . $Auteur, $Auteur . " vient de mettre en ligne le commentaire suivant: \n" . wordwrap($Comment, 70)); |
webmaster@0
|
27 } |
webmaster@0
|
28 else { |
webmaster@0
|
29 $infos = 'Votre commentaire doit etre fait de XML valide pour apparaitre.'; |
webmaster@0
|
30 } |
webmaster@0
|
31 } |
webmaster@0
|
32 |
webmaster@0
|
33 $Data->Query("SELECT * FROM Mess WHERE num_mess = {$id}"); |
webmaster@0
|
34 $row = $Data->GetRow(); |
webmaster@0
|
35 $mood = ''; |
webmaster@0
|
36 $Mess=$Data->utf8_ensure(str_replace("<P>","<p>",str_replace("</P>","</p>", $row['Message']))); |
webmaster@0
|
37 $dateFormatee = strftime("%A %d %B %Y, %Hh%M", strtotime($row['DatePost'])); |
webmaster@0
|
38 $Titre = $Data->utf8_ensure($row['Titre']); |
webmaster@0
|
39 $Titre_url = str_replace(" ", "_", strip_tags($Titre)); |
webmaster@0
|
40 $Titre_url = str_replace("-", "_", $Titre_url); |
webmaster@0
|
41 include("top.php"); |
webmaster@0
|
42 if(!empty($row['Emot'])) { |
webmaster@0
|
43 $mood = "<img src='/blog/mood/{$row['Emot']}.png' alt='Mood : {$row['Emot']}' class='mood' />"; |
webmaster@0
|
44 $row['Emot'] = " " . $row['Emot']; |
webmaster@0
|
45 } |
webmaster@0
|
46 echo(" |
webmaster@0
|
47 <div class='PostContent{$row['Emot']}'> |
webmaster@0
|
48 <h2>{$Titre} | <span class='Date'>{$dateFormatee}</span></h2> |
webmaster@0
|
49 {$mood} |
webmaster@0
|
50 {$Mess}<br /> |
webmaster@0
|
51 {$infos} |
webmaster@0
|
52 </div>"); |
webmaster@1
|
53 $Data->Query("SELECT * FROM Commentaires Where MessId={$id} AND Visible=1 ORDER BY num_comm"); |
webmaster@0
|
54 $defaultGravatar = urlencode("http://defr.org/Misc/NoGravatar.png"); |
webmaster@0
|
55 while(0 !== ($row = $Data->GetRow())) { |
webmaster@0
|
56 $dateFormatee = strftime(" à %Hh%M le <span class='Date'>%A %d %B %Y</span>", strtotime($row['DateComment'])); |
webmaster@0
|
57 $AdresseMail = $row['AdresseMail']; |
webmaster@0
|
58 $grav_id = md5($AdresseMail); |
webmaster@0
|
59 $Comment = nl2br($row['Comment']); |
webmaster@0
|
60 $Comment = str_replace(" & ", " & ", $Comment); |
webmaster@0
|
61 if($row['num_comm'] == 172) $Comment = str_replace("</sup>", "</del>", $Comment); |
webmaster@0
|
62 //if(stristr($Adresse, "@")) $Adresse = "mailto:" . $Adresse; |
webmaster@0
|
63 $betterHref = (stristr($row['Adresse'], 'http://') != false)?"href='{$row['Adresse']}'":''; |
webmaster@0
|
64 echo(" |
webmaster@0
|
65 <div class='PostContent'> |
webmaster@0
|
66 <div class='Infos'> |
webmaster@0
|
67 <img class='gravatar' src='http://www.gravatar.com/avatar.php?gravatar_id={$grav_id}&size=50&default=$defaultGravatar' alt='' /> |
webmaster@0
|
68 <a {$betterHref} name='c{$row['num_comm']}'>{$row['Auteur']}</a> {$dateFormatee} |
webmaster@0
|
69 </div> |
webmaster@0
|
70 <div class='Comment'>{$Comment}</div> |
webmaster@0
|
71 <br class='endComment' /> |
webmaster@0
|
72 </div>"); |
webmaster@0
|
73 } |
webmaster@0
|
74 echo(" |
webmaster@0
|
75 <div class='PostContent'> |
webmaster@0
|
76 <a href='/blog/'>Revenir au blog</a> |
webmaster@0
|
77 </div> |
webmaster@0
|
78 <div class='PostContent'> |
webmaster@0
|
79 <form method='post' action='#'> |
webmaster@0
|
80 <div id='FormCommentaire'> |
webmaster@0
|
81 Vous souhaitez ajouter un nouveau commentaire ? Faites donc, il vous suffit de remplir |
webmaster@0
|
82 le petit formulaire ci-dessous. |
webmaster@0
|
83 <input type='text' name='Auteur' value='Votre Nom' onfocus=\"if(this.value== this.getAttribute('value')) this.value='';\" /> |
webmaster@0
|
84 <input type='text' name='AdresseMail' value='Une adresse mail où vous joindre ? ( Non affichée publiquement )' onfocus=\"if(this.value == this.getAttribute('value')) this.value='';\"/> |
webmaster@0
|
85 <input type='text' name='Adresse' value='Un site web à vous ?' onfocus=\"if(this.value == this.getAttribute('value')) this.value='';\"/> |
webmaster@0
|
86 <textarea name='Comment' rows='10' cols='40' onfocus=\"if(this.value == 'Et z\'enfin, votre petit commentaire') this.value='';\">Et z'enfin, votre petit commentaire</textarea> |
webmaster@0
|
87 <input type='submit' value='Poster ce commentaire' /> |
webmaster@0
|
88 </div> |
webmaster@0
|
89 </form> |
webmaster@0
|
90 </div> |
webmaster@0
|
91 "); |
webmaster@0
|
92 include("foot.php"); |
webmaster@0
|
93 ?> |