| 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 ?> |