setPage($page_actuelle); $Articles->getFiles(); // nouvel article if($numArticle == 0) { $title = "Ajouter un article"; $texte = ''; } else { // nom de l'article ciblé (objet et session) $Articles->findFileName($numArticle); $_SESSION['nomFichier'] = $Articles->getFileName(); // suppression if($suppression) { $Articles->delete(); header('Location: index.php?page=' . $page_actuelle); exit(); } // modification else { $title = "Modifier un article"; // contenu envoyé à l'éditeur $texte = $Articles->getOne(); } } // pour l'affichage des articles $Articles->reverseFilesArray(); $articles = $Articles->getAll(); // 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 $Albums = new AlbumsManager; $texte = ''; // traitements PHP pour l'éditeur require('controller/ckeditor.php'); // sécurisation du contenu pré-existant inséré dans l'éditeur $texte = preparationCKeditor($numArticle, $texte); // 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'); } function changerMotDePasse($secret) { // vérification supplémentaire if($_SESSION['admin'] !== 1) { $_SESSION['admin'] = 0; header('Location: index.php?page=' . $_GET['from']); exit(); } // Ajouter une sécurité par cpatcha avec un "input" supplémentaire // Et créer une variable de session pour la réponse au CAPTCHA $title = "nouveau mot de passe"; $subHeading = "Veuillez saisir votre actuel mot de passe suivi du nouveau."; // cette page utilise la même vue que la fonction connexion() dans controller/visiteur.php require('view/connexion.php'); echo($header); // traitements: vérification ancien mot de passe et choix du nouveau // bon mot de passe if(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] == $secret) { // confirmation echo($message); //exit(); /*header('Location: index.php?page=' . $_GET['from'] . '&message=nouveau_mdp'); exit();*/ } // mauvais mot de passe elseif(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] != $secret) { // défense aux attaques par force brute // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site echo($erreurMDP); sleep(1); echo($formulaireNouveauMDP); } // première arrivée sur la page else { echo($formulaireNouveauMDP); } echo($footer); }