<?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;
?>
<?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è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è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 " ";
if (NOMCHAT!="") echo NOMCHAT;
else echo " ";
?>
<!-- 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"> </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é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 " ";
if (NOMCHAT!="") echo NOMCHAT;
else echo " ";
?>
</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"> </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;
}
?>
<?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è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è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();
?>
<?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";
?>
<?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é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
}
?>
<?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']="";
}
?>
<?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();
?
<?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();
?>
<?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();
?>
<?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();
?>
<?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();
?>
<?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();
?>
<?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();
?>
<?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();
?>
<?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è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è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é!</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>
<?php
// On se connecte à MySQL.
include('../../../../config/aristodefcondb.inc');
$dbc=@mysql_connect(ADBASE,LOG,MDP)or die();
@mysql_select_db(BASE) or die();
?>