From 0d2fd7a0a53c527d3f6f112a149960a52c1082e1 Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 10 Aug 2021 02:11:20 +0200 Subject: disco --- model/Article.php | 92 ------------------------- model/Classes.php | 176 ++++++++++++++++++++++++++++++++++++++++++++++++ model/melaine-read.php | 59 ---------------- model/melaine-write.php | 32 --------- 4 files changed, 176 insertions(+), 183 deletions(-) delete mode 100644 model/Article.php create mode 100644 model/Classes.php delete mode 100644 model/melaine-read.php delete mode 100644 model/melaine-write.php (limited to 'model') diff --git a/model/Article.php b/model/Article.php deleted file mode 100644 index aee4f5d..0000000 --- a/model/Article.php +++ /dev/null @@ -1,92 +0,0 @@ -page == '') - { - die("debug: la méthode setPage() doit être appelée avant toute autre."); - } - - $this->files = glob('data/' . $this->page . '/html/*.html'); - - if($croissant == False) - { - $files = array_reverse($files); - } - - $this->nbArticles = count($this->files); - } - - // fonctions CRUD (create - read - update - delete) - // ce sont les 4 opérations de base qu'un programme doit permettre pour être complet - - // create - public function create($content) - { - if($this->page == '') - { - die("debug: la méthode setPage() doit être appelée avant toute autre."); - } - - $nom_fichier = time() . '.html'; - $fichier = fopen('data/' . $this->page . '/html/' . $nom_fichier, 'w'); // w peut créer un fichier, si il existe déjà, il est effacé par le nouveau contenu - fputs($fichier, $content); - fclose($fichier); - chmod('data/' . $this->page . '/html/' . $nom_fichier, 0666); - } - - // read - public function getNumber() - { - return $this->nbArticles; - } - - public function getOne() - {} - - public function getAll($croissant) - { - $this->croissant = $croissant; // inversion de $files? - getFiles(); - - $i = 0; - $articles = array(); - foreach ($this->files as $file) - { - $articles[$i] = file_get_contents($file); - $i++; - } - - return $articles; - } - - public function getDate($fileNumber) - { - // le 2è paramètre exclut le suffixe .html - $timestamp = basename($this->files[$fileNumber], '.html'); - return getdate($timestamp); - } - - // update - public function update() - {} - - public function setPage($page) - { - $this->page = $page; - } - - // delete - public function delete() - {} -} diff --git a/model/Classes.php b/model/Classes.php new file mode 100644 index 0000000..d940e53 --- /dev/null +++ b/model/Classes.php @@ -0,0 +1,176 @@ +page = $page; + } + + //public function setAscending($croissant) + //{ + // $this->Ascending = $croissant; + //} + + public function findFileName($numArticle) + { + $this->fileName = $this->files[$numArticle - 1]; + } + + public function setFileName($nomFichier) + { + $this->fileName = $nomFichier; + } + + // GET + public function getPage() + { + return($this->page); + } + + public function getFileName() + { + return($this->fileName); + } + + public function nbArticles() + { + return($this->nbArticles); + } + + + // tableau des noms des articles + public function getFiles() + { + if($this->page == '') + { + die("debug: la méthode setPage() doit être appelée avant toute autre."); + } + + $this->files = glob('data/' . $this->page . '/html/*.html'); + + //$this->nbArticles = count($this->files); + } + + // ordre du tableau des noms de fichiers + public function reverseFilesArray() + { + $this->files = array_reverse($this->files); + } + + + // fonctions CRUD (create - read - update - delete) + // ce sont les 4 opérations de base qu'un programme doit permettre pour être complet + + // create + public function create($content) + { + if($this->page == '') + { + die("debug: la méthode setPage() doit être appelée avant toute autre."); + } + + // nommer les fichiers avec le timestamp + // - trie par ordre chronologique + // - rendre quasi impossible d'avoir deux fois le même nom (à la condition de gérer la "concurrence") + $nom_fichier = 'data/' . $this->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, $content); + fclose($fichier); + chmod($nom_fichier, 0666); + } + + // read + public function getNumber() + { + return $this->nbArticles; + } + + public function getOne() + { + return(file_get_contents($this->fileName)); + } + + public function getAll() + { + //$this->getFiles(); + + $i = 0; + $articles = array(); + foreach ($this->files as $file) + { + $articles[$i] = file_get_contents($file); + $i++; + } + + //print_r($articles); + return $articles; + } + + public function getDate($fileNumber) + { + // le 2è paramètre exclut le suffixe .html + $timestamp = basename($this->files[$fileNumber], '.html'); + return getdate($timestamp); + } + + // update + public function update($content) + { + $file = fopen($this->fileName, 'w'); + // w peut créer un fichier, si il existe déjà, il est effacé par le nouveau contenu + fputs($file, $content); + fclose($file); + //chown($this->fileName, 'http'); + chmod($this->fileName, 0666); + } + + // delete + public function delete() + { + unlink($this->fileName); + } +} + +// note: les pros font de l'hydration +// le code du modèle est orienté objet et "refactorisé" d'une manière précise: +// on utilise un objet pour une chose (des articles, commentaires, etc), +// un objet article contiendrait ainsi tout le nécessaire pour lire, écrire ou modifier un article +// il y a pour ça un programme appelé "doctrine" (inclu dans symphony) qui est capable de lire une base de données et d'en écrire les objets PHP + +class AlbumsManager extends ArticlesManager +{ + // variables + + // SET + + // GET + + // fonctions CRUD + + // create + public function create() + {} + + // read + public function read() + {} + + // update + public function update() + {} + + // delete + public function delete() + {} +} \ No newline at end of file diff --git a/model/melaine-read.php b/model/melaine-read.php deleted file mode 100644 index 7105acd..0000000 --- a/model/melaine-read.php +++ /dev/null @@ -1,59 +0,0 @@ -