par
Invité » 10 oct. 2005, 15:36
lol
<?
include("_conn.php");
?>
<HTML><HEAD>
<TITLE>Peintre Corse : Eric Carrara</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="styles.css">
<SCRIPT language="JavaScript" src="scripts.js"></SCRIPT>
<?
// Destruction d'un topic
if($isAdmin && (@$_GET["deltopic"]!="")) {
mysql_query("DELETE FROM $tb1 WHERE IDtopic=".$_GET["deltopic"]);
mysql_query("DELETE FROM $tb3 WHERE ID=".$_GET["deltopic"]);
}
// Destruction de messages
if(@$_GET["del"]) {
if($isModo) mysql_query("DELETE FROM $tb1 WHERE ID=".$_GET["del"]." OR reponse=".$_GET["del"]);
elseif($isUser) mysql_query("DELETE FROM $tb1 WHERE IDuser=".$user["ID"]." AND (ID=".$_GET["del"]." OR reponse=".$_GET["del"].")");
}
// Requête générique
$SQL1 = "SELECT $tb1.ID,reponse,$tb1.quand,login,email,titre,message,ismodo,IDuser,pied"
. " FROM $tb1 LEFT JOIN $tb2 ON $tb1.IDuser=$tb2.ID";
// === MODIFICATION D'UN MESSAGE ===
if(@$_POST["modif"]&&@$_POST["message"]) {
$SQL = "UPDATE $tb1 SET message='".myaddslashes($_POST["message"])."'";
if(@$_POST["titre"]) $SQL .= ",titre='".myaddslashes($_POST["titre"])."'";
$SQL .= " WHERE ID='".@$_GET["edit"]."' AND IDuser='".@$user["ID"]."'";
mysql_query($SQL);
}
// === AJOUT D'UN MESSAGE ===
elseif(@$_POST["message"]) {
// Requête d'insertion (ID sera mis à jour automatiquement)
$SQL = "INSERT into $tb1(quand,IDtopic,IDuser,message"
. ",reponse,titre,pied) VALUES(" . time()
. ",".$_GET["topic"]
. ",".$user["ID"]
. ",'".myaddslashes($_POST["message"])."'"
. ",'".$_POST["reponse"]."'"
. ",'".myaddslashes(@$_POST["titre"])."'"
. ",'".addslashes($user["signature"])."'"
. ")";
mysql_query($SQL);
// Réponse = n° auto si message initial
$id = mysql_insert_id();
if(!$_POST["reponse"]) {
mysql_query("UPDATE $tb1"
. " SET reponse=".$id.",dernier=".$id." WHERE ID=".$id);
// Mise à jour de l'ID du dernier post du sujet pour tri
} else {
mysql_query("UPDATE $tb1"
. " SET dernier=".$id." WHERE reponse=".$_POST["reponse"]);
}
// Envoi de la réponse par email
if($_POST["reponse"]!="0") {
// Sujet du mail
$SQL = "SELECT titre FROM $tb1 WHERE ID="
. $_POST["reponse"];
$res = mysql_query($SQL);
$sujet = "Re: ".mysql_result($res,0,0);
// Sélection des destinataires
$SQL = $SQL1 . " WHERE reponse="
. $_POST["reponse"]." ORDER BY ID DESC";
$res = mysql_query($SQL);
// Ne pas envoyer à l'auteur de la réponse
$temp=",".$user["email"].",";
// Pour chaque adresse
while($val=mysql_fetch_array($res)) {
// Déjà envoyé ?
if(!strpos(" ".$temp,",".$val["email"].",")) {
// Corps du message
$body = "Bonjour ".$val["login"].",\n\n"
. "Un visiteur a repondu a votre message sur le forum :"
. "\n".str_repeat("-",40)."\n"
. $user["login"]." >> ".mystripslashes($_POST["message"])
. "\n".str_repeat("-",40)."\n"
. "\nen reponse a votre message du ".date("d/m/Y",$val["quand"])." :"
. "\n".str_repeat("-",40)."\n"
. mystripslashes($val["message"])
. "\n".str_repeat("-",40)."\n"
. "\nPour poursuivre la discussion, veuillez vous rendre a l'adresse\n"
. "http://".$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"]
. "?topic=".$_GET["topic"]."&post=".$_POST["reponse"]
."\n\nA bientot\n";
// Envoi du mail
sendMail($mailForum,$val["email"],$sujet,$body);
// mémorise l'adresse
$temp .= $val["email"] . ",";
}
}
}
// Redirection
redir($_SERVER["REQUEST_URI"]);
}
// === AFFICHAGE DE LA PAGE ===
// N° de la page
$page = @$_GET["page"]; if(!$page) $page="1";
include("_top.php"); ?>
<table width="100%" cellspacing=10 cellpadding=5 >
<tr>
<table width="580" cellspacing=10 cellpadding=5 >
<tr>
<?
// === Affichage des messages ===
include("_msg.php");
// Affichage des topics
if(!@$_GET["topic"]) {
$maxPosts = 10; // Nbre max de msg/page
$url = "index.php";
// Comptage des topics
$SQL = "SELECT count(*) FROM $tb3";
$nbMsg = mysql_result(mysql_query($SQL),0,0);
$nbPage = ceil($nbMsg/$maxPosts);
if($page>$nbPage) $page=$nbPage;
// Requête de sélection des topics
$SQL = "SELECT count($tb1.ID),max($tb1.quand),$tb3.ID,$tb3.titre,detail FROM $tb1 RIGHT JOIN $tb3 ON $tb1.IDtopic=$tb3.ID"
. " GROUP BY 3 ORDER BY 3 DESC"
. " LIMIT ".($page-1)*$maxPosts.",".$maxPosts;
$res = mysql_query($SQL);
// Tant qu'il y a des topics
while($val=mysql_fetch_array($res)) {
echo "<dl><td class=msg><dt class=msg>";
// Poubelle ?
if($isAdmin)
echo "<A href='".$url."?deltopic=".$val[2]."&page=".$page."'>".$img_poub."</A>";
echo " <A class=msg href='".$url."?topic=".$val[2]."'>".emoticon_replace(htmlentities($val[3]))."</A></dt>"
. "<dd class=msg><A href='".$url."?topic=".$val[2]."'>".nl2br(ecrit_detail($val[4]))."</A></dd>"
. "</td></dl><td align=center width=100 nowrap class=msg><font class=f7>".$val[0]." message";
if($val[0]>1) echo "s";
echo "<br><br>";
if($val[1]) echo date("d/m/y H:i",$val[1]);
else echo "NOUVEAU";
echo "</font></td></tr><tr>";
}
// Affichage de la liste
} elseif(!@$_GET["post"]) {
function crunch($tx,$lg) {
$tmp = 0;
if(strlen($tx)>$lg) $tmp = strpos($tx," ",$lg);
if($tmp) $tx2 = substr($tx,0,$tmp);
else $tx2 = substr($tx,0,$lg);
if($tx2!=$tx) $tx2.=" ...";
return $tx2;
}
$maxPosts = 20; // Nbre max de msg/page
$url = "index.php?topic=".$_GET["topic"];
// Affichage du topic
$res=mysql_query($SQL = "SELECT titre,detail from $tb3 WHERE ID=".$_GET["topic"]);
echo "<td><font class=titre><".emoticon_replace(htmlentities(mysql_result($res,0,0)))."> </font>".nl2br(ecrit_detail(mysql_result($res,0,1)))."</td></tr><tr>";
// Comptage des messages
$SQL = "SELECT count(*) FROM $tb1 WHERE IDtopic=".$_GET["topic"];
$nbMsg = mysql_result(mysql_query($SQL),0,0);
$nbPage = ceil($nbMsg/$maxPosts);
if($page>$nbPage) $page=$nbPage;
// Requête de sélection des messages
$SQL = $SQL1 . " WHERE IDtopic=".$_GET["topic"]." ORDER BY dernier DESC,ID"
. " LIMIT ".($page-1)*$maxPosts.",".$maxPosts;
$res = mysql_query($SQL); $i=0;
echo "<dl><td class=msg>";
// Tant qu'il y a des messages
while($val=mysql_fetch_array($res)) { $i++;
$temp = "";
// Cas où on démarre d'une réponse > on réaffiche le sujet
if(($i==1)&&($val["reponse"]!=$val["ID"])) {
$SQL = $SQL1 . " WHERE $tb1.ID=".$val["reponse"];
$val=mysql_fetch_array(mysql_query($SQL));
mysql_data_seek($res,0);
}
// Poubelle ? Admin ou Modérateur (sauf msg d'autres modérateurs) ou Message du visiteur
if( $isAdmin || ($isModo &&($val["ismodo"]!="1")&&($val["IDuser"]!="1")) || ($user["ID"]==$val["IDuser"]) )
$temp.="<A href='".$url."&del=".$val["ID"]."&page=".$page."'>".$img_poub."</A> ";
// Edition ? Sujet du visiteur
if(($val["reponse"]==$val["ID"])&&($user["ID"]==$val["IDuser"]))
$temp.= "<A href='".$url."&edit=".$val["ID"]."&page=".$page."#edit'>".$img_edit."</A> ";
// Nouveau sujet ?
if($val["reponse"]==$val["ID"]) {
if($i>1) echo "</td></dl></tr><tr><dl><td class=msg>";
$temp.="<A class=msg href='".$url."&post=".$val["ID"]."'>";
}
// Ecrit la date du message
$temp.="<span class=msgdate>"
.date("d/m/y H:i",$val["quand"])." </span>";
// Ecrit le login de l'auteur
$temp.= $val["login"] . " : ";
// Ecrit le titre ou le début du message
if($val["reponse"]==$val["ID"])
echo "<dt class=msg>".$temp.emoticon_replace(htmlentities($val["titre"])) . "</A></dt>";
else
echo "<dd class=msg>"
.$temp.emoticon_replace(htmlentities(crunch($val["message"],70)))."</dd>";
}
echo "</td></dl>";
// Affichage détaillé du sujet
} else {
$maxPosts = 10; // Nbre max de msg/page
$url = "index.php?topic=".$_GET["topic"]."&post=".$_GET["post"];
// Affichage du topic
$res=mysql_query($SQL = "SELECT titre,detail from $tb3 WHERE ID=".$_GET["topic"]);
echo "<td colspan=2><font class=titre><".emoticon_replace(htmlentities(mysql_result($res,0,0)))."> </font>".nl2br(ecrit_detail(mysql_result($res,0,1)))."</td></tr><tr>";
// Comptage des messages
$SQL = "SELECT count(*) FROM $tb1 WHERE reponse="
. $_GET["post"];
$nbMsg = mysql_result(mysql_query($SQL),0,0);
$nbPage = ceil($nbMsg/$maxPosts);
if($page>$nbPage) $page=$nbPage;
// Requête de sélection des messages
$SQL = $SQL1 . " WHERE reponse="
. $_GET["post"] . " ORDER BY reponse DESC,ID"
. " LIMIT ".($page-1)*$maxPosts.",".$maxPosts;
$res = mysql_query($SQL);
echo "<td><table>"; $i=0;
// Tant qu'il y a des messages
while($val=mysql_fetch_array($res)) { $i++;
echo "<tr><td align=center valign=top class=".((($i>1)||($page>1))?"msg2":"msg1").">";
// avatar
if(file_exists($path_avatar.$val["IDuser"].".jpg"))
echo "<img src='".$path_avatar.$val["IDuser"].".jpg'><br>";
else echo "<img src='".$path_avatar."0.jpg'><br>";
if($isModo)
echo "<A href='mailto:".$val["email"]."'>".$val["login"]."</A>";
else
echo $val["login"];
// message
echo "</td><td width=100% valign=top class=".((($i>1)||($page>1))?"msg2":"msg1").">";
// Poubelle ? Admin ou Modérateur (sauf msg d'autres modérateurs) ou Message du visiteur
if($post <1);
echo "";
if($isAdmin || ($isModo &&($val["ismodo"]!="1")&&($val["IDuser"]!="1")) || ($user["ID"]==$val["IDuser"]) )
echo "<A href='".$url."&del=".$val["ID"]."&page=".$page."'>".$img_poub."</A> ";
// Edition ? Réponse du visiteur
if($user["ID"]==$val["IDuser"])
echo "<A href='".$url."&edit=".$val["ID"]."&page=".$page."#edit'>".$img_edit."</A> ";
// Ecrit la date du message
echo "<span class=msgdate>"
.date("d/m/y H:i",$val["quand"])." </span>";
// Ecrit le titre éventuel puis le message
if($val["reponse"]==$val["ID"])
echo "<font class=msg>".emoticon_replace(htmlentities($val["titre"]))."</font>";
echo "<br>" . nl2br(ecrit_detail($val["message"]));
if($val["pied"])
echo "<div><br><div class=signature>".nl2br(ecrit_detail($val["pied"]))."</div></div>";
echo "</td></tr>";
}
echo "</table></td>";
}
// Barre de navigation
if($nbMsg>$maxPosts) {
$temp= "</tr><tr class=navig><td align=center><table><tr><td width=60 nowrap>";
if($page>1) {
$temp.= "<A href='".$url."'>|<</A> ";
if($page>2) $temp.= "<A href='".$url."&page=".($page-1)."'><<</A>";
else $temp.= "<A href='".$url."'><<</A>";
}
$temp.= "</td><td align=center nowrap> Page ";
for($i=max(1,$page-5);$i<=min($nbPage,$page+5);$i++) {
if($i==$page) $temp.= $i." ";
else {
$temp.= "<A href='".$url;
if($i>1) $temp.= "&page=".$i;
$temp.= "'>".$i."</A> ";
}
}
$temp.= " </td><td align=right width=60 nowrap>";
if($nbMsg>$page*$maxPosts)
$temp.= "<A href='".$url."&page=".($page+1)."'>>></A> "
. " <A href='".$url."&page=".$nbPage."'>>|</A>";
$temp.= "</td></tr></table></td>";
echo str_replace("index.php&","index.php?",$temp);
}
?>
</tr>
</table>
<p align="center"><a name="edit"><br>
</a>
<? // Formulaire de saisie
if(!$isUser) { // identifié ? ?>
<a href="log.php">Pour participer à ce forum vous devez être identifié !</a><br>
<? } elseif(@$_GET["topic"]) {
if(!@$_GET["post"]||(mysql_num_rows($res)>0)) {
if(@$_GET["edit"]) {
$res2 = mysql_query("SELECT ID,titre,message FROM $tb1 WHERE ID=".$_GET["edit"]." AND IDuser=".$user["ID"]);
$val2 = mysql_fetch_array($res2);
}
?>
<script language="JavaScript"><!--
function repond(num) {
with(document.form1) {
// vérification du champ message
test=checkfield(message,".+","Le message est vide !")
<? if(!@$_GET["post"]) { ?>
// vérification du champ titre
if(test) test=checkfield(titre,".+","Le titre est vide !")
<? } ?>
reponse.value=num
if(test) submit()
}
}
--></script>
</p>
<table align="center">
<form method="post" action="index.php?topic=<? echo $_GET["topic"];
// on transmet éventuellement le n° d'édition
if(@$_GET["edit"]) echo "&edit=".$_GET["edit"];
// le n° de dernière page
if((@$_GET["post"]||@$_GET["edit"])&&($nbMsg>=$maxPosts)) echo "&page=".ceil(($nbMsg+1)/$maxPosts);
if(@$_GET["post"]) {
// et le n° du sujet
echo "&post=".$_GET["post"];
} ?>#edit" name="form1">
<? if(!@$_GET["post"]) { ?>
<tr>
<td align=right>Titre</td>
<td><input name="titre" size=60 maxlength=80 value="<?if(@$_GET["edit"]) echo htmlentities(@$val2["titre"])?>"></td>
</tr>
<? } ?>
<tr>
<td align=right valign=top>Message</td>
<td><textarea name="message" cols=60 rows=10><?if(@$_GET["edit"]) echo htmlentities(@$val2["message"])?>
</textarea>
</td>
</tr>
<tr>
<td> </td>
<td align=center><? echo emoticon("form1.message") ?></td>
</tr>
<tr>
<td> </td>
<td align=center><? echo taglist("form1.message") ?></td>
</tr>
<tr>
<td> </td>
<td align=center><br>
<? // Bouton "Modifier, "Nouveau" ou "Répondre" ?
if(@$_GET["edit"]) { ?>
<input type="submit" value="Modifier" name="modif">
<? } elseif(@$_GET["post"]) { ?>
<input type="button" value="Répondre"
onClick="repond(<?echo $_GET["post"]?>)">
<? } else { ?>
<input type="button" value="Nouveau sujet" onClick="repond(0)">
<? } ?>
<input type="hidden" name="reponse" value="0">
</td>
</tr>
</form>
</table>
<? }
}
if(@$_GET["post"]) { ?>
<div align="center"><br>
<a href="index.php?topic=<?echo $_GET["topic"]?>">Retour à la liste des sujets</a> </div>
<? }
lol
[php]<?
include("_conn.php");
?>
<HTML><HEAD>
<TITLE>Peintre Corse : Eric Carrara</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="styles.css">
<SCRIPT language="JavaScript" src="scripts.js"></SCRIPT>
<?
// Destruction d'un topic
if($isAdmin && (@$_GET["deltopic"]!="")) {
mysql_query("DELETE FROM $tb1 WHERE IDtopic=".$_GET["deltopic"]);
mysql_query("DELETE FROM $tb3 WHERE ID=".$_GET["deltopic"]);
}
// Destruction de messages
if(@$_GET["del"]) {
if($isModo) mysql_query("DELETE FROM $tb1 WHERE ID=".$_GET["del"]." OR reponse=".$_GET["del"]);
elseif($isUser) mysql_query("DELETE FROM $tb1 WHERE IDuser=".$user["ID"]." AND (ID=".$_GET["del"]." OR reponse=".$_GET["del"].")");
}
// Requête générique
$SQL1 = "SELECT $tb1.ID,reponse,$tb1.quand,login,email,titre,message,ismodo,IDuser,pied"
. " FROM $tb1 LEFT JOIN $tb2 ON $tb1.IDuser=$tb2.ID";
// === MODIFICATION D'UN MESSAGE ===
if(@$_POST["modif"]&&@$_POST["message"]) {
$SQL = "UPDATE $tb1 SET message='".myaddslashes($_POST["message"])."'";
if(@$_POST["titre"]) $SQL .= ",titre='".myaddslashes($_POST["titre"])."'";
$SQL .= " WHERE ID='".@$_GET["edit"]."' AND IDuser='".@$user["ID"]."'";
mysql_query($SQL);
}
// === AJOUT D'UN MESSAGE ===
elseif(@$_POST["message"]) {
// Requête d'insertion (ID sera mis à jour automatiquement)
$SQL = "INSERT into $tb1(quand,IDtopic,IDuser,message"
. ",reponse,titre,pied) VALUES(" . time()
. ",".$_GET["topic"]
. ",".$user["ID"]
. ",'".myaddslashes($_POST["message"])."'"
. ",'".$_POST["reponse"]."'"
. ",'".myaddslashes(@$_POST["titre"])."'"
. ",'".addslashes($user["signature"])."'"
. ")";
mysql_query($SQL);
// Réponse = n° auto si message initial
$id = mysql_insert_id();
if(!$_POST["reponse"]) {
mysql_query("UPDATE $tb1"
. " SET reponse=".$id.",dernier=".$id." WHERE ID=".$id);
// Mise à jour de l'ID du dernier post du sujet pour tri
} else {
mysql_query("UPDATE $tb1"
. " SET dernier=".$id." WHERE reponse=".$_POST["reponse"]);
}
// Envoi de la réponse par email
if($_POST["reponse"]!="0") {
// Sujet du mail
$SQL = "SELECT titre FROM $tb1 WHERE ID="
. $_POST["reponse"];
$res = mysql_query($SQL);
$sujet = "Re: ".mysql_result($res,0,0);
// Sélection des destinataires
$SQL = $SQL1 . " WHERE reponse="
. $_POST["reponse"]." ORDER BY ID DESC";
$res = mysql_query($SQL);
// Ne pas envoyer à l'auteur de la réponse
$temp=",".$user["email"].",";
// Pour chaque adresse
while($val=mysql_fetch_array($res)) {
// Déjà envoyé ?
if(!strpos(" ".$temp,",".$val["email"].",")) {
// Corps du message
$body = "Bonjour ".$val["login"].",\n\n"
. "Un visiteur a repondu a votre message sur le forum :"
. "\n".str_repeat("-",40)."\n"
. $user["login"]." >> ".mystripslashes($_POST["message"])
. "\n".str_repeat("-",40)."\n"
. "\nen reponse a votre message du ".date("d/m/Y",$val["quand"])." :"
. "\n".str_repeat("-",40)."\n"
. mystripslashes($val["message"])
. "\n".str_repeat("-",40)."\n"
. "\nPour poursuivre la discussion, veuillez vous rendre a l'adresse\n"
. "http://".$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"]
. "?topic=".$_GET["topic"]."&post=".$_POST["reponse"]
."\n\nA bientot\n";
// Envoi du mail
sendMail($mailForum,$val["email"],$sujet,$body);
// mémorise l'adresse
$temp .= $val["email"] . ",";
}
}
}
// Redirection
redir($_SERVER["REQUEST_URI"]);
}
// === AFFICHAGE DE LA PAGE ===
// N° de la page
$page = @$_GET["page"]; if(!$page) $page="1";
include("_top.php"); ?>
<table width="100%" cellspacing=10 cellpadding=5 >
<tr>
<table width="580" cellspacing=10 cellpadding=5 >
<tr>
<?
// === Affichage des messages ===
include("_msg.php");
// Affichage des topics
if(!@$_GET["topic"]) {
$maxPosts = 10; // Nbre max de msg/page
$url = "index.php";
// Comptage des topics
$SQL = "SELECT count(*) FROM $tb3";
$nbMsg = mysql_result(mysql_query($SQL),0,0);
$nbPage = ceil($nbMsg/$maxPosts);
if($page>$nbPage) $page=$nbPage;
// Requête de sélection des topics
$SQL = "SELECT count($tb1.ID),max($tb1.quand),$tb3.ID,$tb3.titre,detail FROM $tb1 RIGHT JOIN $tb3 ON $tb1.IDtopic=$tb3.ID"
. " GROUP BY 3 ORDER BY 3 DESC"
. " LIMIT ".($page-1)*$maxPosts.",".$maxPosts;
$res = mysql_query($SQL);
// Tant qu'il y a des topics
while($val=mysql_fetch_array($res)) {
echo "<dl><td class=msg><dt class=msg>";
// Poubelle ?
if($isAdmin)
echo "<A href='".$url."?deltopic=".$val[2]."&page=".$page."'>".$img_poub."</A>";
echo " <A class=msg href='".$url."?topic=".$val[2]."'>".emoticon_replace(htmlentities($val[3]))."</A></dt>"
. "<dd class=msg><A href='".$url."?topic=".$val[2]."'>".nl2br(ecrit_detail($val[4]))."</A></dd>"
. "</td></dl><td align=center width=100 nowrap class=msg><font class=f7>".$val[0]." message";
if($val[0]>1) echo "s";
echo "<br><br>";
if($val[1]) echo date("d/m/y H:i",$val[1]);
else echo "NOUVEAU";
echo "</font></td></tr><tr>";
}
// Affichage de la liste
} elseif(!@$_GET["post"]) {
function crunch($tx,$lg) {
$tmp = 0;
if(strlen($tx)>$lg) $tmp = strpos($tx," ",$lg);
if($tmp) $tx2 = substr($tx,0,$tmp);
else $tx2 = substr($tx,0,$lg);
if($tx2!=$tx) $tx2.=" ...";
return $tx2;
}
$maxPosts = 20; // Nbre max de msg/page
$url = "index.php?topic=".$_GET["topic"];
// Affichage du topic
$res=mysql_query($SQL = "SELECT titre,detail from $tb3 WHERE ID=".$_GET["topic"]);
echo "<td><font class=titre><".emoticon_replace(htmlentities(mysql_result($res,0,0)))."> </font>".nl2br(ecrit_detail(mysql_result($res,0,1)))."</td></tr><tr>";
// Comptage des messages
$SQL = "SELECT count(*) FROM $tb1 WHERE IDtopic=".$_GET["topic"];
$nbMsg = mysql_result(mysql_query($SQL),0,0);
$nbPage = ceil($nbMsg/$maxPosts);
if($page>$nbPage) $page=$nbPage;
// Requête de sélection des messages
$SQL = $SQL1 . " WHERE IDtopic=".$_GET["topic"]." ORDER BY dernier DESC,ID"
. " LIMIT ".($page-1)*$maxPosts.",".$maxPosts;
$res = mysql_query($SQL); $i=0;
echo "<dl><td class=msg>";
// Tant qu'il y a des messages
while($val=mysql_fetch_array($res)) { $i++;
$temp = "";
// Cas où on démarre d'une réponse > on réaffiche le sujet
if(($i==1)&&($val["reponse"]!=$val["ID"])) {
$SQL = $SQL1 . " WHERE $tb1.ID=".$val["reponse"];
$val=mysql_fetch_array(mysql_query($SQL));
mysql_data_seek($res,0);
}
// Poubelle ? Admin ou Modérateur (sauf msg d'autres modérateurs) ou Message du visiteur
if( $isAdmin || ($isModo &&($val["ismodo"]!="1")&&($val["IDuser"]!="1")) || ($user["ID"]==$val["IDuser"]) )
$temp.="<A href='".$url."&del=".$val["ID"]."&page=".$page."'>".$img_poub."</A> ";
// Edition ? Sujet du visiteur
if(($val["reponse"]==$val["ID"])&&($user["ID"]==$val["IDuser"]))
$temp.= "<A href='".$url."&edit=".$val["ID"]."&page=".$page."#edit'>".$img_edit."</A> ";
// Nouveau sujet ?
if($val["reponse"]==$val["ID"]) {
if($i>1) echo "</td></dl></tr><tr><dl><td class=msg>";
$temp.="<A class=msg href='".$url."&post=".$val["ID"]."'>";
}
// Ecrit la date du message
$temp.="<span class=msgdate>"
.date("d/m/y H:i",$val["quand"])." </span>";
// Ecrit le login de l'auteur
$temp.= $val["login"] . " : ";
// Ecrit le titre ou le début du message
if($val["reponse"]==$val["ID"])
echo "<dt class=msg>".$temp.emoticon_replace(htmlentities($val["titre"])) . "</A></dt>";
else
echo "<dd class=msg>"
.$temp.emoticon_replace(htmlentities(crunch($val["message"],70)))."</dd>";
}
echo "</td></dl>";
// Affichage détaillé du sujet
} else {
$maxPosts = 10; // Nbre max de msg/page
$url = "index.php?topic=".$_GET["topic"]."&post=".$_GET["post"];
// Affichage du topic
$res=mysql_query($SQL = "SELECT titre,detail from $tb3 WHERE ID=".$_GET["topic"]);
echo "<td colspan=2><font class=titre><".emoticon_replace(htmlentities(mysql_result($res,0,0)))."> </font>".nl2br(ecrit_detail(mysql_result($res,0,1)))."</td></tr><tr>";
// Comptage des messages
$SQL = "SELECT count(*) FROM $tb1 WHERE reponse="
. $_GET["post"];
$nbMsg = mysql_result(mysql_query($SQL),0,0);
$nbPage = ceil($nbMsg/$maxPosts);
if($page>$nbPage) $page=$nbPage;
// Requête de sélection des messages
$SQL = $SQL1 . " WHERE reponse="
. $_GET["post"] . " ORDER BY reponse DESC,ID"
. " LIMIT ".($page-1)*$maxPosts.",".$maxPosts;
$res = mysql_query($SQL);
echo "<td><table>"; $i=0;
// Tant qu'il y a des messages
while($val=mysql_fetch_array($res)) { $i++;
echo "<tr><td align=center valign=top class=".((($i>1)||($page>1))?"msg2":"msg1").">";
// avatar
if(file_exists($path_avatar.$val["IDuser"].".jpg"))
echo "<img src='".$path_avatar.$val["IDuser"].".jpg'><br>";
else echo "<img src='".$path_avatar."0.jpg'><br>";
if($isModo)
echo "<A href='mailto:".$val["email"]."'>".$val["login"]."</A>";
else
echo $val["login"];
// message
echo "</td><td width=100% valign=top class=".((($i>1)||($page>1))?"msg2":"msg1").">";
// Poubelle ? Admin ou Modérateur (sauf msg d'autres modérateurs) ou Message du visiteur
if($post <1);
echo "";
if($isAdmin || ($isModo &&($val["ismodo"]!="1")&&($val["IDuser"]!="1")) || ($user["ID"]==$val["IDuser"]) )
echo "<A href='".$url."&del=".$val["ID"]."&page=".$page."'>".$img_poub."</A> ";
// Edition ? Réponse du visiteur
if($user["ID"]==$val["IDuser"])
echo "<A href='".$url."&edit=".$val["ID"]."&page=".$page."#edit'>".$img_edit."</A> ";
// Ecrit la date du message
echo "<span class=msgdate>"
.date("d/m/y H:i",$val["quand"])." </span>";
// Ecrit le titre éventuel puis le message
if($val["reponse"]==$val["ID"])
echo "<font class=msg>".emoticon_replace(htmlentities($val["titre"]))."</font>";
echo "<br>" . nl2br(ecrit_detail($val["message"]));
if($val["pied"])
echo "<div><br><div class=signature>".nl2br(ecrit_detail($val["pied"]))."</div></div>";
echo "</td></tr>";
}
echo "</table></td>";
}
// Barre de navigation
if($nbMsg>$maxPosts) {
$temp= "</tr><tr class=navig><td align=center><table><tr><td width=60 nowrap>";
if($page>1) {
$temp.= "<A href='".$url."'>|<</A> ";
if($page>2) $temp.= "<A href='".$url."&page=".($page-1)."'><<</A>";
else $temp.= "<A href='".$url."'><<</A>";
}
$temp.= "</td><td align=center nowrap> Page ";
for($i=max(1,$page-5);$i<=min($nbPage,$page+5);$i++) {
if($i==$page) $temp.= $i." ";
else {
$temp.= "<A href='".$url;
if($i>1) $temp.= "&page=".$i;
$temp.= "'>".$i."</A> ";
}
}
$temp.= " </td><td align=right width=60 nowrap>";
if($nbMsg>$page*$maxPosts)
$temp.= "<A href='".$url."&page=".($page+1)."'>>></A> "
. " <A href='".$url."&page=".$nbPage."'>>|</A>";
$temp.= "</td></tr></table></td>";
echo str_replace("index.php&","index.php?",$temp);
}
?>
</tr>
</table>
<p align="center"><a name="edit"><br>
</a>
<? // Formulaire de saisie
if(!$isUser) { // identifié ? ?>
<a href="log.php">Pour participer à ce forum vous devez être identifié !</a><br>
<? } elseif(@$_GET["topic"]) {
if(!@$_GET["post"]||(mysql_num_rows($res)>0)) {
if(@$_GET["edit"]) {
$res2 = mysql_query("SELECT ID,titre,message FROM $tb1 WHERE ID=".$_GET["edit"]." AND IDuser=".$user["ID"]);
$val2 = mysql_fetch_array($res2);
}
?>
<script language="JavaScript"><!--
function repond(num) {
with(document.form1) {
// vérification du champ message
test=checkfield(message,".+","Le message est vide !")
<? if(!@$_GET["post"]) { ?>
// vérification du champ titre
if(test) test=checkfield(titre,".+","Le titre est vide !")
<? } ?>
reponse.value=num
if(test) submit()
}
}
--></script>
</p>
<table align="center">
<form method="post" action="index.php?topic=<? echo $_GET["topic"];
// on transmet éventuellement le n° d'édition
if(@$_GET["edit"]) echo "&edit=".$_GET["edit"];
// le n° de dernière page
if((@$_GET["post"]||@$_GET["edit"])&&($nbMsg>=$maxPosts)) echo "&page=".ceil(($nbMsg+1)/$maxPosts);
if(@$_GET["post"]) {
// et le n° du sujet
echo "&post=".$_GET["post"];
} ?>#edit" name="form1">
<? if(!@$_GET["post"]) { ?>
<tr>
<td align=right>Titre</td>
<td><input name="titre" size=60 maxlength=80 value="<?if(@$_GET["edit"]) echo htmlentities(@$val2["titre"])?>"></td>
</tr>
<? } ?>
<tr>
<td align=right valign=top>Message</td>
<td><textarea name="message" cols=60 rows=10><?if(@$_GET["edit"]) echo htmlentities(@$val2["message"])?>
</textarea>
</td>
</tr>
<tr>
<td> </td>
<td align=center><? echo emoticon("form1.message") ?></td>
</tr>
<tr>
<td> </td>
<td align=center><? echo taglist("form1.message") ?></td>
</tr>
<tr>
<td> </td>
<td align=center><br>
<? // Bouton "Modifier, "Nouveau" ou "Répondre" ?
if(@$_GET["edit"]) { ?>
<input type="submit" value="Modifier" name="modif">
<? } elseif(@$_GET["post"]) { ?>
<input type="button" value="Répondre"
onClick="repond(<?echo $_GET["post"]?>)">
<? } else { ?>
<input type="button" value="Nouveau sujet" onClick="repond(0)">
<? } ?>
<input type="hidden" name="reponse" value="0">
</td>
</tr>
</form>
</table>
<? }
}
if(@$_GET["post"]) { ?>
<div align="center"><br>
<a href="index.php?topic=<?echo $_GET["topic"]?>">Retour à la liste des sujets</a> </div>
<? }
[/php]