From fdef77d4a8817b6e8940951f3301ad94bde0e6c6 Mon Sep 17 00:00:00 2001 From: polo Date: Mon, 5 Jun 2023 14:51:09 +0200 Subject: suppression de $_SESSION['file_code'] --- controller/admin.php | 144 +++++++++++++++++++++++------------------------- controller/ckeditor.php | 43 ++++++++++----- index.php | 4 -- model/Album.php | 2 +- model/Article.php | 3 +- 5 files changed, 100 insertions(+), 96 deletions(-) diff --git a/controller/admin.php b/controller/admin.php index 21a8f6f..83ee702 100644 --- a/controller/admin.php +++ b/controller/admin.php @@ -31,7 +31,6 @@ function pageArticlesSimplesAdmin(string $page, string $title, string $headerPai { // nom de l'article ciblé (objet et session) $Articles->fileCode = $fileCode; - $_SESSION['file_code'] = $Articles->fileCode; if($suppression) { @@ -89,80 +88,6 @@ function pageArticlesSimplesAdmin(string $page, string $title, string $headerPai require('view/template.php'); } -// un article (= actualité) -function menuEdit($fileCode, int $suppression) -{ - $page = "menu"; - $title = "Melaine Favennec - menu BD"; - $headerPaintedTitle = 'Choisissez une rubrique'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} - -// plusieurs articles -function melaineEdit($fileCode, int $suppression) -{ - $page = "melaine"; - $title = "Mais qui est Melaine Favennec?"; - $headerPaintedTitle = 'Melaine Favennec'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} -function musiqueEdit($fileCode, int $suppression) -{ - $page = "musique"; - $title = "Musique"; - $headerPaintedTitle = 'Musique'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} -function presseEdit($fileCode, int $suppression) -{ - $page = "presse"; - $title = "La presse"; - $headerPaintedTitle = 'La Presse'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} -function livresEdit($fileCode, int $suppression) -{ - $page = "livres"; - $title = "Livres"; - $headerPaintedTitle = 'Dans les livres'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} -function jaimeEdit($fileCode, int $suppression) -{ - $page = "jaime"; - $title = "J'aime"; - $headerPaintedTitle = 'J\'aime'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} -function peintureEdit($fileCode, int $suppression) -{ - $page = "peinture"; - $title = "peinture"; - $headerPaintedTitle = 'Celtic Boats'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} -function archivesEdit($fileCode, int $suppression) -{ - $page = "archives"; - $title = "Archives"; - $headerPaintedTitle = 'Archives'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} -function legalEdit($fileCode, int $suppression) -{ - $page = "legal"; - $title = "Mentions légales"; - $headerPaintedTitle = 'Mentions légales'; - pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); -} - - -// l'éditeur est ouvert dans la page album -// ne servirait que pour les positions -/*function discoEdit() -{ - inversionPositions(); -}*/ // page complexe avec albums et articles // cas où on fait quelque chose: ouvrir l'éditeur, monter, descendre, supprimer @@ -214,7 +139,6 @@ function albumEdit($fileCode, int $suppression) { $page = 'album'; $Albums->readOne(); - $_SESSION['file_code'] = $fileCode; $title = "Modifier un album"; for($i = 0; $i < $Albums->fileListCount; $i++) @@ -302,6 +226,74 @@ function albumEdit($fileCode, int $suppression) } +// un article (= actualité) +function menuEdit($fileCode, int $suppression) +{ + $page = "menu"; + $title = "Melaine Favennec - menu BD"; + $headerPaintedTitle = 'Choisissez une rubrique'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} + +// plusieurs articles +function melaineEdit($fileCode, int $suppression) +{ + $page = "melaine"; + $title = "Mais qui est Melaine Favennec?"; + $headerPaintedTitle = 'Melaine Favennec'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} +function musiqueEdit($fileCode, int $suppression) +{ + $page = "musique"; + $title = "Musique"; + $headerPaintedTitle = 'Musique'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} +function presseEdit($fileCode, int $suppression) +{ + $page = "presse"; + $title = "La presse"; + $headerPaintedTitle = 'La Presse'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} +function livresEdit($fileCode, int $suppression) +{ + $page = "livres"; + $title = "Livres"; + $headerPaintedTitle = 'Dans les livres'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} +function jaimeEdit($fileCode, int $suppression) +{ + $page = "jaime"; + $title = "J'aime"; + $headerPaintedTitle = 'J\'aime'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} +function peintureEdit($fileCode, int $suppression) +{ + $page = "peinture"; + $title = "peinture"; + $headerPaintedTitle = 'Celtic Boats'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} +function archivesEdit($fileCode, int $suppression) +{ + $page = "archives"; + $title = "Archives"; + $headerPaintedTitle = 'Archives'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} +function legalEdit($fileCode, int $suppression) +{ + $page = "legal"; + $title = "Mentions légales"; + $headerPaintedTitle = 'Mentions légales'; + pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); +} + + // version sans JS (l'autre est dans ajax.php) function inversionPositions(string $page, $fileCode, string $class, int $direction) { diff --git a/controller/ckeditor.php b/controller/ckeditor.php index 3765261..7b4f1bb 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php @@ -31,6 +31,29 @@ function preparationCKeditor($html) return($html); } +// utilisée par submitCKeditor() +function getFileCodeFromHTTPReferrer(): string +{ + if(isset($_SERVER['HTTP_REFERER'])) + { + $referrer = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY); + $pattern = '#file_code=#'; + $split = preg_split($pattern, $referrer); + if(isset($split[1]) && is_numeric($split[1])) + { + return $split[1]; + } + else + { + return ''; + } + } + else + { + return ''; + } +} + // réception du HTML créé par l'éditeur function submitCKeditor() { @@ -66,11 +89,12 @@ function submitCKeditor() if($_GET['page'] === 'discographie' || $_GET['page'] === 'album') { $Album = new Album($_GET['page'], 'discographie'); + + $Album->fileCode = getFileCodeFromHTTPReferrer(); // on retrouve les données si nécessaire - if(isset($_SESSION['file_code']) && $_SESSION['file_code'] != '') + if($Album->fileCode != '') { - $Album->fileCode = $_SESSION['file_code']; $Album->readOne(); } @@ -87,7 +111,6 @@ function submitCKeditor() $Image->setThumbnailWidth(201); $nouvellePochette = $nomFichier; - /*$nouvellePochetteMini = pathinfo($_FILES['upload']['name'], PATHINFO_FILENAME) . '-mini.' . pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION);*/ $nouvellePochetteMini = pathinfo($nomFichier, PATHINFO_FILENAME) . '-mini.' . pathinfo($nomFichier, PATHINFO_EXTENSION); $Image->upload(); @@ -104,11 +127,9 @@ function submitCKeditor() $nouvellePochette = ''; $nouvellePochetteMini = ''; } - - //var_dump($nouvellePochetteMini); die(); // enregistrement du texte JSON - if(!isset($_SESSION['file_code']) || $_SESSION['file_code'] == '') + if($Album->fileCode === '') { // page disco $Album->createVignetteJSON($nouveauTitre, $nouvelleAnnee, $nouvellePochette, $nouvellePochetteMini); @@ -123,8 +144,6 @@ function submitCKeditor() // modification else { - $Album->albumCode = $_SESSION['file_code']; - // page disco $Album->format = 'json'; @@ -142,7 +161,9 @@ function submitCKeditor() { $Article = new Article($_GET['page'], $_GET['page']); - if(!isset($_SESSION['file_code']) || $_SESSION['file_code'] === '') + $Article->fileCode = getFileCodeFromHTTPReferrer(); + + if($Article->fileCode === '') { $Article->create($html); @@ -150,16 +171,12 @@ function submitCKeditor() } else { - $Article->fileCode = $_SESSION['file_code']; // erreur ici? $Article->update($html); // update html-mini } } - // nettoyage - unset($_SESSION['file_code']); - if($_GET['page'] === 'discographie' || $_GET['page'] === 'album') { if($html === '') diff --git a/index.php b/index.php index 1888704..2d86f58 100644 --- a/index.php +++ b/index.php @@ -47,10 +47,6 @@ if(isset($_SESSION['admin']) && $_SESSION['admin'] == 1 submitCKeditor(); } -else -{ - unset($_SESSION['file_code']); -} // déconnexion diff --git a/model/Album.php b/model/Album.php index 801afef..1954800 100644 --- a/model/Album.php +++ b/model/Album.php @@ -160,7 +160,7 @@ class Album extends Article $albumJSON = json_encode([$titre, $annee, $pochette, $pochetteMini]); // écriture - $nom_fichier = 'data/discographie/json/' . $this->albumCode . '.json'; + $nom_fichier = 'data/discographie/json/' . $this->fileCode . '.json'; $fichier = fopen($nom_fichier, 'w+'); // w pour créer ou écraser fputs($fichier, $albumJSON); fclose($fichier); diff --git a/model/Article.php b/model/Article.php index d94ba01..3eca127 100644 --- a/model/Article.php +++ b/model/Article.php @@ -17,8 +17,7 @@ class Article public $fileList; // = toutes les données // pour un article (ou album) spécifique - //public $fileName = ''; // = $_SESSION['nomFichier'] - public $fileCode = ''; // = $_SESSION['file_code'] + public $fileCode = ''; // = $_SERVER['HTTP_REFERER'] protected $time; // timestamp pour noms des fichiers créés public function __construct(string $page, string $folder) -- cgit v1.2.3