relance.php
samedi 26 janvier 2008
par olivier ramos
<?php

session_start();

if (file_exists('../../../../config/aristodefcondb.inc')) {
unlink('../../../../config/aristodefcondb.inc');

}

//Redirection après l'effacement.

header("Location: ../../../../spip.php?article".$_SESSION['idarticle']);

exit;

?>
chat.php
mercredi 21 janvier 2009
par olivier ramos

<?php
session_start();

include('config/aristodefcondb.inc');
// On se connecte à la base de données.
@mysql_connect(ADBASE,LOG,MDP)or die("<br> CONNEXION  MYSQL IMPOSSIBLE.<BR>Les param&egrave;tres de connexion sont incorrects.<BR>
   <a href='plugins/paramspip/fichiers/dir".$_SESSION['idarticle']."/relance.php' >Relancez l'installation</a>");
@mysql_select_db(BASE) or die("<br> CONNEXION  MYSQL IMPOSSIBLE.<BR>Les param&egrave;tres de connexion sont incorrects.<BR>
   <a href='plugins/paramspip/fichiers/dir".$_SESSION['idarticle']."/relance.php' >Relancez l'installation</a>");
 


//*****************************************************************************
// On récupère ici certaines variables de session.
//*****************************************************************************

// On retrouve parfois des variables de session mal initialisées ; donc on teste les trois valeurs possibles.
if (($_SESSION['gcouleur']!="#63030a")and($_SESSION['gcouleur']!="#060d85")and($_SESSION['gcouleur']!="#06484b")){
$_SESSION['gcouleur']="#63030a";
}


// On récupère l'éventuel  nom du logo (situé dans le répertoire dir_logos) qui a été initialisé lors de l'ouverture de la fenêtre popup.php.
if (isset($_SESSION['nomlogo'])){$nomlogo=$_SESSION['nomlogo'];}
else{$nomlogo="";}

// On récupère la variable indiquant la fin du chat.
// Cette variable  devient vraie lorsque l'on sort du chat.
if (isset($_SESSION['fin'])){$fin=$_SESSION['fin'];}
else{$fin=false;}

//***************************************************************************************************
// On récupère ici les valeurs envoyées par POST :  le pseudo ainsi que le mot de passe entré par le visiteur.
//***************************************************************************************************

// La fonction stripslashes enlève les slashs nécessaires pour l'inscription dans la base de données.
if (isset($_POST['entpseu'])){
$_SESSION['pseudo']=$_POST['entpseu'];
$pseud=stripslashes($_POST['entpseu']);
}
else if (isset($_SESSION['pseudo'])){$pseud=stripslashes($_SESSION['pseudo']);}
else{$pseud="";}

if (isset($_POST['mot_de_passe'])){$mot_de_passe=stripslashes($_POST['mot_de_passe']);}

// On teste le mot de passe.
// Dans le cas où il n'y a pas de mot de passe, le test de la variable pseud permet de ne pas passer directement dans le chat.
// Lorsque l'on est sorti, on doit repasser par le formulaire d'inscription.

if (($mot_de_passe==MDPCHAT) and ($pseud!="") and ($fin==false)){
?>

       
<script type="text/javascript" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/ajax1.js" ></script>
       

<!--
Le style interne qui régit les éléments dont la couleur peut être choisie par le visiteur.
Ce choix est stocké dans la variable de session $_SESSION['gcouleur'].
La couleur sera éventuellement modifiée par la fonction javascript change_couleur.
-->

<style type="text/css">
        #saisie{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #formeffacer{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #aristotitre{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #personnes{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        table.aristomessage{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        table.aristomessage .droite{
        color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #pseudos{
        color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #nbtoto{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
</style>


<!--
Lorsque l'on charge la page, on appelle twAffHeure pour faire apparaître l'heure et lorsque l'on quitte la page, on efface tout.
-->

<!-- ***************************************************************************** -->
<!--                                                  Un conteneur gris foncé.                                                                -->
<!-- ***************************************************************************** -->
<div align="center">
<div id="conteneur1" >

<!-- ***************************************************************************** -->
<!--                                                  Une bande située en haut                                                                -->
<div id="haut">

<!-- L'heure est située en haut à droite, grâce à un style flottant. -->
<div id="heure"></div>

<!-- On propose à chaque utilisateur le choix des couleurs. -->
<a  id="couleur1"><img  class="aristofloatleft" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/rouge.jpg" alt="" /></a>
<a  id="couleur2"><img  class="aristofloatleft" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/bleu.jpg" alt="" /></a>
<a  id="couleur3"><img  class="aristofloatleft" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/vert.jpg" alt="" /></a>


<?php
// On insère le nom s'il y a lieu.
//if ((isset($_SESSION['nomchat']))and($_SESSION['nomchat']!="")) echo stripslashes($_SESSION['nomchat']);
//else echo "&nbsp;";
        if (NOMCHAT!="") echo NOMCHAT;
                else echo "&nbsp;";
?>
<!--  fin du div haut -->
</div>
<!-- ***************************************************************************** -->

<?php



// On va afficher tous les messages présents dans la base de données.
// On utilise la requête suivante pour récupérer les 10 derniers messages.
        $reponse = @mysql_query("SELECT * FROM aristojchatx WHERE message!='' ORDER BY ID DESC LIMIT 0,10");

// On utilise la requête suivante pour récupérer tous les pseudos.       
        $listpseu = @mysql_query("SELECT DISTINCT pseudo FROM aristojchatx ORDER BY id");
       
// On utilise la requête suivante pour récupérer le dernier message (qui sera traité à part pour le dernier id).       
        $tot = @mysql_query("SELECT * FROM aristojchatx ORDER BY ID DESC LIMIT 0,1");
        $toto=@mysql_fetch_array($tot);
       
// On utilise la requête suivante pour récupérer le nombre total de pseudos.
        $totopseu = mysql_query("SELECT COUNT(DISTINCT pseudo) AS topseu FROM aristojchatx");
        $nbpseu =@mysql_fetch_array($totopseu);
       
// On utilise la requête suivante pour récupérer le nombre total de personnes connectées.
        $totoperso = @mysql_query("SELECT COUNT(DISTINCT ip) AS toip FROM aristojchatx");
        $nbperso =@mysql_fetch_array($totoperso);

// Toutes ces données sont stockées dans des variables de session pour un traitement ultérieur.       
        if (isset($nbpseu['topseu'])) {        $_SESSION['ancientotalpseu']=$nbpseu['topseu'];}       
        else{        $_SESSION['ancientotalpseu']=0;}

        if (isset($nbperso['toip'])) {$_SESSION['ancientotalperso']=$nbperso['toip'];}
        else{        $_SESSION['ancientotalperso']=0;}

        if (isset($toto['id'])) {$_SESSION['ancientotal']=$toto['id'];}
        else {        $_SESSION['ancientotal']=0;}

?>
       


<!-- ***************************************************************************** -->
<!--                                                           Bloc flottant à gauche                                                            -->
<!-- ***************************************************************************** -->
                                <div class="aristoblocgauche">


<!-- ***************************************************************************** -->
<!--                    On affiche le formulaire permettant d'entrer son pseudo et son message              -->
<!--                    avec la présence éventuelle du logo.                                                                            -->
<!-- ***************************************************************************** -->
<form id="saisie" action=""  name="saisie">

<table class="aristotableauentree" border="0" cellpadding="0" cellspacing="3" align="center">
   <tr>
                <td  rowspan="3" class="aristoentlogo">
                        <?php // Insertion éventuelle du logo
                        if ((isset($_SESSION['nomlogo'])) and ($_SESSION['nomlogo']!="")) { ?>
                        <img  class="aristologochathaut" alt="" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/dir_logos/<?php echo $_SESSION['nomlogo'];?>"/>
                        <?php } ?>
                </td>
                <td  class="aristoentgauche">Pseudo</td>
                <td class="aristoentdroite" ><textarea id="textpseudo" class="aristopseudo" name="pseudo" cols="20" rows="1"  ><?php echo $pseud; ?></textarea></td>
   </tr>
        <tr>
           <td  class="aristoentgauche">&nbsp;</td>
           <td class="aristoentdroite" ><span id='pseudobox'></span></td>          
   </tr>
        <tr>
                <td  class="aristoentgauche">Message</td>
                <td class="aristoentdroite" ><textarea   name="message" id="textmessage" cols="20" rows="5" ></textarea></td>
        </tr>
</table>

<input type="button"  name="bouton" value="Valider" id="valider"    />
</form>


<br/>

<!-- On affiche ici les dix derniers messages. Chaque message est stocké dans un tableau à une ligne et deux colonnes -->
<div id="tableaumessages">

<?php
// On fait une boucle pour afficher tous les messages.
while ($donnees = @mysql_fetch_array($reponse) ){
?>

<table class="aristomessage"   cellspacing="0" >
 <tbody>
   <tr>
                <td class="aristogauche">
                        <?php // Insertion éventuelle du logo. Le nom est dans la base de données et l'image figure dans le répertoire dir_logos.
                        if ($donnees['nomlogo']!="") {  ?>
                        <div class="aristologochatmes">               
                                <img   alt='' src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/dir_logos/<?php echo $donnees['nomlogo'];?>"  width="50"/>
                        </div>
                        <?php } ?>
                        <div class="aristoheupseu" ><?php // Insertion du pseudo; On enlève les slashs et on remplace les sauts de ligne par des"<br>".
                                                                echo str_replace("\n","<br/>",htmlentities(stripslashes($donnees['pseudo']))); ?>
                                <div class="aristoheuremes" ><?php //Insertion de l'heure.
                                                                        echo $donnees['heure']; ?>
                                </div>
                        </div>
                </td>         
                <td class="aristodroite"><?php // Insertion du pseudo; On enlève les slashs et on remplace les sauts de ligne par des"<br>".
                                                echo str_replace("\n","<br/>",htmlentities(stripslashes($donnees['message']))); ?>
                </td>
   </tr>
 </tbody>
</table>

<?php
}
// Fin de la boucle while.
?>
<!-- fin des messages -->
</div>

                                                <!-- fin du div gauche -->
                                                        </div>
<!-- ***************************************************************************** -->

<!-- ***************************************************************************** -->
<!--                                                           Bloc flottant à droite                                                             -->
<!--  dans lequel, on trouve les pseudos, leur nombre total ainsi que le nombre total de personnes -->
<!-- ***************************************************************************** -->
<div id="connectes">
                <div id="aristotitre">Connect&eacute;s</div>
                <div id="pseudos">
                                <?php
                                // On fait une boucle pour afficher tous les pseudos.
                                while ($list = @mysql_fetch_array($listpseu) ){
                                echo stripslashes($list['pseudo']);
                                echo "<br/>";}
                                ?>

                        <div id='nbtoto'>
                                <?php
                                // On affiche les nombres totaux de pseudos et de personnes.
                                if ($nbpseu['topseu']>1) echo $nbpseu['topseu']." pseudos<br/>";
                                if ($nbpseu['topseu']==1) echo $nbpseu['topseu']." pseudo<br/>";
                                if ($nbperso['toip']>1) echo $nbperso['toip']." personnes<br/>";
                                if ($nbperso['toip']==1) echo $nbperso['toip']." personne<br/>";

                                // On se déconnecte de MySQL
                                @mysql_close(); ?>
                        </div>
                </div>

<!-- fin du div connectes -->
</div>
<!-- ***************************************************************************** -->



<!-- ***************************************************************************** -->
<!--                                 On affiche le bouton qui permet de tout effacer                                         -->
<!-- ***************************************************************************** -->

<form id="formeffacer" action=""  name="formeffacer">
 <input type="button"  name="bouton1" value="Effacer" id="effacer" />
</form>


<br/>

<!-- ***************************************************************************** -->
<!--                                               On affiche l'image du bas.                                                                -->
<!-- ***************************************************************************** -->
<div align="center" style="background:#f2f2f2;">
        <a href="http://oramos22.free.fr/AristoJchAtX"><img  id="sortie" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/AristoJchAtX1.jpg" alt="" /></a>
</div>

<!-- fin du div conteneur1 -->
</div>
</div>
<!-- ***************************************************************************** -->


<?php
}

// Tant que ce n'est pas le bon mot de passe on relance le formulaire d'entrée
else{
?>

       
<script type="text/javascript" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/ajax2.js" ></script>
       

<!-- ***************************************************************************** -->
<!--                                               Insertion d'un conteneur lumineux gris                                           -->
<!-- ***************************************************************************** -->
<div  align="center">
<div id="aristoconteneur" align="center">
<!--                                               Insertion éventuelle du titre                                                                -->
<div id="titreentree">
        <?php
//                if ((isset($_SESSION['nomchat']))and($_SESSION['nomchat']!="")) echo stripslashes($_SESSION['nomchat']);
//                else echo "&nbsp;";
                if (NOMCHAT!="") echo NOMCHAT;
                else echo "&nbsp;";
        ?>
</div>

<!-- ***************************************************************************** -->
<!--             Insertion d'un formulaire de saisie du logo, du pseudo et du mot de passe.                    -->
<!-- ***************************************************************************** -->       
<form id="premier" action="" method="post" name="premier">

<!-- ***************************************************************************** -->
<!--                                                Bloc bleu : saisie du logo                                                       -->
<div class="aristobleu">  

<!-- Cet artifice permet d'utiliser la variable php $nomlogo et de la transférer en javascript avec premier.nomlogo.value        -->
        <textarea   class="aristoinvisible" cols="1" rows="1" name="nomlogo" ><?php echo $nomlogo; ?></textarea>

<!-- Insertion �ventuelle du logo        -->
        <?php                if ((isset($_SESSION['nomlogo'])) and ($_SESSION['nomlogo']!="")) { ?><div align="center" class="aristologoperso">
        <img alt="" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/dir_logos/<?php echo $_SESSION['nomlogo'];?>" width="100"  height="100"/></div>
        <?php                } ?>       

<!-- Bouton permettant d'uploader un logo après affichage d'une fenêtre popup        -->
        <input  id="envoi2"  type="button"         value="Logo"  />

</div>    
<!-- ***************************************************************************** -->

<!-- ***************************************************************************** -->
<!--                                Bloc rouge : saisie  du pseudo et du mot de passe.                               -->
<div class="aristorouge">                 
        <table class="aristotableaumotpasse" border="0" cellpadding="0" cellspacing="0" align="center">
                <tr>
                        <td  class="aristoentgauchemdp">Pseudo</td>
                        <td class="aristoentdroitemdp" ><textarea   id="textpseudo1" class="aristopseudo" cols="20" rows="1" name="entpseu" ></textarea></td>      
                </tr>
                <tr>
                        <td  class="aristoentgauchemdp">&nbsp;</td>
                        <td class="aristoentdroitemdp" ><span id='pseudobox1'></span></td>          
                </tr>  
                <tr>
                        <td  class="aristoentgauchemdp">Mot de passe</td>
                        <td class="aristoentdroitemdp" ><textarea   class="aristopseudo" cols="20" rows="1" name="mot_de_passe" ></textarea></td>           
                </tr>    
        </table>
<!-- Cet artifice permet d'utiliser la variable php $mdpchat et de la transférer en javascript avec premier.mdpchat.value        -->
          <textarea   class="aristoinvisible" cols="1"  rows="1" name="mdpchat" ><?php echo MDPCHAT; ?></textarea>
</div>
<!-- ***************************************************************************** -->

<!-- ***************************************************************************** -->
<!--                                                Bloc vert : validation                                                             -->
<div class="aristovert">  
        <input id="envoi"  type="submit" value="Valider"  />
</div>
<!-- ***************************************************************************** -->
       
</form>
</div>
</div>


<?php
$_SESSION['fait']=0;
}
?>
creertable.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();


include('config/aristodefcondb.inc');

// On se connecte à la base de données.
@mysql_connect(ADBASE,LOG,MDP)or die("<br> CONNEXION  MYSQL IMPOSSIBLE.<BR>Les param&egrave;tres de connexion sont incorrects.<BR>
   <a href='plugins/paramspip/fichiers/dir".$_SESSION['idarticle']."/relance.php' >Relancez l'installation</a>");
   
@mysql_select_db(BASE) or die("<br> CONNEXION  MYSQL IMPOSSIBLE.<BR>Les param&egrave;tres de connexion sont incorrects.<BR>
   <a href='plugins/paramspip/fichiers/dir".$_SESSION['idarticle']."/relance.php' >Relancez l'installation</a>");





// Fonction qui vérifie que la table contient tous les champs.
function CheckTable() {
  $query1="SELECT id FROM aristojchatx";
  $result1=mysql_query($query1) ;
  $query2="SELECT pseudo FROM aristojchatx";
  $result2=mysql_query($query2) ;
  $query3="SELECT message FROM aristojchatx";
  $result3=mysql_query($query3) ;
  $query4="SELECT heure FROM aristojchatx";
  $result4=mysql_query($query4) ;
  $query5="SELECT ip FROM aristojchatx";
  $result5=mysql_query($query5) ;
  $query6="SELECT nomlogo FROM aristojchatx";
  $result6=mysql_query($query6) ;
  $query7="SELECT nbsecondes FROM aristojchatx";
  $result7=mysql_query($query7) ;
  $result= (($result1) and ($result2) and ($result3) and ($result4)and($result5)and($result6)and($result7));
  if ($result==true) return true;
  else return false;
}

// Fonction qui crée la table après avoir éventuellement écrasé l'ancienne.
function CreateTable() {
  mysql_query("DROP table aristojchatx");

  $query="CREATE TABLE aristojchatx (
   id int PRIMARY KEY auto_increment,
   pseudo varchar(15) NOT NULL,
   message text NOT NULL,
   heure varchar(25)  NOT NULL,
        nbsecondes int  NOT NULL,
   ip varchar(15) NOT NULL,
        nomlogo varchar(100) NOT NULL)";
  $result=mysql_query($query) or die();

}

// Si la table n'existe pas ou n'est pas conforme, on la crée.
if ( CheckTable()==false)  CreateTable();

?>
index.php
mercredi 21 janvier 2009
par olivier ramos
<?php

session_start();



// Si le fichier de configuration n'existe pas, on lance l'installation, sinon on passe au chat.

if (!file_exists('config/aristodefcondb.inc')) include "install.php";

else include "chat.php";



?>
install.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On récupère les valeurs des champs du formulaire que l'on a envoyées par POST.
if ((isset($_POST['adbase']))and($_POST['adbase']!="")){
$champ1=true;
}
else $champ1=false;

if ((isset($_POST['log']))and($_POST['log']!="")){
$champ2=true;
}
else $champ2=false;

if ((isset($_POST['base']))and($_POST['base']!="")){
$champ3=true;
}
else $champ3=false;


$result= (($champ1) and ($champ2) and ($champ3));

if ($result==true) {

// Si on a obtenu le nécessaire, on crée le fichier de configuration "aristodefcondb.inc".
$monfichier=fopen('config/aristodefcondb.inc','w+');
fseek($monfichier,0);
$nouvfichier="<?php"."\n";
$nouvfichier.="define('ADBASE','".$_POST['adbase']."');"."\n";
$nouvfichier.="define('LOG','".$_POST['log']."');"."\n";
$nouvfichier.="define('BASE','".$_POST['base']."');"."\n";
$nouvfichier.="define('MDP','".$_POST['mdp']."');"."\n";
$nouvfichier.="define('NOMCHAT',\"".stripslashes($_POST['nomchat'])."\");"."\n";
$nouvfichier.="define('MDPCHAT','".$_POST['mdpchat']."');"."\n";
$nouvfichier.="?>";
fputs($monfichier,$nouvfichier);
fclose($monfichier);

// ensuite on crée la table
include "creertable.php";
// et enfin on lance le chat.
include "chat.php";
}
// Sinon on propose le formulaire d'installation.
else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">

<head>
        <title>Installation</title>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" href="aristojchatx.css" type="text/css" />
</head>

<body >
     
        <form id="formins" action="" method="post" >
       
        <div class="encadre">BASE DE DONNEES </div>

        <table class="tableauinstall" border="0" cellpadding="0" cellspacing="0" >
        <tr>
     <td  class="entgaucheins">L'adresse de la base de donn&eacute;es</td>
     <td class="entdroiteins" ><input type="text" name="adbase" /></td>
   </tr>
   <tr>
     <td  class="entgaucheins">Le login de connexion</td>
     <td class="entdroiteins" ><input type="text" name="log"   /></td>

   </tr>
        <tr>
     <td  class="entgaucheins">Le mot de passe de connexion</td>
     <td class="entdroiteins" ><input type="text" name="mdp"   /></td>
   </tr>
   <tr>
     <td  class="entgaucheins">Le nom de la base</td>
     <td class="entdroiteins" ><input type="text" name="base"  /></td>
    </tr>
        </table>


        <div class="encadre">LE CHAT </div>
                <table class="tableauinstall" border="0" cellpadding="0" cellspacing="0" >
                <tr>
     <td  class="entgaucheins">Le nom</td>
     <td class="entdroiteins" ><input type="text" name="nomchat"  /></td>

   </tr>
   <tr>
     <td  class="entgaucheins">Le mot de passe</td>
     <td class="entdroiteins" ><input type="text" name="mdpchat"  /></td>
   </tr>
  </table>
          <input type="submit" id="envoi1" value="Valider" />

               
        </form>
</body>

</html>

<?php
}
?>
requete.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// Un simple script php pour effacer le logo.
if ((isset($_SESSION['nomlogo']))and($_SESSION['nomlogo']!="")and($_SESSION['fait']==0))  {
                  $src="dir_logos/".$_SESSION['nomlogo'];
                  unlink($src);                
                  $_SESSION['nomlogo']="";
                  }
                 
?>
requetesql1.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On se connecte à la base de données.
include('connectdb.php');

// On compte le nombre total de pseudos distincts, ainsi que le nombre total d'ips distinctes.

$totopseu = @mysql_query("SELECT COUNT(DISTINCT pseudo) AS topseu FROM aristojchatx");
$nbpseu =@mysql_fetch_array($totopseu);

$totoperso = @mysql_query("SELECT COUNT(DISTINCT ip) AS toip FROM aristojchatx");
$nbperso =@mysql_fetch_array($totoperso);

if (isset($nbpseu['topseu'])) $nouveautotalpseu=$nbpseu['topseu'];
else $nouveautotalpseu=0;


if (isset($nbperso['toip'])) $nouveautotalperso=$nbperso['toip'];
else $nouveautotalperso=0;

// On récupère les anciens totaux.
if (isset($_SESSION['ancientotalpseu'])) $ancientotalpseu=$_SESSION['ancientotalpseu'];
else $ancientotalpseu="";


if (isset($_SESSION['ancientotalperso'])) $ancientotalperso=$_SESSION['ancientotalperso'];
else $ancientotalperso="";


// Si il n'y aucun changement, on renvoie 0. Sinon, on actualise le tableau des pseudos.
if (($ancientotalpseu==$nouveautotalpseu)and($ancientotalperso==$nouveautotalperso))
echo "0";
else {

$listpseu = @mysql_query("SELECT DISTINCT pseudo FROM aristojchatx ORDER BY id ");
               
while ($list = @mysql_fetch_array($listpseu) ){
echo htmlentities(stripslashes($list['pseudo']));
echo "<br/>";
}

echo "<div id='nbtoto' style=\"background-color:".$_SESSION['gcouleur']."\">";
if ($nbpseu['topseu']>1) echo $nbpseu['topseu']." pseudos<br>";
if ($nbpseu['topseu']==1) echo $nbpseu['topseu']." pseudo<br>";
if ($nbperso['toip']>1) echo $nbperso['toip']." personnes<br>";
if ($nbperso['toip']==1) echo $nbperso['toip']." personne<br>";

echo "</div>";

$_SESSION['ancientotalpseu']=$nouveautotalpseu;
$_SESSION['ancientotalperso']=$nouveautotalperso;
}

// On se déconnecte.
        @mysql_close();
?
requetesql2.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On se connecte à la base de données.

include('connectdb.php');


// On récupère le pseudo dans l'url  et on affecte la valeur à la variable de session.
if (isset($_GET['pseudo']))$pseudo = addslashes($_GET['pseudo']);
else $pseudo="";

$_SESSION['pseudo']=$pseudo;

// On récupère dans l'url le message, l'heure et le nom du logo.
if (isset($_GET['message']))  $message= str_replace("@# #@","+",addslashes($_GET['message']));
else $message="";

if (isset($_GET['heure'])) $heure = $_GET['heure'];
else $heure="";

if (isset($_SESSION['nomlogo'])) $nomlogo = $_SESSION['nomlogo'];
else $nomlogo="";

// On prend l'ip du visiteur.
$ip=$_SERVER['REMOTE_ADDR'];
        $nbsec=time();
// Ensuite on enregistre tout cela dans la base de données.
@mysql_query("INSERT INTO aristojchatx VALUES('', '$pseudo', '$message','$heure','$nbsec','$ip','$nomlogo')");


$reponse = @mysql_query("SELECT * FROM aristojchatx WHERE message!='' ORDER BY ID DESC LIMIT 0,10");
$tot = @mysql_query("SELECT * FROM aristojchatx ORDER BY ID DESC LIMIT 0,1");
$toto=@mysql_fetch_array($tot);

//toto correspond au dernier id de la tableau ( le nombre total  de "messages" enregistrés dans la bdd est donc toto+1).
$_SESSION['ancientotal']=$toto['id'];

$i=0;

// Puis on fait une boucle pour afficher tous les résultats ; ceci permettra d'actualiser le tableau des messages.
while ($donnees = @mysql_fetch_array($reponse) )
{

$pseu=str_replace("\n","<br/>",htmlentities(stripslashes($donnees['pseudo'])));
$mes= str_replace("\n","<br/>",htmlentities(stripslashes($donnees['message'])));

$heu=htmlentities($donnees['heure']);
 
if ($donnees['nomlogo']!="") {
echo "<table class=\"aristomessage\"  cellspacing=\"0\"  style=\"background-color:".$_SESSION['gcouleur']."\">
 <tbody>
   <tr>
                <td class=\"aristogauche\">
                        <div class=\"aristologochatmes\">               
                                <img   alt='' src=\"plugins/paramspip/fichiers/".$_SESSION['dirarticle']."/dir_logos/".$donnees['nomlogo']."  \"  width='50'/>
                        </div>
                <div class=\"aristoheupseu\">".$pseu."<div class=\"aristoheuremes\">".$heu."</div></div>
                </td>
       <td class=\"aristodroite\" style=\"color:".$_SESSION['gcouleur']."\"  >". $mes ."</td>
   </tr>
 </tbody>
</table>";
}
else {
echo "<table class=\"aristomessage\"   cellspacing=\"0\" style=\"background-color:".$_SESSION['gcouleur']."\">
 <tbody>
   <tr>
                <td class=\"aristogauche\">
                        <div class=\"aristoheupseu\">".$pseu."<div class=\"aristoheuremes\">".$heu."</div></div>
                </td>
       <td class=\"aristodroite\" style=\"color:".$_SESSION['gcouleur']."\"  >". $mes ."</td>
   </tr>
 </tbody>
</table>";
}

$i=$i+1;
}

// On se déconnecte.
        @mysql_close();


?>
requetesql3.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On affecte la valeur "vrai" à la variable de fin.
$_SESSION['fin']=true;

// On efface le logo.
if ((isset($_SESSION['nomlogo']))and($_SESSION['nomlogo']!=""))  {
                  $src="dir_logos/".$_SESSION['nomlogo'];
                  unlink($src);                
                  $_SESSION['nomlogo']="";
                  }
                                   
// On se connecte à la base de données.                
        @mysql_connect($_SESSION['adbase'],$_SESSION['log'],$_SESSION['mdp']);
        @mysql_select_db($_SESSION['base']) ;


$ip=$_SERVER['REMOTE_ADDR'];

// Ensuite on efface tous les messages de l'utilisateur qui part.
        @mysql_query("DELETE FROM aristojchatx WHERE ip='".$ip."'");

// On se déconnecte.
        @mysql_close();
?>
requetesql4.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On se connecte à la base de données.    
include('connectdb.php');

  $ip=$_SERVER['REMOTE_ADDR'];

// Ensuite on efface tous les "messages" de l'utilisateur à l'exception du premier qui correspond à l'entrée dans le chat.
        @mysql_query("DELETE FROM aristojchatx WHERE ip='".$ip."' AND message!=''");

// On se déconnecte.
        @mysql_close();
?>
requetesql5.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On se connecte à la base de données.

include('connectdb.php');

// On affecte la valeur "faux" à la variable de fin.
        $_SESSION['fin']=false;

// On récupère le pseudo dans l'url  et on affecte la valeur à la variable de session.
        if (isset($_GET['pseudo'])) $pseudo = addslashes($_GET['pseudo']);
        else $pseudo="";
        $_SESSION['pseudo']=$pseudo;

// On récupère le nom du logo dans l'url.
        if (isset($_GET['nomlogo'])) $nomlogo = $_GET['nomlogo'];
        else $nomlogo="";

// On prend l'ip du visiteur.
        $ip=$_SERVER['REMOTE_ADDR'];
// Le timestamp courant et celui d'il y a cinq minutes.
        $nbsec=time();
        $nbsec5min=time()-(60*5);
// On efface les messages qui datent de plus de cinq minutes ( en cas de problème lors du départ).
  @mysql_query("DELETE FROM aristojchatx WHERE nbsecondes <".$nbsec5min);

// Ensuite on enregistre le "message" (sans texte) initial  qui correspond à l'entrée dans le chat.
        @mysql_query("INSERT INTO aristojchatx VALUES('', '$pseudo', '','','$nbsec','$ip','$nomlogo')");


// On se déconnecte.
        @mysql_close();

?>
requetesql6.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On se connecte à la base de données.
include('connectdb.php');

// On récupère l'ip et le pseudo.
$ip=$_SERVER['REMOTE_ADDR'];
$pseudo=$_GET['pseudo'];

// On regarde si ce choix n'a pas déjà été pris par un autre utilisateur (autre ip). Si tel est le cas, on renvoie 1 ; ce qui invalidera ce pseudo.
$reponseu = @mysql_query("SELECT COUNT(*) AS deja FROM aristojchatx WHERE pseudo='".$pseudo."' AND ip!='".$ip."'");
$nbodd =@mysql_fetch_array($reponseu);
if ($nbodd[deja]>0) echo "1";
else echo "2";

// On se déconnecte.
        @mysql_close();
?>
requetesql7.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();

// On stocke le choix de la couleur dans une variable de session.
if (isset($_GET['couleur'])) $_SESSION['gcouleur'] = $_GET['couleur'];

// On se connecte à la base de données.
include('connectdb.php');

// Puis on renvoie les dix derniers vrais messages dans la couleur choisie.
  $reponse = @mysql_query("SELECT * FROM aristojchatx WHERE message!='' ORDER BY ID DESC LIMIT 0,10") ;

        $i=0;

// Puis on fait une boucle pour afficher tous les résultats :

while ($donnees = @mysql_fetch_array($reponse) )
{

$pseu=str_replace("\n","<br>",htmlentities(stripslashes($donnees['pseudo'])));
$mes= str_replace("\n","<br>",htmlentities(stripslashes($donnees['message'])));
$heu=htmlentities($donnees['heure']);
 
if ($donnees['nomlogo']!="") {
echo "<table class=\"aristomessage\"  cellspacing=\"0\"  style=\"background-color:".$_SESSION['gcouleur']."\">
   <tr>
                <td class=\"aristogauche\">
                        <div class=\"aristologochatmes\">               
                        <img   alt='' src=\"plugins/paramspip/fichiers/".$dirarticle."/dir_logos/".$donnees['nomlogo']."  \"  width='50px'/>
                        </div>
                <div class=\"aristoheupseu\">".$pseu."<div class=\"aristoheuremes\">".$heu."</div></div>
                </td>
       <td class=\"aristodroite\" style=\"color:".$_SESSION['gcouleur']."\"  >". $mes ."</td>
   </tr>
        </table>";
}
else {
echo "<table class=\"aristomessage\"  cellspacing=\"0\" style=\"background-color:".$_SESSION['gcouleur']."\">
   <tr>
                <td class=\"aristogauche\">
                        <div class=\"aristoheupseu\">".$pseu."<div class=\"aristoheuremes\">".$heu."</div></div>
                </td>
       <td class=\"aristodroite\" style=\"color:".$_SESSION['gcouleur']."\"  >". $mes ."</td>
   </tr>
</table>";
}

$i=$i+1;
}

// On se déconnecte.
        @mysql_close();
?>
requetesql.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();


// On se connecte à la base de données.

include('connectdb.php');


// On prend ici le dernier identifiant.
$ntot = @mysql_query("SELECT * FROM aristojchatx ORDER BY ID DESC LIMIT 0,1");
$ntoto=@mysql_fetch_array($ntot);

if (isset($ntoto['id'])) $nouveautotal=$ntoto['id'];
else $nouveautotal=0;

//On prend ici l'avant dernier identifiant.
if (isset($_SESSION['ancientotal'])) $ancientotal=$_SESSION['ancientotal'];
else $ancientotal="";


$ip=$_SERVER['REMOTE_ADDR'];

$totoip = @mysql_query("SELECT COUNT(*) AS toip FROM aristojchatx WHERE ip='".$ip."'");
$numbip =@mysql_fetch_array($totoip);

// Si la variable de session 'fin' est vraie ou si il n'y a plus l'ip dans la table, on renvoie 1. On réinitialisera la page.
if (($_SESSION['fin']==true) or ($numbip['toip']==0))
echo "1";
// Si aucun nouveau message n'a été rajouté, on renvoie 0.
else if ($ancientotal==$nouveautotal)
echo "0";
// Sinon, on renvoie le tableau actualisé.
else
{
$reponse = @mysql_query("SELECT * FROM aristojchatx WHERE message!='' ORDER BY ID DESC LIMIT 0,10") ;
$i=0;


// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = @mysql_fetch_array($reponse) ){

// htmlentities permet d'arranger le problème des accents.
$pseu=str_replace("\n","<br/>",htmlentities(stripslashes($donnees['pseudo'])));
$mes= str_replace("\n","<br/>",htmlentities(stripslashes($donnees['message'])));
$heu=htmlentities($donnees['heure']);
 
// On adapte le message si il y a un logo.
if ($donnees['nomlogo']!="") {
echo "<table class=\"aristomessage\" cellspacing=\"0\"  style=\"background-color:".$_SESSION['gcouleur']."\">
 <tbody>
   <tr>
<td class=\"aristogauche\">
<div class=\"aristologochatmes\">               
<img   alt='' src=\"plugins/paramspip/fichiers/".$_SESSION['dirarticle']."/dir_logos/".$donnees['nomlogo']."  \"  width='50px'/>
</div>
<div class=\"aristoheupseu\">".$pseu."<div class=\"aristoheuremes\">".$heu."</div></div>
</td>
       <td class=\"aristodroite\" style=\"color:".$_SESSION['gcouleur']."\"  >". $mes ."</td>
   </tr>
 </tbody>
</table>";
}
else {
echo "<table class=\"aristomessage\"  cellspacing=\"0\"  style=\"background-color:".$_SESSION['gcouleur']."\">
 <tbody>
   <tr>
<td class=\"aristogauche\">
<div class=\"aristoheupseu\">".$pseu."<div class=\"aristoheuremes\">".$heu."</div></div>
</td>
       <td class=\"aristodroite\" style=\"color:".$_SESSION['gcouleur']."\"  >". $mes ."</td>
   </tr>
 </tbody>
</table>";
}
$i=$i+1;
}
$_SESSION['ancientotal']=$nouveautotal;
}

// On se déconnecte.
        @mysql_close();
?>
popup.php
mercredi 21 janvier 2009
par olivier ramos
<?php
session_start();


//----------------------------
//  DEFINITION DES CONSTANTES
//----------------------------

$target     = 'dir_logos/';  // Repertoire cible

$extension  =array('jpg','JPG','peg','PEG','gif','GIF','png','PNG');
$max_size   = 1000000;     // Taille max en octets du fichier
$width_max  = 10000;        // Largeur max de l'image en pixels
$height_max = 10000;        // Hauteur max de l'image en pixels



//----------------------
//  SCRIPT D'UPLOAD
//----------------------
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">

<head>
<title>Choix du logo (jpg, png ou gif)</title>

<link rel="stylesheet" href="popup.css" type="text/css" />
       
<script type="text/javascript" src="ajax3.js" ></script>       

</head>

<body >
<?php
$upload="";
if(!empty($_POST['posted'])) {
   // On vérifie si le champ est rempli
   if(!empty($_FILES['fichier']['name'])) {
       // On vérifie l'extension du fichier
         if(in_array(substr($_FILES['fichier']['name'], -3),$extension)){       
                  // On récupère les dimensions du fichier
           $infos_img = getimagesize($_FILES['fichier']['tmp_name']);          
           // On vérifie les dimensions et taille de l'image
           if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) {
               // Si c'est OK, on uploade.
               if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
                   // On efface l'ancien choix s'il y a lieu et on stocke le nom du logo dans une variable de session.
                  $upload="ok";
                  if ((isset($_SESSION['nomlogo']))and($_SESSION['nomlogo']!=""))  {
                  $src="dir_logos/".$_SESSION['nomlogo'];
                  unlink($src); }
                  $_SESSION['nomlogo']=$_FILES['fichier']['name']; }
                                   else {
                   // Sinon on affiche une erreur système
                   echo '<b>Probl&egrave;me lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />';
               }
           } else {
               // Sinon on affiche une erreur pour les dimensions et taille de l'image
               echo '<b>Probl&egrave;me dans les dimensions ou taille de l\'image !</b><br/><br/>';
           }
       } else {
           // Sinon on affiche une erreur pour l'extension
           echo '<b>Ce type d\'image n\'est accept&eacute;!</b><br/><br/>';
       }
   } else {
       // Sinon on affiche une erreur pour le champ vide
       echo '<b>Le champ du formulaire est vide !</b><br /><br />';
   }
}
?>        


