From 787d03e48471ba62cd830379428f04d996f0b74b Mon Sep 17 00:00:00 2001 From: polo Date: Thu, 17 Feb 2022 18:13:00 +0100 Subject: model update --- controller/ckeditor.php | 290 ++++++++++++++++++++++++++---------------------- 1 file changed, 158 insertions(+), 132 deletions(-) (limited to 'controller/ckeditor.php') diff --git a/controller/ckeditor.php b/controller/ckeditor.php index 661e0e3..7102f33 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php @@ -1,132 +1,158 @@ -createVignette($titre, $annee, $pochette); - - // page de l'album - if(!empty($_POST['contenu'])) - { - $Album->create($contenu); - } - } - else - { - $Album->albumCode = $target; - - // page disco - $_SESSION['erreur'] = $Album->updateVignetteJSON($titre, $annee, $pochette); - - // page de l'album - if(isset($_POST['contenu'])) - { - $Album->format = 'html'; - $Album->setFileName(); - if(!empty($Album->fileName)) - { - $Album->update($_POST['contenu']); - } - } - } - } - // autres pages - else - { - $Article = new Page($page); - - if($target == '') - { - $Article->create($contenu); - } - else - { - $Article->fileName = $target; - $Article->update($contenu); - } - } -} - -// lien sans http:// -// un clic sur un lien dans l'éditeur affiche une infobulle montrant l'adresse cible du lien si celle-ci a déjà été précisée -// il est possible de cliquer sur ce lien, ce qui ouvre un onglet avec le site demandé -// toutefois si cette adresse est de type "domaine.fr" (sans http:// devant), le navigateur ne va pas rechercher un site mais un fichier comme si mon adresse était de type file:///fichier -// tomber ainsi sur une page d'erreur est déroutant: -// "ai-je perdu le texte que j'étais en train de taper?"" -// solution 1 (mauvaise): activer la redirection en cas d'erreur 404 dans le .htaccess -// 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... - -function cleanHTML($contenu) -{} +create($contenu); + } + else + { + $Article->fileCode = $_SESSION['target']; // erreur ici? + $Article->update($contenu); + } + } + // page discographie + else if($page == 'discographie') + { + $Album = new Album($page); + + // on retrouve les données si nécessaire + if(isset($_SESSION['target']) && $_SESSION['target'] != '') + { + $Album->fileCode = $_SESSION['target']; + $Album->readOne(); + } + + $nouveauTitre = Security::secureString($_POST['titre']); + $nouvelleAnnee = Security::secureString($_POST['annee']); + $nouvellePochette = $_FILES['upload']['name']; + + // enregistrement nouvel album + if(!isset($_SESSION['target']) || $_SESSION['target'] == '') + { + // page disco + $Album->createVignette($nouveauTitre, $nouvelleAnnee, $nouvellePochette); + + // page de l'album + if(!empty($_POST['contenu'])) + { + $Album->format = 'html'; + $Album->create($contenu); + } + } + // modification + else + { + $Album->albumCode = $_SESSION['target']; + + // page disco + $Album->format = 'json'; + + // garder l'image si aucune n'est sélectionnée + // (on ne peut pas préremplir un ) + if($nouvellePochette == '' && $Album->oneAlbum['pochette'] != '') + { + $nouvellePochette = $Album->oneAlbum['pochette']; + } + + $Album->updateVignetteJSON($nouveauTitre, $nouvelleAnnee, $nouvellePochette); + + // page de l'album + if(isset($_POST['contenu'])) + { + //var_dump($Album->oneAlbum); die(); + $Album->format = 'html'; + //$Album->setFileName(); + if(!empty($Album->oneAlbum['HTMLfileName'])) + { + $Album->update($_POST['contenu']); + } + } + } + } + + // nettoyage + unset($_SESSION['target']); + unset($_GET['action']); + unset($_POST['contenu']); + header('Location: index.php?page=' . $_GET['page']); + exit(); +} + + +// lien sans http:// +// un clic sur un lien dans l'éditeur affiche une infobulle montrant l'adresse cible du lien si celle-ci a déjà été précisée +// il est possible de cliquer sur ce lien, ce qui ouvre un onglet avec le site demandé +// toutefois si cette adresse est de type "domaine.fr" (sans http:// devant), le navigateur ne va pas rechercher un site mais un fichier comme si mon adresse était de type file:///fichier +// tomber ainsi sur une page d'erreur est déroutant: +// "ai-je perdu le texte que j'étais en train de taper?"" +// solution 1 (mauvaise): activer la redirection en cas d'erreur 404 dans le .htaccess +// 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... + +function cleanHTML($contenu) +{} -- cgit v1.2.3