Location: PHPKode > projects > Anomalie4 > forum.php3
<?
/*
La 4e anomalie : real-time and web based galaxy conquest game. Have fun !
Copyright (C) 2003 

Sylvain Moreau F-78220  
email 1 : hide@address.com
email 2 : hide@address.com

This program is free software; you can redistribute it and/or modify it under the terms 
of the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program;
if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
*/
include ("lib_gen.php3");
include ("lib_ent.php3");
include ("lib_p4.php3");

//-----------------------------------------------
//  AFFICHER UN FORUM POUR UNE FREQUENCE DONNEE
//-----------------------------------------------
function affiche_forum($login, $frequence){

  echo "<P>Cliquez sur un message pour voir son contenu </P>";
  // entete du tableau
  echo "<TABLE BORDER=1 BGCOLOR=#000000 align=center>";
  echo "  <CAPTION> <b><h2><font color=#FFFFFF> Les 50 derniers messages sur la fréquence \"$frequence\" </FONT></h2></b></CAPTION>";
  echo "    <TR> ";
  echo "      <TH> </TH>";
  echo "      <TH> auteur </TH>";
  echo "      <TH> date</TH>";
  echo "      <TH> sujet</TH>";
  echo "    </TR>  ";

  // on affiche chaque ligne
  connecte();
  $query="SELECT auteur, sujet, ordre, moment FROM forums WHERE frequence=\"$frequence\" ORDER BY moment DESC LIMIT 0, 50";
  $result=requete($query);
  while($row = mysql_fetch_row($result)){
        $auteur= $row[0];
        $sujet= $row[1];
        $ordre= $row[2];
        $moment= $row[3];

        $date = date_to_string($moment);

        $lien="p_forum.php3?cmd=message&arg1=".rawurlencode($frequence)."&arg2=$ordre";
        $lienliste="p_forum.php3?cmd=listemessage&arg1=".rawurlencode($frequence)."&arg2=$ordre";
        echo "    <TR> " ;
        echo "      <TD> <CENTER> <a href=$lienliste> afficher tous les messages suivants </a> </CENTER></TD> ";
        echo "      <TD> <CENTER> <a href=$lien> $auteur </a> </CENTER></TD> ";
        echo "      <TD> <CENTER> <a href=$lien> $date </a> </CENTER></TD> ";
        echo "      <TD> <CENTER> <a href=$lien> $sujet </a> </CENTER></TD> ";
        echo "    </TR>";
  }
  echo "</TABLE>";
  mysql_close();
}

//-----------------------------------------------
//  AFFICHER UN MESSAGE DONNE DANS UN FORUM
//-----------------------------------------------
function affiche_message($login, $frequence, $ordre){

  connecte();
  $query="SELECT auteur, sujet, ordre, moment, texte FROM forums WHERE ordre=$ordre AND frequence=\"$frequence\"";
  $result=requete($query);
  $row = mysql_fetch_row($result);
  $auteur= $row[0];
  $sujet= $row[1];
  $ordre= $row[2];
  $moment= $row[3];
  $texte= $row[4];

  $date = date_to_string($moment);
  echo "<KBD>";
  echo "<TABLE BORDER=1 BGCOLOR=#000000>";
  echo "<TR><TD> de $auteur le $date :</TD></TR>";
  echo "<TR><TD> sujet : $sujet </TD></TR>";
  echo "<TR><TD> $texte </TD></TR>";
  echo "</TABLE>";
  echo "</KBD>";
  if ($login=="Dieu"){
    echo"<a href=p_forum.php3?cmd=effacemessage&arg1=".rawurlencode($frequence)."&arg2=$ordre> effacer ce message </a><hr>";
  }
  mysql_close();
}

//-----------------------------------------------
//  AFFICHER TOUS LES MESSAGES DONNE DANS UN FORUM A PARTIR D'UN NUMERO D'ORDRE
//-----------------------------------------------
function affiche_liste_messages($login, $frequence, $ordre){
   connecte();
   $query="SELECT auteur, sujet, ordre, moment, texte FROM forums WHERE ordre>=$ordre AND frequence=\"$frequence\" ORDER BY moment DESC LIMIT 0,50";
   $result=requete($query);

   echo "<KBD>";
   while($row = mysql_fetch_row($result)){
      $auteur= $row[0];
      $sujet= $row[1];
      $ordre= $row[2];
      $moment= $row[3];
      $texte= $row[4];

      $date = date_to_string($moment);
      echo "<TABLE BORDER=1 BGCOLOR=#000000>";
      echo "<TR><TD> de $auteur le $date :</TD></TR>";
      echo "<TR><TD> sujet : $sujet </TD></TR>";
      echo "<TR><TD> $texte </TD></TR>";
      echo "</TABLE><BR>";
   }

  echo "</KBD>";
  mysql_close();
}

//-----------------------------------------------
//  DEPOSER UN MESSAGE DANS UN FORUM POUR UNE FREQUENCE DONNEE
//-----------------------------------------------
function envoie_message($login, $frequence, $sujet, $message){

    if ($message=="") {
      echo "<H1>Pour éviter les erreurs de manipulation, vous ne pouvez pas poster un message vide. ";
      echo "Si vous ne voulez vraiment pas laisser de message, mettez au moins un espace dedans.</H1>";
     }
    else {
      $texte=nl2br(strip_tags($message));
	  $sujetclean=strip_tags($sujet);
	  $frequenceclean=strip_tags($frequence);
      if ($login=="Dieu") $login=""; // Un poste de l'administrateur
      connecte();
      $moment= time();
      $query="INSERT INTO forums (auteur,sujet,frequence,texte, moment) VALUES (\"$login\",\"$sujetclean\",\"$frequenceclean\",\"$texte\", $moment)";
      requete($query);
      mysql_close();
    }
}

//-----------------------------------------------
//  EFFACE UN MESSAGE SUR UNE FREQUENCE
//-----------------------------------------------
function efface_message($login, $frequence, $ordre) {
    connecte();
    if ($login=="Dieu"){
	  // Loger l'opération
	  $query="SELECT auteur, sujet, ordre, moment, texte FROM forums WHERE ordre>=$ordre AND frequence=\"$frequence\"";
      $result=requete($query);
	  $row = mysql_fetch_row($result);
	  $auteur= $row[0];
      $sujet= $row[1];
      $texte= $row[4];
	  $fd=fopen("core/mj.txt","a");
      if ($fd!="") {
        fwrite($fd,date("Y-m-d H:i:s").";effacement du  message sur la fréquence :$frequence, sujet $sujet, auteur :$auteur et texte :$texte\n");
        fclose($fd);
      }
	  // On efface !
	  $query="DELETE FROM forums WHERE ordre=$ordre AND frequence=\"$frequence\"";
	  requete($query); 
	}
	else { // Pourquoi on est la ??
	  echo "<H1>Vous n'avez pas les droits pour faire cela</H1>";
	  journalise("***Tentative accès privilégé au forum");
	}
}
?>
Return current item: Anomalie4