Statistiques| Inscription| Espace privé
Développement Web
Accueil > PHP/MySQL > Un forum > Les scripts PHP
Le plan Les galeries
Dernière mise à jour :
vendredi 15 mai 2009
Contact
Webmestre
olivier ramos
ParamSPIP
Agenda
<<   Mars 2024   >>
Lu Ma Me Je Ve Sa Di
26 27 28 29 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31



fil.php
 
 
 
 
<?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&eacute; <?php  echo " le ".$message[jour]." &agrave; ".$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("  ","&nbsp;",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');

?>