makeFileList(); // nouvel article if($numArticle == 0) { $title = "Ajouter un article"; $texte = ''; } else { // nom de l'article ciblé (objet et session) $Article->findFileName($numArticle); $_SESSION['nomFichier'] = $Article->getFileName(); // suppression if($suppression) { $Article->delete(); header('Location: index.php?page=' . $page_actuelle); exit(); } // modification else { $title = "Modifier un article"; $texte = $Article->readOne(); // entrée de l'éditeur } } // pour l'affichage des articles $articles = array_reverse($Article->readAll()); // lourd // sécurisation du contenu pré-existant inséré dans l'éditeur if($numArticle >= 0 && !$suppression) { require('controller/ckeditor.php'); $texte = preparationCKeditor($numArticle, $texte); } // NB: penser à ajouter au template la fonctionnalité "autosave" // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html // morceaux en HTML à assembler // variable $editeurHTML, contient $texte require('view/template-formulaires.php'); // variables $css, $js, $header et $content, // $content contient $articles et $editeurHTML require('view/melaine.php'); // fin de l'assemblage require('view/template.php'); } function discoEdit($numArticle, $suppression) { $page_actuelle = "discographie"; $title = "Discographie"; // modèle $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 } } $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) { require('controller/ckeditor.php'); $texte = preparationCKeditor($numArticle, $texte); } // changer les chaines JSON en tableaux $i = 0; foreach($albumsJSON as $oneAlbum) { $albumsJSON[$i] = json_decode($oneAlbum, true); $i++; } // on passe maintenant au contenu HTML $albumNamesJSON = array_reverse($Album->getFileNames()); $Album->setFormat('html'); $Album->makeFileList(); $albumNamesHTML = array_reverse($Album->getFileNames()); // 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) { // nom sans extension $chemin = pathinfo($oneAlbum); $nomJSONsansExt = $chemin['filename']; $chemin = pathinfo($albumNamesHTML[0]); // détection if(file_exists($chemin['dirname'] . '/' . $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++; } // morceaux en HTML à assembler // variable $editeurHTML, contient $texte require('view/template-formulaires.php'); // variables $css, $js, $header et $content, // $content contient ???? et $editeurHTML require('view/discographie.php'); // fin de l'assemblage require('view/template.php'); }