<?php
// Les fichiers fonction.php et fonctionef.php contiennent des fonctions qui permettent de parcourir un arbre de messages récursivement.
require ('fonction.php');
require ('fonctionef.php');
//On efface un message s'il y a lieu.
if ($_POST['envoieff']){
$message_id=$_POST['messageid'];
@mysql_query("DELETE FROM messages where message_id='$message_id'");
//On efface tous ses descendants.
descendreef($message_id);
//Si c'est un message de début on efface le fil correspondant.
if ($_POST['filid']){
$fil_id=$_POST['filid'];
@mysql_query("DELETE FROM fils where fil_id='$fil_id'");
}
}
// On valide le message s'il y a lieu.
if ($_POST['envoivalid']=="Valider"){
$message_id=$_POST['messageid'];
@mysql_query("UPDATE messages set mode='0' where message_id='$message_id'");
}
// On insère un nouveau message dans la base de données.
if (($_POST['envoi']=="Valider") and ($_SESSION['envoi']=="ok")) {
$_SESSION['envoi']="pasok";
$fil_id=$_SESSION['fil_id'];
$usaid=$_SESSION['usager_id'];
$parentid=$_POST['parent'];
$messa=addslashes($_POST['message']);
$tit=addslashes ($_POST['titre']);
$mode=$_SESSION['mode'];
@mysql_query("INSERT INTO messages VALUES('', '$fil_id','$usaid','$parentid','','$messa',NOW(),'$tit','$mode')");
@mysql_query("UPDATE messages set descente='1' where message_id='$parentid'");
}
// Dans cette partie, on récupère le premier message
$reponse= @mysql_query("SELECT * ,DATE_FORMAT(date,'%d/%m/%y') AS jour,
TIME_FORMAT(date,'%kh%imin') AS heure
FROM fils, messages WHERE fils.fil_id=messages.fil_id
AND fils.fil_id='".$_SESSION['fil_id']."' AND messages.parent_id='0' ORDER BY DATE DESC" );
$message = @mysql_fetch_array($reponse);
if ((($message['mode']==0)or($_SESSION['adminconnect']))and(isset($message['message_id']))) {
$i=0;
$reponse= @mysql_query("SELECT pseudo,email FROM usagers WHERE usager_id='".$message[usager_id]."' " );
$auteur = @mysql_fetch_array($reponse);
// et on l'affiche avec des boutons de validation et d'effacement...
?>
<div class='forphcontprem'>
<div class="forphppremfilmessage <?php echo $_SESSION[couleur]."2" ?>">
<div class="forphpparle1">
Posté <?php echo " le ".$message[jour]." à ".$message[heure]; ?>
<?php if ((isset($auteur[pseudo]))and ($auteur[pseudo]!="")) { ?>
, par
<?php if ($auteur[email]!="") { ?>
<a href="mailto:<?php echo $auteur[email]; ?>" >
<?php } echo $auteur[pseudo];
if ($auteur[email]!="") { ?>
</a>
<?php } }
if ((isset($auteur[email]))and ($auteur[email]!="")){ ?>
(email : <?php echo $auteur[email]; ?>)
<?php } ?>
</div>
<div class="forphpmessagetexte1">
<?php echo str_replace(" "," ",str_replace("\n","<br/>",htmlentities(stripslashes($message[message])))); ?>
</div>
<?php
//Insertion d'un bouton pour effacer le message lorsque l'on est administrateur.
if ($_SESSION['adminconnect']){ ?>
<form class="forphpeffacer" action="<?php echo "spip.php?article".$_SESSION['idarticle']."&fil_id=".$_SESSION['fil_id']; ?>" method="post">
<input type="submit" class="forphprepondre1 <?php echo $_SESSION[couleur] ?>22" name="envoieff" value="Effacer" />
<input type="hidden" name="messageid" value="<?php echo $message[message_id] ?>"/>
<?php
//Insertion d'un bouton pour valider le message lorsque l'on est administrateur.
if ($message[mode]==1){ ?>
<input type="submit" class="forphprepondre1 <?php echo $_SESSION[couleur] ?>22" name="envoivalid" value="Valider" />
<?php }
if ($message[parent_id]=='0') { ?>
<input type="hidden" name="filid" value="<?php echo $message[fil_id] ?>"/>
<?php } ?>
</form>
<?php }
//Insertion d'un bouton pour répondre au message lorsque l'on est connecté.
if ((isset($_SESSION['usager_id']))and($_SESSION['usager_id']!="")){ ?>
<form class="forphpparticiper" action="<?php echo "spip.php?article".$_SESSION['idarticle']."&fil_id=".$_SESSION['fil_id']; ?>" method="post">
<?php $i++;
if ($_POST['envoi']==$i) {
$_SESSION['envoi']="ok";
?>
<div class="forphpreptitre1 <?php echo $_SESSION[couleur] ?>"> Participer </div>
<div class="forphpconteneurnouveaurep1 <?php echo $_SESSION[couleur] ?>">
<p><span class="forphprepsujet"> Titre </span></p> <p> <input name="titre" type="text" size="20"/></p>
<p><span class="forphprepsujet"> Message </span></p> <p><textarea name="message" rows="10" cols="25"></textarea></p>
</div>
<input type="submit" class="forphprepondre1 <?php echo $_SESSION[couleur] ?>22" name="envoi" value="Valider" />
<input type="submit" class="forphprepondre1 <?php echo $_SESSION[couleur] ?>22" name="envoi" value="Annuler"/>
<input type="hidden" name="parent" value="<?php echo $message[message_id] ?>"/>
<?php } else { ?>
<input type="submit" class="forphprepondre1 <?php echo $_SESSION[couleur] ?>22" value="Participer" />
<input type="hidden" name="envoi" value="<?php echo $i ?>"/>
<?php } ?>
</form>
<?php } ?>
</div></div>
<?php
}
//S'il y a lieu, on appelle la fonction de parcours des réponses successives.
if ($message[descente]=="1"){
echo "<div class='forphcontfil'>";
descendre($message[message_id]);
echo "</div>";
}
// Insertion du pied de page.
include('pied.php');
?>