$cfgNGroupesArticlesMax) $admartGroupe = "1"; } elseif (empty($admartForm)) { if ($admartGroupe < 1 || $admartGroupe > $cfgNGroupesArticlesMax) $admartGroupe = "1"; // Enregistrement du groupe actuel file_put_contents($admartNomFicGrpArt, $admartGroupe); } //----------------------------------------------------------------------------- // Suppression d'un article //----------------------------------------------------------------------------- if (!empty($supprimer)) { $articles = file($admartNomFicBaseArt); $id = -1; for ($i = 0; $i < count($articles); $i++) { $pos = explode("|", trim($articles[$i])); $adr = trim($pos[1]); if ($adr == $supprimer) { $id = $i; break; } } if ($id != -1) { unlink($admartCheminBaseArt."/".$adr.$admartExtFicArt); // Suppression de l'article dans l'index $articles[$id] = ''; file_put_contents($admartNomFicBaseArt, $articles); } } //----------------------------------------------------------------------------- // Changement de l'état d'un article //----------------------------------------------------------------------------- elseif ($activer == 1 || $activer == 2) { $id = $admartId - 1; $articles = file($admartNomFicBaseArt); $pos = explode("|", trim($articles[$id])); if ($activer == 1) { $articles[$id] = $pos[0]."|".$pos[1]."|active|".$pos[3]."\n"; } elseif ($activer == 2) { $articles[$id] = $pos[0]."|".$pos[1]."|inactive|".$pos[3]."\n"; } file_put_contents($admartNomFicBaseArt, $articles); } //----------------------------------------------------------------------------- // Déplacement d'un article dans l'index //----------------------------------------------------------------------------- elseif (!empty($deplacer)) { $id = $admartId - 1; $articles = file($admartNomFicBaseArt); if ($id >= 0 && $id < count($articles)) { if ($deplacer == "d") { // Déplacement au début array_unshift($articles, $articles[$id]); // Insertion au début $articles[$id + 1] = ''; // Suppression ancienne position } elseif ($deplacer == "f") { // Déplacement à la fin $articles[] = $articles[$id]; // Insertion à la fin $articles[$id] = ''; // Suppression ancienne position } else { // Monter/descendre d'une ligne // Recherche de la nouvelle position $delta = ($deplacer > 0 ? 1 : -1); $i = $id + $delta; while ($i >= 0 && $i < count($articles)) { $pos = explode("|", trim($articles[$i])); $grp = trim($pos[3]); if ($grp == $admartGroupe) { // Position trouvée // Permutation des éléments $a = $articles[$i]; $articles[$i] = $articles[$id]; $articles[$id] = $a; break; } $i += $delta; } } file_put_contents($admartNomFicBaseArt, $articles); // header('location: admin.php?pg=articles&g='.$admartGroupe.'#articles'); header('location: admin.php?pg=articles&g='.$admartGroupe); } } //----------------------------------------------------------------------------- // Ajout d'un article //----------------------------------------------------------------------------- elseif ($ajouter == 1) { empty($_POST['titre1']) ? $titre1 = '' : $titre1 = decode_gpc($_POST['titre1']); empty($_POST['cat1']) ? $cat1 = '' : $cat1 = decode_gpc($_POST['cat1']); empty($_POST['txt']) ? $txt = '' : $txt = decode_gpc($_POST['txt']); $titre1 = trim($titre1); $cat1 = trim($cat1); // Recuperation du nb d'articles $num = file_get_contents($admartNomFicNumArt); $num = $num + 1; // Enregistrement du nb d'articles file_put_contents($admartNomFicNumArt, $num); // Lecture de la base d'articles $contenu = file_get_contents($admartNomFicBaseArt); // Création des variables $titre2 = str_replace("|", "/", $titre1); $entree_base = $titre2."|".$admartPrefFicArt.$num."|inactive|".$admartGroupe; // Enregistrement de la base : l'article est ajouté au début du fichier. file_put_contents($admartNomFicBaseArt, $entree_base."\n".$contenu); // Enregistrement de l'article $date = date("d/m/Y"); $heure = date("H:i"); $date_article = "$date @ $heure"; $rec = ""; file_put_contents($admartCheminBaseArt."/".$admartPrefFicArt.$num.$admartExtFicArt, $rec); } //----------------------------------------------------------------------------- // Modification d'un article //----------------------------------------------------------------------------- elseif ($modifier == 1) { empty($_POST['titre1']) ? $titre1 = '' : $titre1 = decode_gpc($_POST['titre1']); empty($_POST['cat1']) ? $cat1 = '' : $cat1 = decode_gpc($_POST['cat1']); empty($_POST['txt']) ? $txt = '' : $txt = decode_gpc($_POST['txt']); $titre1 = trim($titre1); $cat1 = trim($cat1); $date = date("d/m/Y"); $heure = date("H:i"); $date_article = "$date @ $heure"; $reel = ($admartId - 1); $articles = file($admartNomFicBaseArt); $pos = explode("|", trim($articles[$reel])); $adr = trim($pos[1]); $act = trim($pos[2]); $titre2 = str_replace("|", "/", $titre1); $articles[$reel] = $titre2."|".$adr."|".$act."|".$admartGroupe."\n"; file_put_contents($admartNomFicBaseArt, $articles); $rec = ""; file_put_contents($admartCheminBaseArt."/".$adr.$admartExtFicArt, $rec); } //----------------------------------------------------------------------------- // Changement de l'ordre de tri des articles du groupe //----------------------------------------------------------------------------- if ($trier == 1) { isset($_POST['trialpha']) ? $ordreTri = "1" : $ordreTri = "0"; // Lecture du fichier de groupes $indexGroupes = array(); if (file_exists($admartNomFicGroupes)) $indexGroupes = file($admartNomFicGroupes); for ($i = 0; $i < $cfgNGroupesArticlesMax; $i++) { if (!isset($indexGroupes[$i])) $indexGroupes[$i] = "0\n"; // Pas de tri par défaut } // Ecriture de l'ordre de tri du groupe $indexGroupes[$admartGroupe-1] = $ordreTri."\n"; // Enregistrement du fichier file_put_contents($admartNomFicGroupes, $indexGroupes); } //============================================================================= // Affichage de la page //============================================================================= include("include/hpage.inc"); echo ''."\n"; htable("Admin - Gestion des articles", "100%"); if ($admartForm == "") $titreForm = "Liste des articles"; elseif ($admartForm == 1) $titreForm = "Écrire un nouvel article"; elseif ($admartForm == 2) $titreForm = "Modifier un article"; else $titreForm = ""; echo '

'.$titreForm.'

'; // Formulaire de sélection du groupe d'articles if (empty($admartForm)) { echo '

 

Choisissez le groupe d\'articles


'; } if (empty($admartForm)) { echo '

Écrire un nouvel article

'."\n"; } else { echo '

Retour à la liste des articles

'."\n"; } echo '
'; //----------------------------------------------------------------------------- // Affichage de la liste des articles (page principale) //----------------------------------------------------------------------------- if (empty($admartForm)) { // Lecture de l'index des articles $articles = file($admartNomFicBaseArt); // Sélection des articles du groupe courant $tableau = array(); for ($i = 0; $i < count($articles); $i++) { $article = explode("|", trim($articles[$i])); $grp = trim($article[3]); if ($grp == $admartGroupe) { $article["nligne"] = $i + 1; $tableau[] = $article; } } // Lecture du fichier de groupes $indexGroupes = array(); if (file_exists($admartNomFicGroupes)) $indexGroupes = file($admartNomFicGroupes); // Lecture de l'ordre de tri du groupe $admartTriAlpha = (isset($indexGroupes[$admartGroupe-1]) ? trim($indexGroupes[$admartGroupe-1]) : "0"); // Tri des articles if ($admartTriAlpha) { function comparer_articles($a1, $a2) { return strcoll2($a1[0], $a2[0]); // Compare les titres des articles } setlocale(LC_COLLATE, PHORTAIL_LC_COLLATE); usort($tableau, "comparer_articles"); } // Formulaire de sélection de l'ordre de tri echo '
'; if (count($tableau) > 1) { echo '
 

Afficher par ordre alphabétique

'; } else echo '

 

'."\n"; echo ' '; // Affichage de la liste des articles du groupe for ($i = 0; $i < count($tableau); $i++) { $tit = trim($tableau[$i][0]); $adr = trim($tableau[$i][1]); $act = trim($tableau[$i][2]); $numLigne = $tableau[$i]["nligne"]; // Numéro de ligne du fichier index if ($act == "active") {$faire[0] = "2"; $faire[1] = "Désactiver";} else {$faire[0] = "1"; $faire[1] = "Activer";} echo ' '; if (!$admartTriAlpha && count($tableau) > 1) { $debut = ($i == 0); $fin = ($i == count($tableau) - 1); echo ' '; } echo ' '; } if (empty($tableau)) echo ''."\n"; echo '
'.conv_html($tit).'  Voir Modifier '.$faire[1].' Supprimer
'.($debut ? '' : '').' '.($fin ? '' : '').' '.($debut ? '' : '').' '.($fin ? '' : '').'

Aucun article dans ce groupe

'; } //----------------------------------------------------------------------------- // Formulaire d'ajout d'un nouvel article //----------------------------------------------------------------------------- elseif ($admartForm == 1) { echo '

Groupe de l\'article :

Titre de l\'article :

Catégorie de l\'article :

Ecrivez votre article :

'; afficher_bbcodes_et_smilies(); echo '

'; } //----------------------------------------------------------------------------- // Formulaire de modification d'un article //----------------------------------------------------------------------------- elseif ($admartForm == 2) { $reel = $admartId - 1; $articles = file($admartNomFicBaseArt); $pos = explode("|", trim($articles[$reel])); $tit = trim($pos[0]); $adr = trim($pos[1]); $act = trim($pos[2]); $grp = trim($pos[3]); require($admartCheminBaseArt."/".$adr.$admartExtFicArt); echo '

Groupe de l\'article :

Titre de l\'article :

Catégorie de l\'article :

Modifiez votre article :

'; afficher_bbcodes_et_smilies(); echo '

'; } //----------------------------------------------------------------------------- // Affichage d'un article (en mode texte) //----------------------------------------------------------------------------- elseif ($admartForm == 3) { $reel = $admartId - 1; $articles = file($admartNomFicBaseArt); $pos = explode("|", trim($articles[$reel])); $tit = trim($pos[0]); $adr = trim($pos[1]); require($admartCheminBaseArt."/".$adr.$admartExtFicArt); echo '

 

'.conv_html($titre_article).' dernière modification le '.conv_html($date_article).'
'.conv_texte_bbcodes_html($contenu_article).'

'; } //----------------------------------------------------------------------------- // Confirmation de suppression d'un article //----------------------------------------------------------------------------- elseif ($admartForm == 4) { $reel = ($admartId - 1); $articles = file($admartNomFicBaseArt); $pos = explode("|", trim($articles[$reel])); $tit = trim($pos[0]); $adr = trim($pos[1]); $grp = trim($pos[3]); echo '

 

Voulez-vous réellement supprimer l\'article suivant ?

 

Titre : '.conv_html($tit).'

Groupe : '.conv_html($cfgNomGroupeArticles[$grp-1]).'

 

'; } // Test de $form //----------------------------------------------------------------------------- echo '
'."\n"; if (!empty($admartForm) && $admartForm != 4) { echo '

Retour à la liste des articles

'."\n"; } echo '
'."\n"; echo '

 

'."\n"; if ($admartForm != 4) echo '

Retour admin || DÉCONNEXION

'."\n"; btable(); include("include/bpage.inc"); ?>