/***************************************************************************
Livredor.php - Classe Livredor
-------------------
begin : Septembre UTC 2002
copyright : (C) 2002 by NADAL Jean-Baptiste
email : jbnadal@ifrance.com
***************************************************************************
*
* Cette classe permet de gerer un livre d'or pour le site de l'Harmonie
* de Montpellier-Jacou.
*
***************************************************************************
* *
* 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. *
* *
***************************************************************************
* $Id: Livredor.php,v 1.4 2002/12/15 20:22:29 jb Exp $
***************************************************************************/
if (file_exists ("conf.php"))
require ("conf.php");
else
require ("./Scripts/conf.php");
class Livredor {
// =============================================================
// Les Variables
var $szTabTexte; // Contient le contenu de la page du livre d'or courant
var $nLongTexte; // Taille du tableau du contenu de la requete
var $nNbMsg; // Nombre de message que contient le livre d'or
var $Font_Def; // Font utilisé pour l'affichage du livre d'or
var $msgPARpages; // Nombre de messages affichable par page
var $nbrePages; // Nombre de page que contient le livre d'or
var $CouleurFond; // Couleur de fond des lignes du resultat de la requete
// =============================================================
// Les Fonctions
function Livredor ()
{
$fontFace = "verdana,arial,hevetica";// Police par défaut
$fontSize = "2"; // Taille de la police par défaut
$this->Font_Def = "";
$this->msgPARpages = 10;
$this->CouleurFond = "#CCCCCC";
}
function AfficheTexte ()
{
echo "$this->szTabTexte";
}
/* =================================================
* Cette fonction se connecte a la base du livre d'or et affiche simplement
* Un texte : celui dont le numero
* est passé en paramètre.
*/
function GetText($num_elem)
{
global $sql_bdd;
// On se connecte sur la base du livre d'Or
$connect_db = jb_sql_connect (false);
$resultat = mysql_db_query ($sql_bdd,"select * from livredor where".
" id=$num_elem",$connect_db);
$t_pseudo = mysql_result ($resultat, $cpt, "pseudo");
$t_email = mysql_result ($resultat, $cpt, "email");
$t_pays = mysql_result ($resultat, $cpt, "pays");
$t_message = mysql_result ($resultat, $cpt, "message");
$t_date = mysql_result ($resultat, $cpt, "date");
$t_id = mysql_result ($resultat, $cpt, "id");
echo "
\n".
"| $this->Font_Def";
echo "$t_date | | CouleurFond> ";
/* Si la personne qui a signe le livre d'or a donné son email, on la lie
* sinon, on n'affiche que le pseudo
*/
if ($t_email)
echo "$this->Font_Def".
" $t_pseudo , $t_pays";
else
echo "$this->Font_Def $t_pseudo , $t_pays";
// Puis On affiche le message a proprement parlé
echo " |
| $this->Font_Def $t_message |
\n
\n
\n";
// puis on ferme la connexion avec le serveur de base de donnees
MYSQL_CLOSE;
}
/* =================================================
* Cette fonction supprime le texte de la base Livre d'or dont
* on passe l'indice en paramèrtre
*/
function SupprimeText ($num_elem)
{
global $sql_bdd;
/* On se connecte sur la base du livre d'Or. */
$connect_db = jb_sql_connect (false);
$resultat = mysql_db_query ($sql_bdd, "delete from livredor where".
" id=$num_elem", $connect_db);
if ($resultat == 1)
echo "
Le message".
" $num_elem a été effacé
\n";
else
echo "
BUG !!! suppression".
" Impossible
\n";
MYSQL_CLOSE;
}
function RecuperePage ($page, $modeAdmin)
{
global $racine, $page_index, $sql_bdd, $id;
// On se connecte sur la base du livre d'Or
$connect_db = jb_sql_connect (true);
$resultat = mysql_db_query ($sql_bdd, "select * from livredor order by".
" id desc", $connect_db);
$nbTotalLignes = mysql_numrows ($resultat);
$this->nNbMsg = $nbTotalLignes;
// On regarde qu'il y ait au moins une ligne de résultat
if ($nbTotalLignes != 0) {
// On calcul les bornes des messages que l'on va récupéré ensuite
$this->nbrePages = ceil ($nbTotalLignes / $this->msgPARpages);
/* Si le paramètre passé a la méthode est vide, on lui affecte
* la page 0. */
if ($page == "")
$page = "0";
// Puis les deux bornes
$premierMsg = ($page * $this->msgPARpages);
$dernierMsg = ($premierMsg + $this->msgPARpages);
$cpt = $premierMsg;
// Puis on boucle pour afficher tout les messages
while ($cpt < $dernierMsg) {
$t_pseudo = mysql_result ($resultat, $cpt, "pseudo");
$t_email = mysql_result ($resultat, $cpt, "email");
$t_pays = mysql_result ($resultat, $cpt, "pays");
$t_message = mysql_result ($resultat, $cpt, "message");
$t_date = mysql_result ($resultat, $cpt, "date");
$t_id = mysql_result ($resultat, $cpt, "id");
$this->szTabTexte .="\n| $this->Font_Def";
if ($modeAdmin)
$this->szTabTexte .= "Message $t_id en date du $t_date".
" |
| CouleurFond> ";
else
$this->szTabTexte .= "$t_date |
| CouleurFond> ";
/* Si la personne qui a signe le livre d'or a donné son email,
* on la lie sinon, on n'affiche que le pseudo
*/
if ($t_email)
$this->szTabTexte .="$this->Font_Def".
" $t_pseudo , $t_pays";
else
$this->szTabTexte .="$this->Font_Def $t_pseudo".
" $t_pays";
/* Puis On affiche le message a proprement parlé. */
$this->szTabTexte .= " |
| $this->Font_Def ".
"$t_message |
\n
\n
\n";
if ($modeAdmin) {
$this->szTabTexte .= "\n
\n";
}
$cpt++;
if ($cpt == $nbTotalLignes)
$cpt = $dernierMsg;
}
MYSQL_CLOSE;
}
else
$this->szTabTexte .= "$this->Font_Def".
"Aucun message pour l'instant.";
}
function GenereEntete ($page, $modeAdmin)
{
global $racine, $page_index, $id,$page_index;
// On affiche les index sur les différentes pages
$x = "1";
$code .= "| ";
while ($x <= $this->nbrePages) {
if ($page != $x) {
if ($modeAdmin)
$code.= "$x | ";
}
else
$code.= " $x | ";
$x++;
}
/* On affcihe le nombre de message du livre d'or. */
echo "$this->Font_Def $code
$this->nNbMsg messages";
if (!$modeAdmin)
echo "[ Signer le livre d'or ]
\n
\n
Pour tout renseignement, voir notre rubrique
contact";
}
function ValideInscriptionLivre($pseudo, $email, $pays, $message, $date)
{
global $sql_bdd;
if (strlen ($date) < 3)
$Datelo = date('d m Y, H:i');
else
$Datelo=$date;
$connect_db = jb_sql_connect (false);
$query = "insert into livredor (pseudo,email,pays,message,date) values";
$query .= "('$pseudo', '$email', '$pays', '$message', '$date')";
$resultat = mysql_db_query ($sql_bdd, $query, $connect_db);
MYSQL_CLOSE;
}
function GenereFormulaireInscription()
{
echo "
Pour signer le livre d'or, remplissez le formulaire ci-dessous et
validez.
(seules les cases \"Pseudo\" et \"Message\"
sont obligatoires).
";
}
}
?>