", ""), $txt);
$objet = $txt;
}
else $objet = $image; // Bannière graphique
$lien = trim($lien);
if ($lien == "http://") $lien = "";
$lien = str_replace('|', '', $lien);
}
//-----------------------------------------------------------------------------
// Ecriture des champs objet et lien dans le formulaire
//-----------------------------------------------------------------------------
function ecrire_formulaire($type, $objet = "", $lien = "") {
// Création de la liste des bannières graphiques
$listeImages = array();
$dossier = opendir("bannieres");
while ($fichier = readdir($dossier)) {
if (is_file("bannieres/".$fichier) && $fichier != "index.php" &&
strtolower($fichier) != "thumbs.db") {
$listeImages[] = $fichier;
}
}
closedir($dossier);
sort($listeImages);
if ($type == 1) { // Bannière texte
$txt = $objet;
$txt = ereg_replace('<[bB][rR]( /)?>', chr(10), $txt); // Accepte
et
echo '
Texte de la bannière : |
|
';
}
else { // Bannière graphique
$image = $objet;
echo '
Image de la bannière : |
|
';
}
if (empty($lien)) $lien = "http://";
echo '
|
Lien (si bannière cliquable) : |
|
|
';
}
//-----------------------------------------------------------------------------
// Ajout d'une bannière
//-----------------------------------------------------------------------------
if ($ajouter == 1) {
lire_formulaire($type, $objet, $lien);
if ($objet != "") { // Si l'objet (texte ou image) n'est pas vide
// Lecture du fichier de bannières
$contenu = file_get_contents($admbanNomFicBan);
// Ajoute la bannière en début de fichier
$contenu = $type.'|'.$objet.'|'.$lien."\n".$contenu;
// Ecriture du fichier modifié
file_put_contents($admbanNomFicBan, $contenu);
// Affichage de la nouvelle bannière
header("location: admin.php?pg=banniere&banniere=1");
}
}
//-----------------------------------------------------------------------------
// Modification d'une bannière
//-----------------------------------------------------------------------------
elseif ($modifier == 1) {
isset($_POST['id']) ? $id = decode_gpc($_POST['id']) : $id = '';
lire_formulaire($type, $objet, $lien);
// Lecture du fichier de bannières
$bannieres = file($admbanNomFicBan);
if ($id >= 1 && $id <= count($bannieres)) {
// Si l'objet (texte ou image) est vide, la bannière est supprimée
if ($objet == "") $bannieres[$id - 1] = "";
else $bannieres[$id - 1] = $type.'|'.$objet.'|'.$lien."\n";
// Ecriture du tableau modifié dans le fichier
file_put_contents($admbanNomFicBan, $bannieres);
}
}
//-----------------------------------------------------------------------------
// Suppression d'une bannière
//-----------------------------------------------------------------------------
elseif (!empty($supprimer)) {
$id = $supprimer; // Numéro de la bannière à supprimer
// Lecture du fichier de bannières
$bannieres = file($admbanNomFicBan);
if ($id >= 1 && $id <= count($bannieres)) {
// Suppression de la bannière
$bannieres[$id - 1] = "";
// Ecriture du tableau modifié dans le fichier
file_put_contents($admbanNomFicBan, $bannieres);
}
header("location: admin.php?pg=banniere");
}
//=============================================================================
// Affichage de la page
//=============================================================================
include("include/hpage.inc");
htable("Admin - Gestion des bannières", "100%");
if ($admbanForm == "") $titreForm = "Liste des bannières";
elseif ($admbanForm == 1) $titreForm = "Ajouter une bannière";
elseif ($admbanForm == 2) $titreForm = "Modifier une bannière";
echo '
';
//-----------------------------------------------------------------------------
// Affichage de la liste des bannières
//-----------------------------------------------------------------------------
if (empty($admbanForm)) {
// Lecture du fichier de bannières
$bannieres = file($admbanNomFicBan);
$tableau = array();
for ($i = 0; $i < count($bannieres); $i++) {
$tableau[$i] = explode("|", trim($bannieres[$i]));
$tableau[$i]["nligne"] = $i + 1;
}
// Initialise le lien (optionnel) s'il est absent du fichier
for ($i = 0; $i < count($tableau); $i++) if (!isset($tableau[$i][2])) $tableau[$i][2] = "";
function comparer_bannieres($b1, $b2) {
$res = strcoll2($b1[1], $b2[1]); // Compare d'abord l'objet (texte ou image)
if ($res == 0) $res = strcasecmp($b1[2], $b2[2]); // puis le lien (s'il existe)
return $res;
}
setlocale(LC_COLLATE, PHORTAIL_LC_COLLATE);
usort($tableau, "comparer_bannieres");
echo '
';
for ($i = 0; $i < count($tableau); $i++) {
$type = trim($tableau[$i][0]);
$objet = trim($tableau[$i][1]);
$lien = trim($tableau[$i][2]);
$numLigne = $tableau[$i]["nligne"]; // Numéro de ligne du fichier
switch ($type) {
// Bannière texte
case 1:
$icone = "graphics/edit.gif";
$titreIcone = "Bannière texte";
$titreLigne = $objet;
$titreLigne = ereg_replace('<[bB][rR]( /)?>', chr(10), $titreLigne); // Accepte
et
$titreLigne = conv_sauts_ligne(conv_html($titreLigne));
break;
// Bannière graphique
case 2:
$icone = "graphics/image.gif";
$titreIcone = "Bannière graphique";
$titreLigne = ''.conv_html($objet).'';
break;
}
echo '
|
'.$titreLigne.'';
if (!empty($lien)) {
echo ' '.conv_html($lien).'';
}
echo '
|
Afficher
|
Modifier
|
Supprimer
|
';
}
if (empty($tableau)) echo 'Aucune bannière |
'."\n";
echo '
';
}
//-----------------------------------------------------------------------------
// Formulaire d'ajout d'une nouvelle bannière
//-----------------------------------------------------------------------------
elseif ($admbanForm == 1) {
isset($_POST['type']) ? $type = decode_gpc($_POST['type']) : $type = 1; // Bannière texte par défaut
echo '
Choisissez le type de bannière
';
}
//-----------------------------------------------------------------------------
// Formulaire de modification d'une bannière
//-----------------------------------------------------------------------------
elseif ($admbanForm == 2) {
// Lecture du fichier de bannières
$bannieres = file($admbanNomFicBan);
if ($admbanId >= 1 && $admbanId <= count($bannieres)) {
$champs = explode("|", trim($bannieres[$admbanId - 1]));
$type = trim($champs[0]);
$objet = trim($champs[1]);
if (isset($champs[2])) $lien = trim($champs[2]);
else $lien = "";
echo '
';
}
}
//-----------------------------------------------------------------------------
echo '
';
btable();
include("include/bpage.inc");
?>