=')) { if (!session_regenerate_id (true)) { exit; } } } $_SESSION = array (); initialiser_cle_session (); } /* Initialement, la lecture d'un cryptogramme n'est pas nécessaire pour se connecter */ $admModeSecurise = false; if (isset ($_GET['logout'])) { if (isset ($_SESSION[ADM_ETAT_CONNEXION])) { /* Ferme la connexion */ unset ($_SESSION[ADM_ETAT_CONNEXION]); supprimer_cle_session (); } /* Revient à la page d'accueil */ header ('location: index.php'); } /* Si la connexion est fermée */ else if (!isset ($_SESSION[ADM_ETAT_CONNEXION])) { /* Lecture du fichier d'erreurs de connexion */ lire_fichier_erreurs_connexion (); /* * Vérification d'une tentative de connexion */ if (isset ($_POST['connecter'])) { $login = isset ($_POST['admin_login']) ? decode_gpc ($_POST['admin_login']) : ''; $pass = isset ($_POST['admin_pass']) ? decode_gpc ($_POST['admin_pass']) : ''; $mdpMode = 'compatible'; require ('include/admin/mdp.php'); if ($mdpMode == 'compatible') { $mdp = md5 ($mdp); } $testCrypto = (mode_securise () or isset ($_POST['code'])); /* Validation de l'identifiant, du mot de passe, et éventuellement du code du cryptogramme */ if ($login == $cfgAdministrateur[3] and md5 ($pass) == $mdp and (!$testCrypto or (isset ($_SESSION['cryptcode']) and isset ($_POST['code']) and $_SESSION['cryptcode'] == md5(strtoupper ($_POST['code'])) and !isset ($_SESSION['cryptreload'])))) { /* Création d'un nouvel identifiant pour la connexion à ouvrir */ if (version_compare (PHP_VERSION, '4.3.3', '>=')) { session_regenerate_id (true); } /* Création d'une clé à usage unique */ initialiser_cle_session (2); /* Ouvre la connexion */ $_SESSION[ADM_ETAT_CONNEXION] = 1; /* Restauration, à partir de la session, des informations passées au script */ if (isset ($_SESSION['admin_get'])) { $_GET = $_SESSION['admin_get']; } if (isset ($_SESSION['admin_post'])) { $_POST = $_SESSION['admin_post']; } if (isset ($_SESSION['admin_request'])) { $_REQUEST = $_SESSION['admin_request']; } unset ($_SESSION['admin_get'], $_SESSION['admin_post'], $_SESSION['admin_request']); /* Si le mot de passe par défaut n'a pas été changé */ if ($mdp == md5 ('pass')) { /* Affichage du message de rappel de changement de mot de passe. Les constantes définies ci-dessous sont utilisées par hpage.inc */ define ('HPAGE_HEADER', ' '); define ('HPAGE_BODY_ATTRIBUTES', 'onload="pwdReminder()"'); } } else { /* La validation identifiant/mot de passe[/cryptogramme] a échoué */ $_SESSION['cryptreload'] = true; /* Ajout de la tentative dans la liste des erreurs de connexion */ ajouter_erreur_connexion (); } unset ($mdp, $pass); } else { /* Sauvegarde, dans la session, des informations passées au script */ $_SESSION['admin_get'] = $_GET; $_SESSION['admin_post'] = $_POST; $_SESSION['admin_request'] = $_REQUEST; } /* Ecriture des erreurs de connexion dans le fichier */ ecrire_fichier_erreurs_connexion (); /* Si le nombre d'erreurs de connexion dépasse la limite autorisée, on passe en mode sécurisé */ $admModeSecurise = mode_securise (); } unset ($_POST['admin_login'], $_POST['admin_pass'], $_REQUEST['admin_login'], $_REQUEST['admin_pass']); if (isset ($HTTP_POST_VARS)) { unset ($HTTP_POST_VARS['admin_login'], $HTTP_POST_VARS['admin_pass']); } /* Si la connexion est ouverte */ if (isset ($_SESSION[ADM_ETAT_CONNEXION])) { /* * Chargement des pages de la zone d'administration */ $pg = isset ($_GET['pg']) ? decode_gpc ($_GET['pg']) : ''; $skin = isset ($_GET['skin']) ? decode_gpc ($_GET['skin']) : ''; if (!empty ($pg)) { /* Pages d'administration */ $nfPageAdmin = 'include/admin/'.basename ($pg).'.inc'; if (file_exists ($nfPageAdmin)) { include ($nfPageAdmin); } else { header ('location: admin.php'); } } else if (!empty ($skin)) { /* Configuration des thèmes administrables */ $nfAdminSkin = 'skin/'.basename ($skin).'/admin/admin.inc'; if (file_exists ($nfAdminSkin)) { include ($nfAdminSkin); } else { header ('location: admin.php'); } } else { /* * Affichage des icônes de la zone d'administration */ include ('include/hpage.inc'); htable ('Admin - Sélectionnez une option', '100%'); if (file_exists ('include/admin/upgrade.inc')) { include ('include/admin/upgrade.inc'); } /* Définition des icônes d'administration */ $iconesAdmin = array ( /* * Syntaxe : * array( url_lien, url_image, titre_icone ) * * Dans le titre de l'icône, \n permet de passer à la ligne. */ array ('admin.php?pg=homepage', 'graphics/admin/homepage.png', 'Page d\'accueil'), array ('admin.php?pg=pages', 'graphics/admin/pages.png', 'Pages centrales'), array ('admin.php?pg=articles', 'graphics/admin/article.png', 'Articles'), array ('admin.php?pg=nouvelles', 'graphics/admin/nouvelle.png', 'Nouvelles'), array ('admin.php?pg=upload', 'graphics/admin/upload.png', 'Envoyer sur'."\n".'le serveur'), array ('admin.php?pg=downloads', 'graphics/admin/download.png', 'Téléchargements'), array ('admin.php?pg=banniere', 'graphics/admin/banniere.png', 'Bannière'), array ('admin.php?pg=config2', 'graphics/admin/config2.png', 'Configuration'."\n".'du site'), array ('admin.php?pg=theme', 'graphics/admin/theme.png', 'Thème'), array ('admin.php?pg=footer', 'graphics/admin/footer.png', 'Pied de page'), array ('admin.php?pg=password', 'graphics/admin/password.png', 'Mot de passe'), array ('admin.php?pg=config1', 'graphics/admin/config1.png', 'Configuration'."\n".'générale'), array ('admin.php?pg=about', 'graphics/admin/about.png', 'Page A propos'), array ('admin.php?pg=syndication', 'graphics/admin/syndication.png', 'Syndication'), ); echo '

Bienvenue dans la zone d\'administration !

Vous pouvez modifier votre site :
changer les couleurs, ajouter ou supprimer des articles, créer des liens ...
Pour revenir sur cette page, cliquez sur "Retour admin".

'; $icones = $iconesAdmin; /* Recherche des modules optionnels administrables dans le dossier "modules" Le fichier "icone_admin.inc" doit exister dans le sous-dossier "modules/xxx/" */ $dossier_modules = opendir ('modules'); while ($fichier_module = readdir($dossier_modules)) { if (is_dir ('modules/'.$fichier_module) && $fichier_module != '.' && $fichier_module != '..' && file_exists('modules/'.$fichier_module.'/icone_admin.inc')) { unset ($iconeAdmin); /* Inclusion de la définition de l'icône du module administrable */ include('modules/'.$fichier_module.'/icone_admin.inc'); /* Ajout de l'icône à la liste */ if (!empty ($iconeAdmin)) { $icones[] = $iconeAdmin; } } } closedir ($dossier_modules); /* Affichage de toutes les icônes */ echo '
'; /* Nombre d'icônes par ligne dans le tableau */ $largeurTableau = 5; $nColonne = 0; foreach ($icones as $icone) { /* Fin de la ligne courante */ if ($nColonne >= $largeurTableau) { echo ''."\n"; $nColonne = 0; } if ($nColonne == 0) { /* Début d'une nouvelle ligne */ echo ''."\n"; } echo ''."\n"; $nColonne++; } if ($nColonne > 0) { /* Fin de la dernière ligne */ echo ''."\n"; } echo '