<form id="formlogo" enctype="multipart/form-data" action="popup.php" method="post">
<!--  On utilise un input type="file" -->      
           <input type="hidden" name="posted" value="1" />
           <input class="aristochoixlogo" name="fichier" type="file" />        
           <input class="aristochoixlogo" type="submit" value="Voir" />
                       
</form>

<?php
// Lorsque l'on a choisi, on fait apparaître l'image, son nom ainsi que le bouton de validation.
if($upload=="ok") {
$_SESSION['fait']=1;
?>
<div align="center">
<img alt="" src="dir_logos/<?php echo $_FILES['fichier']['name'];?>" width="100"  height="100" /><br/>
<?php echo $_FILES['fichier']['name']; ?>
</div>

<!--  Après la validation la fenêtre popup disparaîtra et la fenêtre parent sera actualisée. -->
<form action="">
<textarea   class="aristoinvisible"  rows="1" cols="1" name="logoperso" ><?php echo $_FILES['fichier']['name'];?></textarea>        
<input id="envoi3" type="submit" value="Valider"  />
</form>  

<?php
}
?>

</body>
</html>
connectdb.php
lundi 4 mai 2009
par olivier ramos
<?php

// On se connecte à MySQL.
include('../../../../config/aristodefcondb.inc');
$dbc=@mysql_connect(ADBASE,LOG,MDP)or die();
@mysql_select_db(BASE) or die();

?>