From 86c2a611e55c9e35384febecf34964e214c0296e Mon Sep 17 00:00:00 2001 From: polo Date: Thu, 22 Jul 2021 03:49:28 +0200 Subject: patch modifs --- model/Article.php | 11 ++++++----- model/melaine-read.php | 46 +++++++++++++++++++++++++++++----------------- model/melaine-write.php | 24 ++++++++++++++++-------- 3 files changed, 51 insertions(+), 30 deletions(-) (limited to 'model') diff --git a/model/Article.php b/model/Article.php index afcb1ca..aee4f5d 100644 --- a/model/Article.php +++ b/model/Article.php @@ -6,8 +6,9 @@ class Article private $page = ''; // page et donc dossier concerné private $croissant = True; // ordre des éléments du tableau $files private $files; // noms des fichiers d'un dossier - private $nbArticles; // peut servir - private $articles; // contenu de ces mêmes fichiers + private $oneFile; // correspond à $_SESSION['nomFichier'] + private $nbArticles; // un fichier = un article + private $articles; // contenu des fichiers private function getFiles() { @@ -45,7 +46,7 @@ class Article } // read - public function getNb() + public function getNumber() { return $this->nbArticles; } @@ -55,11 +56,11 @@ class Article public function getAll($croissant) { - $this->croissant = $croissant; - + $this->croissant = $croissant; // inversion de $files? getFiles(); $i = 0; + $articles = array(); foreach ($this->files as $file) { $articles[$i] = file_get_contents($file); diff --git a/model/melaine-read.php b/model/melaine-read.php index 801cd3c..7105acd 100644 --- a/model/melaine-read.php +++ b/model/melaine-read.php @@ -3,16 +3,33 @@ // // accès en lecture seule -function lireArticles($page_actuelle, $croissant) +// obtenir le nom du fichier de l'article qu'on modifie +function getFileName($page, $numArticle) +{ + $files = lireNomsFichiers($page); + $fileName = $files[$numArticle - 1]; + + return($fileName); +} + +function lireNomsFichiers($page) { // créer un tableau avec le nom des fichiers html - $files = glob('data/' . $page_actuelle . '/html/*.html'); + $files = glob('data/' . $page . '/html/*.html'); - // nombre de fichiers (= taille du tableau $files) - //$nombreDarticles = count($files); + return $files; +} - // tableau contenant tous les articles au format html - //$articles = [$nombreDarticles]; +function lireUnArticle($nomFichier) +// ce nom est le chemin complet, donc la page y figure +{ + return(file_get_contents($nomFichier)); +} + +function lireArticles($page, $croissant) +{ + // créer un tableau avec le nom des fichiers html + $files = lireNomsFichiers($page); // inverse l'ordre du tableau retourné if($croissant == False) @@ -20,23 +37,18 @@ function lireArticles($page_actuelle, $croissant) $files = array_reverse($files); } - // for ($i = 0 ; $i < $nombreDarticles ; $i++) - // { - // // les noms de fichiers commencent par 1 - // // les articles dans le tableau[] commencent par 0 - // $numero = $i + 1; - // $articles[$i] = file_get_contents('data/' . $page_actuelle . '/html/article' . $numero . '.html'); - // } $i = 0; - foreach ($files as $files) + $articles = array(); + foreach ($files as $oneFile) { - $articles[$i] = file_get_contents($files); + $articles[$i] = file_get_contents($oneFile); $i++; } + // nombre de fichiers (= taille du tableau $files) + //$nombreDarticles = count($files); //print_r($articles); - //var_dump($articles); - + return($articles); } diff --git a/model/melaine-write.php b/model/melaine-write.php index 642bf05..462d59e 100644 --- a/model/melaine-write.php +++ b/model/melaine-write.php @@ -3,22 +3,30 @@ // // accès en écriture pour créer ou modifier des articles + + function nouvelArticle($page, $contenuHTML) { - // manipulation du fichier - //$nom_fichier = 'article' . $article . '.html'; - $nom_fichier = time() . '.html'; - $fichier = fopen('data/' . $page . '/html/' . $nom_fichier, 'w'); // w peut créer un fichier, si il existe déjà, il est effacé par le nouveau contenu + // nommer les fichiers avec le timestamp + // pour les trier par ordre chronologique + // rendre impossible d'avoir deux fois le même nom (à la condition de gérer la "concurrence") + $nom_fichier = 'data/' . $_GET['page'] . '/html/' . time() . '.html'; + + $fichier = fopen($nom_fichier, 'w'); // w peut créer un fichier, si il existe déjà, il est effacé par le nouveau contenu fputs($fichier, $contenuHTML); fclose($fichier); - chmod('data/' . $page . '/html/' . $nom_fichier, 0666); + chmod($nom_fichier, 0666); } -function modifArticle($page, $nom_fichier, $contenuHTML) +function modifArticle($page, $nomFichier, $contenuHTML) { // manipulation du fichier - $fichier = fopen('data/' . $page . '/html/' . $nom_fichier, 'w'); // w peut créer un fichier, si il existe déjà, il est effacé par le nouveau contenu + //$fichier = fopen('data/' . $page . '/html/' . $nom_fichier, 'w'); + $fichier = fopen($nomFichier, 'w'); + // w peut créer un fichier, si il existe déjà, il est effacé par le nouveau contenu fputs($fichier, $contenuHTML); fclose($fichier); - chmod('data/' . $page . '/html/' . $nom_fichier, 0666); + //chmod('data/' . $page . '/html/' . $nom_fichier, 0666); + chown($nomFichier, 'http'); + chmod($nomFichier, 0666); } \ No newline at end of file -- cgit v1.2.3