From c0b176ae142624d6a6daa0f65ea6fead448b8b47 Mon Sep 17 00:00:00 2001 From: polo Date: Fri, 3 Mar 2023 23:44:43 +0100 Subject: inversion de positions --- controller/admin.php | 34 ++++++++++++++++++++------------- controller/ajax.php | 46 ++++++++++++++++++++++++++++++++++++++++++++- controller/installation.php | 24 ++++++++++++++--------- controller/password.php | 2 +- controller/visitor.php | 2 +- 5 files changed, 83 insertions(+), 25 deletions(-) (limited to 'controller') diff --git a/controller/admin.php b/controller/admin.php index 93d1900..845fab1 100644 --- a/controller/admin.php +++ b/controller/admin.php @@ -33,16 +33,14 @@ function pageArticlesSimplesAdmin(string $page, string $title, string $headerPai $Articles->fileCode = $fileCode; $_SESSION['target'] = $Articles->fileCode; - // suppression if($suppression) { $Articles->delete(); - // redirection immédiate avant affichage + // c'est fait, on recharge header('Location: index.php?page=' . $page); exit(); } - // modification else { $title = "Modifier un article"; @@ -91,7 +89,7 @@ function pageArticlesSimplesAdmin(string $page, string $title, string $headerPai } // un article (= actualité) -function menuEdit($fileCode, $suppression) +function menuEdit($fileCode, int $suppression) { $page = "menu"; $title = "Melaine Favennec - menu BD"; @@ -100,56 +98,56 @@ function menuEdit($fileCode, $suppression) } // plusieurs articles -function melaineEdit($fileCode, $suppression) +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, $suppression) +function musiqueEdit($fileCode, int $suppression) { $page = "musique"; $title = "Musique"; $headerPaintedTitle = 'Musique'; pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); } -function presseEdit($fileCode, $suppression) +function presseEdit($fileCode, int $suppression) { $page = "presse"; $title = "La presse"; $headerPaintedTitle = 'La Presse'; pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); } -function livresEdit($fileCode, $suppression) +function livresEdit($fileCode, int $suppression) { $page = "livres"; $title = "Livres"; $headerPaintedTitle = 'Dans les livres'; pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); } -function jaimeEdit($fileCode, $suppression) +function jaimeEdit($fileCode, int $suppression) { $page = "jaime"; $title = "J'aime"; $headerPaintedTitle = 'J\'aime'; pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); } -function peintureEdit($fileCode, $suppression) +function peintureEdit($fileCode, int $suppression) { $page = "peinture"; $title = "peinture"; $headerPaintedTitle = 'Celtic Boats'; pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); } -function archivesEdit($fileCode, $suppression) +function archivesEdit($fileCode, int $suppression) { $page = "archives"; $title = "Archives"; $headerPaintedTitle = 'Archives'; pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression); } -function legalEdit($fileCode, $suppression) +function legalEdit($fileCode, int $suppression) { $page = "legal"; $title = "Mentions légales"; @@ -159,7 +157,7 @@ function legalEdit($fileCode, $suppression) // page plus complexe que les autres -function discoEdit($fileCode, $suppression) +function discoEdit($fileCode, int $suppression) { $page = "discographie"; $title = "Discographie"; @@ -270,3 +268,13 @@ function discoEdit($fileCode, $suppression) // fin de l'assemblage require('view/template.php'); } + + +// version sans JS (l'autre est dans ajax.php) +function inversionPositions(string $page, $fileCode, string $class, int $direction) +{ + $Object = new $class($page); + $Object->fileCode = $fileCode; + // direction: 1 = monter, -1 = descendre + $Object->inversionPositions($direction); +} \ No newline at end of file diff --git a/controller/ajax.php b/controller/ajax.php index 24710d8..188b01f 100644 --- a/controller/ajax.php +++ b/controller/ajax.php @@ -1,7 +1,9 @@ insertion d'une image dans l'éditeur if(isset($_GET['action']) && isset($_GET['page']) && $_GET['action'] == 'upload_image') { @@ -30,6 +32,48 @@ if(isset($_GET['action']) && isset($_GET['page']) && $_GET['action'] == 'upload_ } +// inversion des positions de deux éléments d'une page +/*if(isset($_GET['action']) && isset($_GET['page']) && ($_GET['action'] == 'monter' || $_GET['action'] == 'descendre') && isset($_GET['file_code']) && !empty($_GET['file_code'])) +{ + // sécurité !! + if(!isset($_SESSION['admin']) || $_SESSION['admin'] != 1) + { + header('Location: index.php?erreur=interdit'); + } + else + { + require('controller/admin.php'); + require('model/Article.php'); + + $pagesArticlesSimples = ['menu', 'melaine', 'musique', 'presse', 'livres', 'jaime', 'peinture', 'archives', 'legal']; + $sens = 0; + + if($_GET['action'] == 'monter') + { + $sens = 1; + } + if($_GET['action'] == 'descendre') + { + $sens = 0; + } + + if(in_array($_GET['page'], $pagesArticlesSimples)) + { + // 1 pour monter + inversionPositions($_GET['page'], $_GET['file_code'], 'Article', $sens); + } + elseif($_GET['page'] == 'discographie') + { + require('model/Album.php'); + + // 1 pour monter + inversionPositions($_GET['page'], $_GET['file_code'], 'Album', $sens); + } + } + exit(); // stop !! +}*/ + + // page restauration quand le fichier zip est lourd // -> input file onchange if(isset($_GET['action']) && $_GET['action'] == 'restauration' diff --git a/controller/installation.php b/controller/installation.php index 5aa5ac9..2e4e1c3 100644 --- a/controller/installation.php +++ b/controller/installation.php @@ -32,8 +32,8 @@ function installation() // - créer le dossier data à la racine du site // - lui donner les droits du dossier data pour 777 - // valeur en octal - $droitsDossiers = 0777; // mettre 0755 en production + // droits en octal + $droitsDossiers = 0777; $droitsFichiers = 0666; if(!file_exists('data') && !mkdir('data')) @@ -68,16 +68,22 @@ function installation() { createIndexPHP('data/' . $page . '/index.php', $droitsFichiers); } - foreach ($sousDossiers as $dossier) + if(!file_exists('data/' . $page . '/positions.json')) { - if(!file_exists('data/' . $page . '/' . $dossier)) + // création de fichiers VIDES (gestion par le modèle) + touch('data/' . $page . '/positions.json'); + chmod('data/' . $page . '/positions.json', $droitsFichiers); + } + foreach ($sousDossiers as $sousDossier) + { + if(!file_exists('data/' . $page . '/' . $sousDossier)) { - mkdir('data/' . $page . '/' . $dossier); - chmod('data/' . $page . '/' . $dossier, $droitsDossiers); + mkdir('data/' . $page . '/' . $sousDossier); + chmod('data/' . $page . '/' . $sousDossier, $droitsDossiers); } - if(!file_exists('data/' . $page . '/' . $dossier . '/index.php')) + if(!file_exists('data/' . $page . '/' . $sousDossier . '/index.php')) { - createIndexPHP('data/' . $page . '/' . $dossier . '/index.php', $droitsFichiers); + createIndexPHP('data/' . $page . '/' . $sousDossier . '/index.php', $droitsFichiers); } } // if(!file_exists('data/' . $page . '/multimedia')) @@ -87,7 +93,7 @@ function installation() // } } - // dossier supplémentaire dans discographie + // dossier "json" dans discographie if(!file_exists('data/discographie/json')) { mkdir('data/discographie/json'); diff --git a/controller/password.php b/controller/password.php index 9d9b45b..efc8975 100644 --- a/controller/password.php +++ b/controller/password.php @@ -1,7 +1,7 @@ fileList['content'] $Articles->readAll(); + // lourd? $Articles->fileList = array_reverse($Articles->fileList); - //var_dump($Articles->fileList[0]); } // Assemblage -- cgit v1.2.3