From a47fe7f5d16f598916b0b6095bd41085bcb03b64 Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 20 Jul 2022 02:32:22 +0200 Subject: miniatures articles 2 --- controller/ajax.php | 4 +- controller/installation.php | 51 +++++++----------------- model/Album.php | 6 +-- model/Article.php | 60 ++++++++++++++++++++++------- model/Image.php | 6 +-- "\303\240 faire apr\303\250s livraison.txt" | 8 +++- 6 files changed, 73 insertions(+), 62 deletions(-) diff --git a/controller/ajax.php b/controller/ajax.php index 13f5c08..24710d8 100644 --- a/controller/ajax.php +++ b/controller/ajax.php @@ -18,7 +18,9 @@ if(isset($_GET['action']) && isset($_GET['page']) && $_GET['action'] == 'upload_ // paramètre "true" parce qu'on reçoit une requête AJAX $Image = new Image(true); $Image->upload(); + echo($Image->reponseAjax); // attendu par l'éditeur + // attention ici aux var_dump() ou echo() qui trainent $Image->makeThumbnail(630); // => taille de la
// on pourra l'agrandir en cliquant dessus @@ -42,7 +44,7 @@ if(isset($_GET['action']) && $_GET['action'] == 'restauration' $_SESSION['fileSize'] = $_GET['file_size']; $_SESSION['fileName'] = $_GET['file_name']; //echo("file infos send"); - var_dump($_SESSION['fileName']); + //var_dump($_SESSION['fileName']); exit(); // stop !! } } diff --git a/controller/installation.php b/controller/installation.php index 3745189..6ae35e7 100644 --- a/controller/installation.php +++ b/controller/installation.php @@ -50,13 +50,13 @@ function installation() require('view/backup.php'); exit(); } - if(!file_exists('data/index.php')) { createIndexPHP('data/index.php', $droitsFichiers); } $listePages = array('menu', 'melaine', 'musique', 'discographie', 'presse', 'jaime', 'peinture', 'archives', 'legal'); + $sousDossiers = array('html', 'html-maxi-images', 'images', 'images-mini'); foreach ($listePages as $page) { if(!file_exists('data/' . $page)) @@ -68,41 +68,17 @@ function installation() { createIndexPHP('data/' . $page . '/index.php', $droitsFichiers); } - if(!file_exists('data/' . $page . '/html')) - { - mkdir('data/' . $page . '/html'); - chmod('data/' . $page . '/html', $droitsDossiers); - } - if(!file_exists('data/' . $page . '/html/index.php')) - { - createIndexPHP('data/' . $page . '/html/index.php', $droitsFichiers); - } - if(!file_exists('data/' . $page . '/html-mini-images')) - { - mkdir('data/' . $page . '/html-mini-images'); - chmod('data/' . $page . '/html-mini-images', $droitsDossiers); - } - if(!file_exists('data/' . $page . '/html-mini-images/index.php')) - { - createIndexPHP('data/' . $page . '/html-mini-images/index.php', $droitsFichiers); - } - if(!file_exists('data/' . $page . '/images')) + foreach ($sousDossiers as $dossier) { - mkdir('data/' . $page . '/images'); - chmod('data/' . $page . '/images', $droitsDossiers); - } - if(!file_exists('data/' . $page . '/images/index.php')) - { - createIndexPHP('data/' . $page . '/images/index.php', $droitsFichiers); - } - if(!file_exists('data/' . $page . '/images-mini')) - { - mkdir('data/' . $page . '/images-mini'); - chmod('data/' . $page . '/images-mini', $droitsDossiers); - } - if(!file_exists('data/' . $page . '/images-mini/index.html')) - { - createIndexPHP('data/' . $page . '/images-mini/index.php', $droitsFichiers); + if(!file_exists('data/' . $page . '/' . $dossier)) + { + mkdir('data/' . $page . '/' . $dossier); + chmod('data/' . $page . '/' . $dossier, $droitsDossiers); + } + if(!file_exists('data/' . $page . '/' . $dossier . '/index.php')) + { + createIndexPHP('data/' . $page . '/' . $dossier . '/index.php', $droitsFichiers); + } } // if(!file_exists('data/' . $page . '/multimedia')) // { @@ -110,7 +86,8 @@ function installation() // chmod('data/' . $page . '/multimedia', 0777); // } } - // dossiers supplémentaires dans discographie + + // dossier supplémentaire dans discographie if(!file_exists('data/discographie/json')) { mkdir('data/discographie/json'); @@ -120,6 +97,7 @@ function installation() { createIndexPHP('data/discographie/json/index.php', $droitsFichiers); } + // fichiers temporaires pour upload des grosses archives if(!file_exists('data/tmp')) { @@ -130,7 +108,6 @@ function installation() { createIndexPHP('data/tmp/index.php', $droitsFichiers); } - // le modèle donnera les droits 0666 (octal) aux nouveaux fichiers à l'intérieur des dossiers // créer le melainePHP.zip if(!file_exists("data/melainePHP.zip")) 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 diff --git "a/\303\240 faire apr\303\250s livraison.txt" "b/\303\240 faire apr\303\250s livraison.txt" index 965d456..1617552 100644 --- "a/\303\240 faire apr\303\250s livraison.txt" +++ "b/\303\240 faire apr\303\250s livraison.txt" @@ -1,4 +1,10 @@ -créer page peinture +déplacer les livres + +images des articles en grand et miniature + +bouton partage et lien d'encre sur tous les articles + +créer galerie page peinture hyperlien avec liens relatifs (par exemple dans emoi des mots) -- cgit v1.2.3