304 lines
11 KiB
PHP
304 lines
11 KiB
PHP
<?php
|
|
require_once "include/standard.inc.php";
|
|
include_once "themes/default/theme.php";
|
|
include_once "include/lang.inc.php";
|
|
|
|
if ($lang == "fr")
|
|
{
|
|
$post_a_new_message = "Poster un nouveau message";
|
|
$anonymous = "Anonyme";
|
|
$cancel = "Annuler";
|
|
$help = "Aide";
|
|
$name = "Nom/Pseudo (facultatif)";
|
|
$email_adress = "e-mail (facultatif)";
|
|
$subject = "Sujet";
|
|
$view = "Voir";
|
|
$clear = "Effaçer";
|
|
$write = "Ecrire";
|
|
$hide_help = "Cacher Aide";
|
|
$back = "Retour";
|
|
$confirm_post_message = "Poster votre message ?";
|
|
$please_fill_fields = "Vous devez remplir au minimum les champs Sujet et Message.";
|
|
$previewed_message = "prévisualisé le ".strftime ("%d/%m/%Y", time())." à ".date("H:i")." par ";
|
|
$message_sent = "Réponse postée !";
|
|
$reply = "Répondre";
|
|
}
|
|
else
|
|
{
|
|
$post_a_new_message = "New message";
|
|
$anonymous = "Anonymous";
|
|
$cancel = "Cancel";
|
|
$help = "Help";
|
|
$name = "Name (facultative)";
|
|
$email_adress = "e-mail adress (facultative)";
|
|
$subject = "Subject";
|
|
$view = "Preview";
|
|
$clear = "Clear";
|
|
$write = "Write";
|
|
$hide_help = "Hide Help";
|
|
$back = "Back";
|
|
$confirm_post_message = "Send your message?";
|
|
$please_fill_fields = "Subject and Message fields can't be empty.";
|
|
$previewed_message = "previewed on ".strftime ("%m/%d/%Y", time())." at ".date("h:i A")." by ";
|
|
$message_sent = "Message sent!";
|
|
$reply = "Reply";
|
|
}
|
|
|
|
if ($_GET["forumfile"] != "")
|
|
$forumfile = $_GET["forumfile"];
|
|
|
|
if ($_GET["idnews"] != "")
|
|
$idnews = $_GET["idnews"];
|
|
|
|
$index = $oldstrength = 1;
|
|
if (!isset($File) || $File=="")
|
|
{
|
|
if (file_exists("modules/news/news.$lang.csv"))
|
|
$File="modules/news/news.$lang";
|
|
else
|
|
$File="modules/news/news";
|
|
}
|
|
|
|
|
|
if (!isset($forumfile) || $forumfile=="")
|
|
$forumfile = $File.".".$idnews.".forum.csv";
|
|
|
|
//echo $forumfile;
|
|
echo "<!-- preview:$preview-->";
|
|
function write2csv($csvfile, $data)
|
|
{
|
|
$fp = fopen ($csvfile,"a");
|
|
$csvstring = "\"".$data["idmessage"].
|
|
"\",\"".$data["date"].
|
|
"\",\"".$data["heure"].
|
|
"\",\"".$data["authorname"].
|
|
"\",\"".$data["authoremail"].
|
|
"\",\"".$data["titlemessage"].
|
|
"\",\"".$data["textmessage"]."\"\n";
|
|
fwrite ($fp, $csvstring);
|
|
fclose ($fp);
|
|
}
|
|
|
|
function form($rep, $to,$numrep, $idnews, $File)
|
|
{
|
|
global $lang;
|
|
global $name;
|
|
global $email_adress;
|
|
global $subject;
|
|
global $help;
|
|
global $closedpost;
|
|
global $view, $clear, $write, $hide_help, $confirm_post_message, $previewed_message, $posted_message, $reply;
|
|
|
|
if ($_POST["preview"] == "Voir" || $_POST["preview"] == "Preview")
|
|
{
|
|
$preview = $_POST["preview"];
|
|
$VName = $_POST["VName"];
|
|
$VEmail = $_POST["VEmail"];
|
|
$VSubject = $_POST["VSubject"];
|
|
$VText = $_POST["VText"];
|
|
}
|
|
else $VSubject = $rep;
|
|
|
|
$VSubject = str_replace("'","'",$VSubject);
|
|
$VName = str_replace("'","'",$VName);
|
|
|
|
// affichage du formulaire
|
|
echo "<hr /><table class='addcomment'><tr><td>";
|
|
echo "<form action='$to' method='post' name='addnews'>
|
|
<input name='modulepage' value='commentnews' type='hidden'></input>
|
|
<div class='title_field'>$name</div><input name='VName' type='text' size='30' value='".stripcslashes($VName)."'></input><br />
|
|
<div class='title_field'>$email_adress</div><input name='VEmail' type='text' size='30' value='".$VEmail."'></input><br />
|
|
<div class='title_field'>$subject</div><input name='VSubject' type='text' size='46' value='".stripcslashes($VSubject)."'></input><br /><br />
|
|
<div class='title_field'>Message</div><textarea name='VText' cols='50' rows='12'>".stripcslashes(htmlentities($VText))."</textarea><br />
|
|
|
|
<!-- <input name='piejacon' value='piejacon' /> -->
|
|
<input name='NumRep' value='".$numrep."' type='hidden' />
|
|
<input name='idnews' value='$idnews' type='hidden' />
|
|
<div class='buttons_field'>
|
|
<input name='preview' value='$view' type='submit' class='boutton' />
|
|
<input name='reset' value='$clear' type='button' onclick=\"document.addnews.VText.value=''\" class='boutton' />
|
|
|
|
<input name='Ecrire' value='$write' type='submit' onclick=\"return confirm('$confirm_post_message')\" class='boutton' />
|
|
<input name='hidehelp' id='hidehelp' value='$hide_help' type='button' onclick=\"togglehelp('$lang');\" class='boutton' />
|
|
</div>
|
|
</form>";
|
|
|
|
echo "</td><td><div class='title_field' id='wikihelp_title'>$help</div>
|
|
".wiki_help($lang)."</td></tr></table>";
|
|
|
|
// affichage d'un message à prévisualister
|
|
if (isset($preview))
|
|
{
|
|
if ($VName == "")
|
|
$VName = "Anonyme";
|
|
|
|
if ($VEmail != "")
|
|
$VEmail = "<a href='mailto:$VEmail'>$VName</a>";
|
|
else
|
|
$VEmail = $VName;
|
|
|
|
//echo "<div class='forum_message_header'> [".stripcslashes($VSubject)."]</a> prévisualisé le ".strftime ("%d/%m/%Y", time())." à ".date("H:i")." par ".stripcslashes($VEmail)."</div><br />";
|
|
echo "<div class='forum_message_header'> [".stripcslashes($VSubject)."]</a> ".$previewed_message.stripcslashes($VEmail)."</div><br />";
|
|
echo "<table class='comment'><tr><td>".stripcslashes(parse_string($VText,"yes"))."</td></tr></table><br />";
|
|
echo "</td></tr>\n";
|
|
}
|
|
|
|
echo "<hr /></td></tr>\n";
|
|
}
|
|
|
|
// récupération du numéro du dernier message
|
|
if (file_exists("$forumfile"))
|
|
{
|
|
$fp = fopen ($forumfile,"r");
|
|
while ($data[$index++] = fgetcsv ($fp, 1000, ","));
|
|
fclose ($fp);
|
|
}
|
|
else
|
|
{
|
|
$index = 0;
|
|
}
|
|
|
|
// Écriture effective du message
|
|
if (isset($Ecrire) && !isset($piejacon) && ($Ecrire == "Ecrire" || $Ecrire == "Write"))
|
|
{
|
|
if ($VSubject == "" || $VText == "" || $NumRep == "")
|
|
echo $please_fill_fields."<br />";
|
|
else
|
|
{
|
|
$t["idmessage"] = $NumRep;
|
|
$t["titlemessage"] = $VSubject;
|
|
$t["textmessage"] = htmlentities(parse_string($VText,"yes"));
|
|
$VSubject = str_replace("'","'",$VSubject);
|
|
$VName = str_replace("'","'",$VName);
|
|
$t["authorname"] = $VName;
|
|
$t["authoremail"] = $VEmail;
|
|
if ($lang == "fr")
|
|
{
|
|
$t["date"] = strftime("%d/%m/%Y", time());
|
|
$t["heure"] = date("H:i");
|
|
}
|
|
else
|
|
{
|
|
$t["date"] = strftime("%m/%d/%Y", time());
|
|
$t["heure"] = strftime("%I:%M %p", time());
|
|
}
|
|
|
|
write2csv($forumfile,$t);
|
|
|
|
//mail("n@tourmentine.com","[Tourmentine] post forum ".$forumfile, "titre:".$VSubject."\nauteur: ".$VName." <".$VEmail.">");
|
|
mailalert("n@tourmentine.com",("post forum ".$forumfile), $VName, $VEmail, $VSubject, $VText);
|
|
sendviajabber("n@tourmentine.com","post forum $forumfile $VName <$VEmail> $VSubject: $VText");
|
|
// met à jour le cache
|
|
touch("modules/news");
|
|
|
|
echo "$message_sent<br />";
|
|
}
|
|
echo "<a href ='billet.$idnews.html'>$back</a>";
|
|
}
|
|
else
|
|
{
|
|
// affichage des messages
|
|
for ($i=0; $i < $index; $i++)
|
|
{
|
|
$thread[$i]["idmessage"] = $data[$i][0];
|
|
$thread[$i]["date"] = $data[$i][1];
|
|
$thread[$i]["heure"] = $data[$i][2];
|
|
$thread[$i]["auteur"] = $data[$i][3];
|
|
$thread[$i]["mail"] = $data[$i][4];
|
|
$thread[$i]["titlemessage"] = $data[$i][5];
|
|
$thread[$i]["textmessage"] = $data[$i][6];
|
|
}
|
|
|
|
if ($thread[1]["idmessage"] != "")
|
|
sort($thread);
|
|
|
|
$nbthreads = substr($thread[$i-1]["idmessage"],2,2);
|
|
|
|
if (isset($indexmsg) && $indexmsg == 0)
|
|
{
|
|
if ($nbthreads < 11)
|
|
$NumRep = "id0".($nbthreads+1);
|
|
else
|
|
$NumRep = "id".($nbthreads+1);
|
|
|
|
//form("", "?modulepage=commentnews&idnews=$idnews&indexmsg=$indexmsg", $NumRep, $idnews, $File);
|
|
form("", "comment.$idnews.$indexmsg.html#$indexmsg", $NumRep, $idnews, $File, "yes");
|
|
|
|
echo "<tr><td>\n";
|
|
//echo "<a href ='?modulepage=commentnews&idnews=$idnews'>Annuler</a><hr/>\n";
|
|
echo "<a href ='billet.$idnews.html'>$cancel</a><hr />\n";
|
|
}
|
|
else
|
|
//echo "<a href='?modulepage=commentnews&idnews=$idnews&indexmsg=0'>[Poster un nouveau message]</a><br /><br />\n";
|
|
if ($closedpost == false)
|
|
echo "\n<a href='comment.$idnews.0000.html'>[$post_a_new_message]</a><br /><br />\n";
|
|
|
|
// entête d'un message (auteur, @email, titre, date, etc.)
|
|
for ($i=1; $i < $index; $i++)
|
|
{
|
|
if ($thread[$i]["idmessage"] != "")
|
|
{
|
|
if (strlen($thread[$i]["idmessage"]) >= $oldstrength)
|
|
echo str_repeat(" ",strlen($thread[$i]["idmessage"])-2);
|
|
|
|
if ($thread[$i]["auteur"] == "")
|
|
if ($lang == "fr")
|
|
$thread[$i]["auteur"] = "Anonyme";
|
|
else
|
|
$thread[$i]["auteur"] = "Anonymous";
|
|
|
|
if ($thread[$i]["mail"] != "")
|
|
$thread[$i]["auteur"] = "<a href='mailto:".$thread[$i]["mail"]."'>".$thread[$i]["auteur"]."</a>";
|
|
|
|
// formatage du numéro de commentaire (nombre à 4 chiffres)
|
|
$indexmsglength = strlen($i);
|
|
|
|
if ($indexmsglength == 1 )
|
|
$izero = "000".$i;
|
|
|
|
if ($indexmsglength == 2 )
|
|
$izero = "00".$i;
|
|
|
|
if ($indexmsglengh == 3 )
|
|
$izero = "0".$i;
|
|
|
|
//echo "\n<a href='?modulepage=commentnews&File=$File&idnews=$idnews&indexmsg=$i' title='Répondre'>[".stripcslashes($thread[$i]["titlemessage"])."]</a> posté le ".$thread[$i]["date"]." à ".$thread[$i]["heure"]." par ".stripcslashes($thread[$i]["auteur"])."<br />\n";
|
|
if ($lang == "fr")
|
|
echo "\n\n<div class='forum_message_header'>".str_repeat(" ",strlen($thread[$i]["idmessage"])-2)."<a name='$izero' href='comment.$idnews.$izero.html#$izero' title='Répondre'>[".stripcslashes($thread[$i]["titlemessage"])."]</a> posté le ".$thread[$i]["date"]." à ".$thread[$i]["heure"]." par ".stripcslashes($thread[$i]["auteur"])."</div><br />\n";
|
|
else
|
|
echo "\n\n<div class='forum_message_header'>".str_repeat(" ",strlen($thread[$i]["idmessage"])-2)."<a name='$izero' href='comment.$idnews.$izero.html#$izero' title='Répondre'>[".stripcslashes($thread[$i]["titlemessage"])."]</a> posted on ".$thread[$i]["date"]." at ".$thread[$i]["heure"]." by ".stripcslashes($thread[$i]["auteur"])."</div><br />\n";
|
|
|
|
echo str_repeat(" ",strlen($thread[$i]["idmessage"]));
|
|
echo "<table class='comment'><tr><td>".stripcslashes($thread[$i]["textmessage"])."</td></tr></table><br />\n";
|
|
//echo "</tr></table>";
|
|
$oldlength = strlen($thread[$i]["idmessage"]);
|
|
}
|
|
|
|
// le numéro de message corresponds à celui demandé: on affiche le formulaire
|
|
|
|
if (isset($indexmsg) && $indexmsg == $i)
|
|
{
|
|
$long = strlen($thread[$i]["idmessage"]);
|
|
//$cpt = $i+1;
|
|
|
|
while (strlen($thread[$cpt]["idmessage"]) == $long+2)
|
|
if (substr($thread[$cpt]["idmessage"], 0, $long) == $thread[$i]["idmessage"])
|
|
$cpt++;
|
|
|
|
$NbReponses = ($cpt);
|
|
if ($NbReponses < 10)
|
|
$NbReponses = "0".$NbReponses;
|
|
|
|
if ($NbReponses == 0)
|
|
$NumRep = $thread[$i]["idmessage"]."01";
|
|
else
|
|
$NumRep = $thread[$i]["idmessage"].$NbReponses;
|
|
$reponse = "RE:".$thread[$i]["titlemessage"];
|
|
|
|
form($reponse, "comment.$idnews.$indexmsg.html#$indexmsg", $NumRep, $idnews, $File);
|
|
echo "<tr><td>";
|
|
}
|
|
}
|
|
|
|
}
|
|
?>
|