<?php highlight_file(__FILE__); exit;
// Bouquin d'or v1.0, créé par Pierre Girard en juillet 2006, visitez www.pierre4012.info/bouquin_dor/ pour plus de détails.
// Mieux vaut ne pas éditer ce fichier si vous n'avez pas de connaissances en PHP, pour la configuration, il faut éditer le fichier "configuration.inc.php".

// Inclusion du fichier de config
if (!@include ('configuration.inc.php')) {echo '<div style="color:red">Il manque le fichier de configuration "configuration.inc.php", vous devez l\'envoyer à côté du fichier "index.php".</div>'; exit;}

session_start ();

if (isset ($_POST['logout'])) {unset ($_SESSION['mdp']); header('Location: ./'); exit;}

if (!empty ($_POST['mdp'])) {$_SESSION['mdp']=$_POST['mdp'];}

if (empty ($_SESSION['mdp']) OR $_SESSION['mdp']!=$mdp_admin)
{ ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Administration du livre d'or</title>
</head>

<body style="text-align:center">

<h1 style="color:blue">- Administration du livre d'or -</h1>

<p style="margin-top:150px; color:orange;">Espace réservé au webmaster, veuillez enter votre mot de passe SVP :</p>

<?php if (!empty ($_SESSION['mdp']) AND $_SESSION['mdp']!=$mdp_admin) {echo '<p style="color:red">Le mot de passe que vous avez tapé n\'est pas correcte !</p>'; unset ($_SESSION['mdp']);} ?>

<form method="post" action="">
<p><input type="password" name="mdp" />
<input type="submit" value="Entrer" /></p>
</form>

<p style="margin-top:150px"><a href="./">Retourner au livre d'or</a></p>

</body>
</html>
<?php
exit;
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Administration du livre d'or</title>
    <style type="text/css">
        body {text-align: center; font-family:'Trebuchet MS', Verdana, Tahoma, Arial, sans-serif; font-size:90%;}
        h1 {margin-bottom:40px; color:blue;}
        .menu-g {margin-left:auto; margin-right:auto; width:<?php echo $largeur_menu ?>%; background-color:#e5f8e6; border: 1px dashed #33cc3d; padding:5px; margin-bottom:40px; margin-top:40px;}
        .menu-p {padding:6px; background-color:white; text-align:left;}
        .liens-pages {font-weight:bold}
        .liens-pages a {text-decoration:none; color:#0000C8;}
        .grandediv {padding:5px; border: 1px solid #3366CC; background-color:#E5ECF9; width:<?php echo $largeur_com ?>%; margin-left:auto; margin-right:auto; text-align:left; margin-bottom:25px;}
        .haut {border-bottom: 1px dashed #3366CC; padding:3px; padding-top:0px; padding-bottom:2px; background-color:#E5ECF9;}
        .bas {padding:15px; padding-top:12px; background-color:white;}
        .liens-b {color:#787878;}
        .liens-b:hover {color:blue;}
        .gris {color:#A5A5A5}
        .boutons {text-align:right; margin-top:5px;}
        .bouton {margin:0; display:inline;}
    </style>
</head>

<body>

<h1>- Administration du livre d'or -</h1>

<?php
if (isset($_POST['pseudo'])) {$pseudo=$_POST['pseudo'];} else {$pseudo=NULL;}
if (isset($_POST['message'])) {$message=$_POST['message'];} else {$message=NULL;}
if (isset($_POST['id'])) {$id=$_POST['id'];} else {$id=NULL;}
if (isset($_POST['mod'])) {$mod=$_POST['mod'];} else {$mod=NULL;}
if (isset($_POST['suppr'])) {$suppr=$_POST['suppr'];} else {$suppr=NULL;}
if (isset($_POST['conf'])) {$conf=$_POST['conf'];} else {$conf=NULL;}

// On se connecte à la base et on met un message d'erreur si ça échoue
@mysql_connect ($adresse_sql, $login_sql, $passe_sql) or die ('<p style="color:orange; font-weight:bold;">Le serveur WEB n\'a pas réussi à se connecter au serveur MySQL, vous devez configurer ou revoir la configuration du fichier "configuration.inc.php" pour les trois points suivants : l\'adresse, le nom ou/et le mot de passe de connexion au serveur MySQL :</p>'.mysql_error());
mysql_select_db ($nom_base_sql) or die ('<p style="color:orange; font-weight:bold;">Le serveur WEB a réussi à se connecter au serveur MySQL, mais le nom de base que vous avez fourni ('.$nom_base_sql.') n\'existe pas. Veuillez revoir ce nom dans le fichier de configuration.</p>');

// On crée la table si elle n'existe pas
if (!mysql_query ("SELECT `1` FROM `$nom_table_sql` LIMIT 0")) {mysql_query ("CREATE TABLE `$nom_table_sql` (`id` INT AUTO_INCREMENT, `pseudo` TEXT, `message` TEXT, `time` INT, `ip` TEXT, INDEX (`id`))");}

// On supprime le message si il faut en supprimer un
if ($suppr && $conf)
{
    mysql_query ("DELETE FROM `$nom_table_sql` WHERE `id`='$suppr'");
}

// On modifie le message si il faut en modifier un
if ($id)
{
    // On met un <wbr/> tous les 50 caractères si un mot de plus de 50 caractères est trouvé. La balise <wbr/> permet de spécifier l'endroit où l'on accepte un retour de ligne si la fenêtre est trop petite (pour ne pas sortir des cadres).
    $message=explode (' ', $message);
    foreach ($message as $i => $w)
    {
        if (strlen ($message[$i]) > 50)
        {
            $message[$i]=wordwrap ($message[$i], 50, '<wbr/>', 1);
        }
    }
    $message=implode (' ', $message);

    $pseudo=htmlentities ($pseudo);
    $message=nl2br (htmlentities ($message));

    $message=strtr ($message, array ('&lt;wbr/&gt;' => '<wbr/>')); // pour pouvoir passer le ajoute_wbr avant le htmlentities, sinon, il ajoure des wbr dans les balises ...

    mysql_query ("UPDATE `$nom_table_sql` SET `pseudo`='$pseudo', `message`='$message' WHERE `id`='$id'");
}

// On compte le nombre de messages et on calcule le nombre de pages
$rep=mysql_fetch_array (mysql_query ("SELECT COUNT(*) AS `nb_mess` FROM `$nom_table_sql`"));
$nb_messages=$rep['nb_mess'];
$nb_pages=ceil ($nb_messages/$nb_messages_par_pages);

// On récupère la page à afficher et on fait en sorte que si le numéro de page n'est pas bon (car modifié à la main par le visiteur) on affiche la page 1
if (isset ($_GET['page'])) {$page=intval ($_GET['page']);} else {$page=1;}
if ($page<1 OR $page>$nb_pages) {$page=1;}

// Mise en variable des liens pour accéder aux différentes pages
if ($nb_pages>1)
{
    if ($page==1) {$pages='<span class="liens-pages"><span class="gris">&lt;</span> &nbsp;';} else {$pages='<span class="liens-pages"><a href="?page='.($page-1).'">&lt;</a> &nbsp;';}

    for ($p=1; $p<=$nb_pages; $p++)
    {
        if ($nb_pages>15)
        {
            if ($page<=7)
            {
                if ($p==$page+4)
                {
                    $pages.='<span class="gris">...</span> &nbsp;';
                    $p=$nb_pages-4;
                }
            }
            elseif ($page>=$nb_pages-6)
            {
                if ($p==6)
                {
                    $pages.='<span class="gris">...</span> &nbsp;';
                    $p=$page-3;
                }
            }
            else
            {
                if ($p==4)
                {
                    $pages.='<span class="gris">...</span> &nbsp;';
                    $p=$page-3;
                }
                if ($p==$page+4)
                {
                    $pages.='<span class="gris">...</span>  &nbsp;';
                    $p=$nb_pages-2;
                }
            }
        }
        // A chaque boucle, on fais un lien avec le numéro de la page, ou le numéro en gras si c'est le numéro de la page affiché
        if ($p==$page)
        {
            $pages.=$p.' &nbsp;';
        }
        else
        {
            $pages.='<a href="?page='.$p.'">'.$p.'</a> &nbsp;';
        }
    }

    if ($page==$nb_pages) {$pages.='<span class="gris">&gt;</span></span>';} else {$pages.='<a href="?page='.($page+1).'">&gt;</a></span>';}
}

// Menu haut
?>
<div class="menu-g">
    <div class="menu-p">
        <span style="float:right;"><?php echo $nb_messages; if ($nb_messages>1) {echo ' messages';} else {echo ' message';} echo ' au total'; ?></span>=&gt; <a href="./">Retourner au livre d'or</a> &lt;= <form method="post" action="" style="display:inline"><input type="hidden" name="logout" value="1"><input type="submit" value="Se déconnecter"></form>
        <?php if (isset ($pages)) {echo '<div style="text-align:center">',$pages,"</div>\n";} ?>
    </div>
</div>
<?php
// Si il n'y a aucun message à afficher, on le dis
if (!$nb_messages)
{
    echo '<p>Il n\'y a pour l\'instant aucun message</p>';
}
// Sinon, si il y as des messages, on les affiches
else
{
    $liste_mois= array ('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');

    // On calcule l'emplacement du premier message à afficher
    $premier_m=($page-1)*$nb_messages_par_pages;
    // Puis on affiche les messages
    $rep_sql=mysql_query ("SELECT * FROM `$nom_table_sql` ORDER BY `id` DESC LIMIT $premier_m, $nb_messages_par_pages");
    while ($rep=mysql_fetch_array ($rep_sql))
    {
        $j=date('j', $rep['time']);
        $mois=$liste_mois[date('n', $rep['time'])];
        $a=date('Y', $rep['time']);
        $heure=date('G\hi', $rep['time']);

        // Si ce n'est pas le message à modifier
        if ($rep['id']!=$mod)
        {
echo "\n";
?>
<div class="grandediv">
    <div class="haut">
    <span style="float:right;"><span style="font-size:80%; color:#808080; vertical-align:bottom;">le <?php echo $j,' ',$mois,' ',$a,' à ',$heure,' &nbsp;|&nbsp; ip: ',$rep['ip'],'</span></span>',$rep['pseudo'],"\n" ?>
    </div>
    <div class="bas">
    <?php echo $rep['message'] ?>
    </div>
    <div class="boutons">
        <form class="bouton" method="post" action="">
        <div style="display:inline"><input type="hidden" name="suppr" value="<?php echo $rep['id'] ?>"/>
        <label>sécurité : <input type="checkbox" name="conf" /></label>
        <input type="submit" value="Supprimer" style="color:#dc0000" /></div>
        </form>
        <form class="bouton" method="post" action="#modif">
        <div style="display:inline"><input type="hidden" name="mod" value="<?php echo $rep['id'] ?>"/>
        <input type="submit" value="Modifier" /></div>
        </form>
    </div>
</div>
<?php
        }
        // Si c'est le message à modifier
        else
        {
echo "\n";
?>
<div class="grandediv" id="modif">
    <form class="bouton" method="post" action="">
    <div class="haut">
    <span style="float:right;"><span style="font-size:80%; color:#808080; vertical-align:bottom;">le <?php echo $j,' ',$mois,' ',$a,' à ',$heure,' &nbsp;|&nbsp; ip: ',$rep['ip'],'</span></span>','<input type="text" name="pseudo" value="',$rep['pseudo'],"\" />\n" ?>
    </div>
    <div class="bas">
    <textarea name="message" rows="<?php echo substr_count($rep['message'], '<br />')+2 ?>" style="width:100%"><?php echo str_replace(array('<br />', '<wbr/>'), '', $rep['message']) ?></textarea>
    </div>
    <input type="hidden" name="id" value="<?php echo $rep['id'] ?>"/>
    <div style="text-align:right; margin-top:5px;"><input type="submit" value="OK" style="color:green" /></div>
    </form>
</div>
<?php
        }
    }
}

mysql_close ();
?>

<div class="menu-g">
    <div class="menu-p">
        <?php if (isset ($pages)) {echo '<div style="text-align:center">',$pages,'</div>';} ?>
        <span style="font-size:80%;"><span style="float:right; color:#BEBEBE">Livre d'or créé a l'aide de <a class="liens-b" href="http://www.pierre4012.info/bouquin_dor/" title="Page officiel de Bouquin d'or" onclick="window.open(this.href); return false;">Bouquin d'or</a></span><a style="color:#BEBEBE" href="./">Retour au livre d'or</a></span>
    </div>
</div>

</body>
</html>