view comment_.php @ 1:7dec52982000

Affichage uniquement des messages publiquement visible (non spam)
author Franck Deroche <webmaster@defr.org>
date Sat, 20 Oct 2007 14:25:20 +0200
parents 629389204276
children
line wrap: on
line source
<?php
    setlocale(LC_ALL, "fr_FR.utf8@euro");
     include("classes.php");
     $id = $_GET['id'];
     $Data = new DataAccess;
     
     $Auteur=$_POST['Auteur'];
     $Adresse=$_POST['Adresse'];
     $AdresseMail = $_POST['AdresseMail'];
     $Comment=$_POST['Comment'];
     $DateComment=gmdate("Y-m-d H:i:s", time() + 3600*2);
     if(!is_null($Auteur) && $Auteur!='Votre Nom' && !is_null($Comment)) {
	// Prévention d'un "cassage" par ajout d'un commentaire incorrectement formaté
	if(!@domxml_open_mem('<comment>' . $Comment . '</comment>', DOMXML_LOAD_PARSING, $err))
		$Comment = '<![CDATA[' . $Comment . ']]>';
	$Data->Query("INSERT INTO Commentaires(MessId, Auteur, Adresse, AdresseMail, Comment, DateComment) VALUES({$id}, '{$Auteur}', '{$Adresse}', '{$AdresseMail}', '{$Comment}', '{$DateComment}')");
	$Data->Query("UPDATE Mess SET NbCommentaires=NbCommentaires+1 WHERE num_mess={$id}");
      }

     $Data->Query("SELECT * FROM Mess WHERE num_mess = {$id}");
     $row = $Data->GetRow();
      $mood = '';
      $Mess=$Data->utf8_ensure(str_replace("<P>","<p>",str_replace("</P>","</p>", $row['Message'])));
      $dateFormatee = strftime("%A %d %B %Y, %Hh%M", strtotime($row['DatePost']));
      $Titre = $Data->utf8_ensure($row['Titre']);
      $Titre_url = str_replace(" ", "_", strip_tags($Titre));
      $Titre_url = str_replace("-", "_", $Titre_url);
      include("top.php");
      if(!empty($row['Emot'])) {
	$mood = "<img src='/blog/mood/{$row['Emot']}.png' alt='Mood : {$row['Emot']}' class='mood' />";
	$row['Emot'] = " " . $row['Emot'];
      }
      echo("
       <div class='PostContent{$row['Emot']}'>
        <h2>{$Titre} | <span class='Date'>{$dateFormatee}</span></h2>
	 {$mood}
	 {$Mess}<br />
       </div>");
      $Data->Query("SELECT * FROM Commentaires Where MessId={$id} ORDER BY num_comm");
      $defaultGravatar = urlencode("http://defr.org/Misc/NoGravatar.png");
      while(0 !== ($row = $Data->GetRow())) {
         $dateFormatee = strftime(" à %Hh%M le <span class='Date'>%A %d %B %Y</span>", strtotime($row['DateComment']));
         $AdresseMail = $row['AdresseMail'];
	 $grav_id = md5($AdresseMail);
	 $Comment = nl2br($row['Comment']);
	$Comment = str_replace(" & ", " &amp; ", $Comment);
	 if($row['num_comm'] == 172) $Comment = str_replace("</sup>", "</del>", $Comment);
	 //if(stristr($Adresse, "@")) $Adresse = "mailto:" . $Adresse;
	 $betterHref = (stristr($row['Adresse'], 'http://') != false)?"href='{$row['Adresse']}'":'';
	      echo("
	<div class='PostContent'>
	  <div class='Infos'>
		  <img class='gravatar' src='http://www.gravatar.com/avatar.php?gravatar_id={$grav_id}&amp;size=50&amp;default=$defaultGravatar' alt='' />
		  <a {$betterHref} name='c{$row['num_comm']}'>{$row['Auteur']}</a> {$dateFormatee}
	  </div>
	  <div class='Comment'>{$Comment}</div>
	  <br class='endComment' />
	</div>");
      }
      echo("
	<div class='PostContent'>
	  <a href='/blog/'>Revenir au blog</a>
	</div>
	<div class='PostContent'>
	<form method='post' action='#'>
	   <div id='FormCommentaire'>
		Vous souhaitez ajouter un nouveau commentaire ? Faites donc, il vous suffit de remplir
		le petit formulaire ci-dessous.
		<input type='text' name='Auteur' value='Votre Nom' onfocus=\"if(this.value== this.getAttribute('value')) this.value='';\" />
		<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='';\"/>
		<input type='text' name='Adresse' value='Un site web à vous ?' onfocus=\"if(this.value == this.getAttribute('value')) this.value='';\"/>
		<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>
		<input type='submit' value='Poster ce commentaire' />
	   </div>
	</form>
       </div>
      ");
     include("foot.php");
?>