'."\n"; if (preg_match ('/^javascript:/i', $icone[0])) { $lien = $icone[0]; } else $lien = conv_url($icone[0]); echo ''. ''. '
'.conv_sauts_ligne(conv_html($icone[2])).'
'."\n"; echo '

'; echo '

DÉCONNEXION

'; btable (); include ('include/bpage.inc'); } } else { /* Si la connexion est fermée */ /* * Formulaire de saisie de l'identifiant et du mot de passe */ define ('HPAGE_HEADER', ''); define ('HPAGE_BODY_ATTRIBUTES', 'onload="setfocus()"'); include ('include/hpage.inc'); htable ('Admin - Entrez votre identifiant et votre mot de passe', '100%'); $query_string = isset ($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : ''; echo '

 

Identifiant :

 

Mot de passe :


'; /* En mode sécurisé, on affiche le cryptogramme */ if ($admModeSecurise) { /* Force la regénération du cryptogramme à chaque appel */ $timestamp = md5 (microtime()); echo '
En raison d\'un nombre important de tentatives de connexion
infructueuses, la sécurité a été temporairement renforcée.


Recopiez le mot  ici : 
'; } echo '

 

Attention ! La connexion se fait jusqu\'à la fermeture du navigateur.
Il est possible de se déconnecter dans la zone d\'administration.

'; btable (); include ('include/bpage.inc'); } ?>