From 10954c386cacb270e4ae16837483120ca3406259 Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 1 Sep 2021 23:35:42 +0200 Subject: albums --- controller/admin.php | 86 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 69 insertions(+), 17 deletions(-) (limited to 'controller/admin.php') diff --git a/controller/admin.php b/controller/admin.php index 0abdb1c..2588d36 100644 --- a/controller/admin.php +++ b/controller/admin.php @@ -8,11 +8,9 @@ function melaineEdit($numArticle, $suppression) { $page_actuelle = "melaine"; - $Articles = new ArticlesManager; - - // contenu de la page - $Articles->setPage($page_actuelle); - $Articles->getFiles(); + // modèle + $Article = new OneArticle($page_actuelle); + $Article->makeFileList(); // nouvel article if($numArticle == 0) @@ -23,13 +21,13 @@ function melaineEdit($numArticle, $suppression) else { // nom de l'article ciblé (objet et session) - $Articles->findFileName($numArticle); - $_SESSION['nomFichier'] = $Articles->getFileName(); + $Article->findFileName($numArticle); + $_SESSION['nomFichier'] = $Article->getFileName(); // suppression if($suppression) { - $Articles->delete(); + $Article->delete(); header('Location: index.php?page=' . $page_actuelle); exit(); } @@ -37,15 +35,12 @@ function melaineEdit($numArticle, $suppression) else { $title = "Modifier un article"; - - // contenu envoyé à l'éditeur - $texte = $Articles->getOne(); + $texte = $Article->readOne(); // entrée de l'éditeur } } // pour l'affichage des articles - $Articles->reverseFilesArray(); - $articles = $Articles->getAll(); + $articles = array_reverse($Article->readAll()); // lourd // sécurisation du contenu pré-existant inséré dans l'éditeur if($numArticle >= 0 && !$suppression) @@ -73,13 +68,70 @@ function discoEdit($numArticle, $suppression) $title = "Discographie"; // modèle - $Albums = new AlbumsManager; - $texte = ''; + $Album = new OneArticle($page_actuelle); + $Album->makeFileList(); + + // nouvel album + if($numArticle == 0) + { + $title = "Ajouter un album"; + $texte = ''; + } + else + { + // nom de l'article ciblé (objet et session) + $Album->findFileName($numArticle); + $_SESSION['nomFichier'] = $Album->getFileName(); + + // suppression + if($suppression) + { + $Album->delete(); + header('Location: index.php?page=' . $page_actuelle); + exit(); + } + // modification + else + { + $title = "Modifier un album"; + $texte = $Album->readOne(); // entrée de l'éditeur + } + } + + $albums = array_reverse($Album->readAll()); // lourd + + // $albums contient un tableau de chaines JSON, + // on extrait de chacune 3 variables: titre, année, pochette // traitements PHP pour l'éditeur - require('controller/ckeditor.php'); // sécurisation du contenu pré-existant inséré dans l'éditeur - $texte = preparationCKeditor($numArticle, $texte); + if($numArticle >= 0 && !$suppression) + { + require('controller/ckeditor.php'); + $texte = preparationCKeditor($numArticle, $texte); + } + + // changer les chaines JSON en tableaux + $i = 0; + foreach($albums as $oneAlbum) + { + $albums[$i] = json_decode($oneAlbum, true); + $i++; + } + + // pour chaque album, détecter le fichier html + // si il y en a un, proposer un lien + // si non, ne fournir qu'un lien d'ancre pour la liste d'album + $titreAlbum = 'discographie'; + if(false) + { + $lienAlbum = $titreAlbum; + } + else + { + $lienAlbum = 'discographie#' . $titreAlbum; + } + //echo($lienAlbum); // morceaux en HTML à assembler // variable $editeurHTML, contient $texte -- cgit v1.2.3