From cdf1bda847edd3e22e9fe817a802219ad8e0f626 Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 8 Sep 2021 02:09:34 +0200 Subject: vignette --- controller/admin.php | 51 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 21 deletions(-) (limited to 'controller/admin.php') diff --git a/controller/admin.php b/controller/admin.php index 3c2b613..ba6fd83 100644 --- a/controller/admin.php +++ b/controller/admin.php @@ -98,11 +98,6 @@ function discoEdit($numArticle, $suppression) } } - $albumsJSON = 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 // sécurisation du contenu pré-existant inséré dans l'éditeur if($numArticle >= 0 && !$suppression) @@ -111,44 +106,58 @@ function discoEdit($numArticle, $suppression) $texte = preparationCKeditor($numArticle, $texte); } - // changer les chaines JSON en tableaux + + // contenu de tous les fichiers JSON (= tableau de chaines) + $albumsJSON = $Album->readAll(); + // noms des fichiers JSON + $albumNamesJSON = $Album->getFileList(); + + // changer les chaines JSON en tableaux: titre, année, pochette $i = 0; + $annees = array(); foreach($albumsJSON as $oneAlbum) { $albumsJSON[$i] = json_decode($oneAlbum, true); + + // ajout des noms des fichiers JSON + $albumsJSON[$i][3] = $albumNamesJSON[$i]; + $annees[$i] = $albumsJSON[$i][1]; $i++; } + // tri d'un tableau multidimensionnel + array_multisort($annees, $albumsJSON); // on passe maintenant au contenu HTML - $albumNamesJSON = array_reverse($Album->getFileNames()); $Album->setFormat('html'); $Album->makeFileList(); - $albumNamesHTML = array_reverse($Album->getFileNames()); + $albumNamesHTML = $Album->getFileList(); // lien vers le HTML ou ancre? // pour chaque album, détecter le fichier html // si non, ne fournir qu'un lien d'ancre pour la liste d'album $i = 0; $avecLien = []; - foreach($albumNamesJSON as $oneAlbum) + foreach($albumsJSON as $oneAlbum) { // nom sans extension - $chemin = pathinfo($oneAlbum); + $chemin = pathinfo($oneAlbum[3]); $nomJSONsansExt = $chemin['filename']; - $chemin = pathinfo($albumNamesHTML[0]); - // détection - if(file_exists($chemin['dirname'] . '/' . $nomJSONsansExt . '.html')) + // au cas où la discographie ne contient aucun html + if(!empty($albumNamesHTML)) { - $lienAlbum[$i] = 'album&album_code=' . $nomJSONsansExt . '&album_name=' . $albumsJSON[$i][0]; - $avecLien[$i] = true; + if(file_exists('data/discographie/html/' . $nomJSONsansExt . '.html')) + { + $lienAlbum[$i] = 'album&album_code=' . $nomJSONsansExt . '&album_name=' . $albumsJSON[$i][0]; + $avecLien[$i] = true; + } + else + { + $lienAlbum[$i] = 'discographie#' . $albumsJSON[$i][0]; + $avecLien[$i] = false; + } + $i++; } - else - { - $lienAlbum[$i] = 'discographie#' . $albumsJSON[$i][0]; - $avecLien[$i] = false; - } - $i++; } // morceaux en HTML à assembler -- cgit v1.2.3