From 610291f311aeab7363d1dbc39e62cbce8533c73f Mon Sep 17 00:00:00 2001 From: polo Date: Mon, 10 May 2021 03:31:18 +0200 Subject: classe --- controller/admin.php | 60 +++++++++++++++++++++++++++++++++---------------- controller/ckeditor.php | 22 +++++++++++++----- controller/visitor.php | 4 +++- 3 files changed, 61 insertions(+), 25 deletions(-) (limited to 'controller') diff --git a/controller/admin.php b/controller/admin.php index 2b3583f..77ab34e 100644 --- a/controller/admin.php +++ b/controller/admin.php @@ -4,37 +4,59 @@ // utilisation du site en écriture // pages du site en version admin -function melaineAdmin($numArticle) +function melaineEdit($numArticle) { - $title = "Ajouter ou modifier un article"; $page_actuelle = "melaine"; - // variables $nombreDarticles et tableau $articles[] + // tableau $articles[] require('model/melaine-read.php'); + $croissant = False; + $articles = lireArticles($page_actuelle, $croissant); + + if($numArticle == 0) + { + $title = "Ajouter un article"; + $texte = ''; + //$numArticle = count($articles) + 1; + } + else + { + $title = "Modifier un article"; + // faire correspondre le numéro de l'article du GET et le tableau des articles qui est inversé + $texte = $articles[count($articles) - $numArticle]; + } // traitements PHP pour l'éditeur require('controller/ckeditor.php'); + // sécurisation du contenu pré-existant inséré dans l'éditeur + $initial = preparationCKeditor($numArticle, $texte); // NB: penser à ajouter au template la fonctionnalité "autosave" // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html - // récupération des données du modèle - if($numArticle > $nombreDarticles || $numArticle < 0) // erreur nombre trop grand (bug?) - { - header('Location: index.php?page=melaine'); - } - elseif($numArticle == 0) // nouvel article - { - $texte = ''; - $numArticle = $nombreDarticles + 1; - } - else // modification d'un article - { - $texte = $articles[$numArticle - 1]; - } + // if($numArticle > $nombreDarticles || $numArticle < 0) // erreur nombre trop grand (bug?) + // { + // header('Location: index.php?page=melaine'); + // } + // elseif($numArticle == 0) // nouvel article + // { + // $texte = ''; + // $numArticle = $nombreDarticles + 1; + // } + // else // modification d'un article + // { + // $texte = $articles[$numArticle - 1]; + // } + - // traitement du contenu pré-existant - $initial = preparationCKeditor($page_actuelle, $numArticle, $texte); + // if($initial == '') + // { + // $article = "nouveau"; + // } + // else + // { + // $article = "modif"; + // } // variable $editeurHTML, $initial est inséré dedans require('view/template-ckeditor.php'); diff --git a/controller/ckeditor.php b/controller/ckeditor.php index 1d085a7..013d6b5 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php @@ -7,10 +7,9 @@ // il y a aussi un fichier CSS parce que le HTML créé par l'éditeur ne suffit pas à lui-même // avant de placer l'éditeur -function preparationCKeditor($page, $numArticle, $texte) +function preparationCKeditor($numArticle, $texte) { - // $page sert à lire et écrire du contenu dans le bon dossier - // $article sert à placer l'éditeur sur la page et à lire et écrire dans le bon dossier + // $numArticle sert à placer l'éditeur sur la page et à lire et écrire dans le bon dossier // texte initial pour setData() à modifier avec l'éditeur if ($numArticle > 0) @@ -83,10 +82,23 @@ function submitCKeditor($page, $article, $contenuPOST) // solution 2 (façon pop-up): fermer ce nouvel onglet avec echo ''; // pour faire passer par le .htaccess l'info comme quoi la page précédente comportait un éditeur ouvert... + // echo($page); + // echo($article); + // echo($contenu); + // die(); + // enregistrement require('model/melaine-write.php'); - nouvelArticle($page, $article, $contenu); - + if($article == 0) + { + nouvelArticle($page, $contenu); + } + else + { + // $article est le nom du fichier + modifArticle($page, $article, $contenu); + } + // debuggage //exit(); } \ No newline at end of file diff --git a/controller/visitor.php b/controller/visitor.php index 98d7a45..9bd3461 100644 --- a/controller/visitor.php +++ b/controller/visitor.php @@ -32,8 +32,10 @@ function melaineVisitor() $page_actuelle = "melaine"; $title = "Mais qui est Melaine Favennec?"; - // variables $nombreDarticles et tableau $articles + // tableau $articles require('model/melaine-read.php'); + $croissant = False; + $articles = lireArticles($page_actuelle, $croissant); // vérification pour protéger les visiteurs // normalement déjà faite dans submit.php, -- cgit v1.2.3