From a47fe7f5d16f598916b0b6095bd41085bcb03b64 Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 20 Jul 2022 02:32:22 +0200 Subject: miniatures articles 2 --- model/Album.php | 6 +----- model/Article.php | 60 +++++++++++++++++++++++++++++++++++++++++++------------ model/Image.php | 6 +----- 3 files changed, 49 insertions(+), 23 deletions(-) (limited to 'model') diff --git a/model/Album.php b/model/Album.php index 95dac50..b4b7afe 100644 --- a/model/Album.php +++ b/model/Album.php @@ -57,14 +57,10 @@ class Album extends Article if(!empty($erreur)) {} } - - // encodage avec un tableau simple + $albumJSON = json_encode([$titre, $annee, $pochette, $pochetteMini]); //var_dump($albumJSON); die(); - // encodage avec un tableau associatif - //$albumJSON = json_encode(['titre' => $titre, 'annee' => $annee,'pochette' => $pochette]); - $nom_fichier = 'data/' . $this->page . '/' . $this->format . '/' . $this->time . '.' . $this->format; $fichier = fopen($nom_fichier, 'w'); // w pour créer ou écraser diff --git a/model/Article.php b/model/Article.php index f9c5b89..bad6948 100644 --- a/model/Article.php +++ b/model/Article.php @@ -49,33 +49,47 @@ class Article //var_dump($this->fileList); die(); } + private function makeHtmlMiniImages($content) + { + return $content; + } + // GET // SET - /*public function setFileName() - { - if(file_exists('data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format)) - { - $this->fileName = 'data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format; - } - }*/ // fonctions CRUD (create - read - update - delete) // create public function create($content) { - //$format = 'html'; - + // $format dépend de la classe qui a été instanciée + // nommer les fichiers avec le timestamp pour: // - les trier par ordre chronologique // - rendre quasi impossible d'avoir deux fois le même nom - $fileName = 'data/' . $this->page . '/' . $this->format . '/' . $this->time . '.' . $this->format; + if($this->format == 'html') + { + // html version images normales + $contentMaxi = $content; + $fileName = 'data/' . $this->page . '/' . $this->format . '-maxi-images/' . $this->time . '.' . $this->format; + $file = fopen($fileName, 'w'); // w pour créer ou écraser + fputs($file, $contentMaxi); + fclose($file); + chmod($fileName, 0666); + + // html version petites images + $content = self::makeHtmlMiniImages($content); + } + + $fileName = 'data/' . $this->page . '/' . $this->format . '/' . $this->time . '.' . $this->format; $file = fopen($fileName, 'w'); // w pour créer ou écraser fputs($file, $content); fclose($file); chmod($fileName, 0666); + + } // read @@ -96,8 +110,29 @@ class Article // update public function update($content) { + if($this->format == 'html') + { + // html version images normales + $contentMaxi = $content; + $fileName = 'data/' . $this->page . '/' . $this->format . '-maxi-images/' . $this->fileCode . '.' . $this->format; + if(file_exists($fileName) && empty($content)) + { + $this->delete(); + } + elseif(!empty($content)) + { + $file = fopen($fileName, 'w'); // w pour créer ou écraser + fputs($file, $contentMaxi); + fclose($file); + chmod($fileName, 0666); + } + + // html version petites images + $content = self::makeHtmlMiniImages($content); + } + + // json ou html version petites images $fileName = 'data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format; - //var_dump(file_get_contents($fileName)); die(); if(file_exists($fileName) && empty($content)) { $this->delete(); @@ -107,8 +142,7 @@ class Article $file = fopen($fileName, 'w'); // w pour créer ou écraser fputs($file, $content); fclose($file); - //chown($this->fileName, 'http'); - chmod($fileName, 0666); + chmod($fileName, 0666); } } diff --git a/model/Image.php b/model/Image.php index 61f25c6..1cc0e22 100644 --- a/model/Image.php +++ b/model/Image.php @@ -67,7 +67,7 @@ class Image if($imageLibrary == 'imagick') { $Image = new Imagick($this->path . $_FILES['upload']['name']); - + $source = $Image->getImageGeometry(); if($source['width'] > $largeur) { @@ -82,17 +82,13 @@ class Image { // cette fonction fonctionne pour tous les formats $source = imagecreatefromstring(file_get_contents($this->path . $_FILES['upload']['name'])); - $nomMiniImage = $this->pathMini . $this->pathInfos['filename'] . '-mini.jpg'; - $forme = imagesy($source) / imagesx($source); - var_dump($forme); if(imagesx($source) > $largeur) { // créer un rectangle noir $destination = imagecreatetruecolor($largeur, $largeur * $forme); - //var_dump($destination); // sélectionne un rectangle dans l'image source // et le place dans un rectangle dans la nouvelle -- cgit v1.2.3