diff options
| author | polo <ordipolo@gmx.fr> | 2022-07-19 13:43:33 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2022-07-19 13:43:33 +0200 |
| commit | 66ee0f5f5416aed9f7a7264f18ae6bdf4c8ed50f (patch) | |
| tree | 6ac70ed4c4df9b60ef19b0f720ff04ddbde6ef8f | |
| parent | ed5df18ed28a338ecd763e6492991ccbf5e23eb0 (diff) | |
| download | melaine-66ee0f5f5416aed9f7a7264f18ae6bdf4c8ed50f.tar.gz melaine-66ee0f5f5416aed9f7a7264f18ae6bdf4c8ed50f.tar.bz2 melaine-66ee0f5f5416aed9f7a7264f18ae6bdf4c8ed50f.zip | |
miniatures articles 1
| -rw-r--r-- | controller/ajax.php | 7 | ||||
| -rw-r--r-- | controller/ckeditor.php | 20 | ||||
| -rw-r--r-- | controller/installation.php | 9 | ||||
| -rw-r--r-- | model/Article.php | 29 | ||||
| -rw-r--r-- | model/Image.php | 10 | ||||
| -rw-r--r-- | public/css/menu.css | 32 | ||||
| -rw-r--r-- | view/articlesContent.php | 20 |
7 files changed, 74 insertions, 53 deletions
diff --git a/controller/ajax.php b/controller/ajax.php index 489e814..13f5c08 100644 --- a/controller/ajax.php +++ b/controller/ajax.php | |||
| @@ -19,10 +19,15 @@ if(isset($_GET['action']) && isset($_GET['page']) && $_GET['action'] == 'upload_ | |||
| 19 | $Image = new Image(true); | 19 | $Image = new Image(true); |
| 20 | $Image->upload(); | 20 | $Image->upload(); |
| 21 | echo($Image->reponseAjax); // attendu par l'éditeur | 21 | echo($Image->reponseAjax); // attendu par l'éditeur |
| 22 | |||
| 23 | $Image->makeThumbnail(630); // => taille de la <div> | ||
| 24 | // on pourra l'agrandir en cliquant dessus | ||
| 25 | // code exécuté alors que l'utilisateur récupère la main | ||
| 22 | } | 26 | } |
| 23 | exit; // stop !! | 27 | exit(); // stop !! |
| 24 | } | 28 | } |
| 25 | 29 | ||
| 30 | |||
| 26 | // page restauration quand le fichier zip est lourd | 31 | // page restauration quand le fichier zip est lourd |
| 27 | // -> input file onchange | 32 | // -> input file onchange |
| 28 | if(isset($_GET['action']) && $_GET['action'] == 'restauration' | 33 | if(isset($_GET['action']) && $_GET['action'] == 'restauration' |
diff --git a/controller/ckeditor.php b/controller/ckeditor.php index 43fd2e2..3e14494 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php | |||
| @@ -34,12 +34,10 @@ function preparationCKeditor($html) | |||
| 34 | // réception du HTML créé par l'éditeur | 34 | // réception du HTML créé par l'éditeur |
| 35 | function submitCKeditor() | 35 | function submitCKeditor() |
| 36 | { | 36 | { |
| 37 | $page = $_GET['page']; | ||
| 38 | |||
| 39 | // déjà fait mais on ne sait jamais | 37 | // déjà fait mais on ne sait jamais |
| 40 | if(!isset($_SESSION['admin']) || $_SESSION['admin'] != 1) | 38 | if(!isset($_SESSION['admin']) || $_SESSION['admin'] != 1) |
| 41 | { | 39 | { |
| 42 | header('Location: index.php?page=' . $page . '&erreur=connexion'); | 40 | header('Location: index.php?page=' . $_GET['page'] . '&erreur=connexion'); |
| 43 | exit(); | 41 | exit(); |
| 44 | } | 42 | } |
| 45 | 43 | ||
| @@ -56,32 +54,36 @@ function submitCKeditor() | |||
| 56 | //$contenu = mediaSubmit($contenu); | 54 | //$contenu = mediaSubmit($contenu); |
| 57 | 55 | ||
| 58 | // ne pas continuer si la variable est vide (javascript mal supporté ou utilisation de IE, bug?, erreur de l'utilisateur), risque perte de contenu !! | 56 | // ne pas continuer si la variable est vide (javascript mal supporté ou utilisation de IE, bug?, erreur de l'utilisateur), risque perte de contenu !! |
| 59 | if($page != 'discographie' && $contenu == '') | 57 | if($_GET['page'] != 'discographie' && $contenu == '') |
| 60 | { | 58 | { |
| 61 | header('Location: index.php?page=' . $page . '&erreur=contenu_vide'); | 59 | header('Location: index.php?page=' . $_GET['page'] . '&erreur=contenu_vide'); |
| 62 | exit(); | 60 | exit(); |
| 63 | } | 61 | } |
| 64 | } | 62 | } |
| 65 | 63 | ||
| 66 | // pages avec des articles simples (melaine...) | 64 | // pages avec des articles simples (melaine...) |
| 67 | if($page != 'discographie') | 65 | if($_GET['page'] != 'discographie') |
| 68 | { | 66 | { |
| 69 | $Article = new Article($page); | 67 | $Article = new Article($_GET['page']); |
| 70 | 68 | ||
| 71 | if(!isset($_SESSION['target']) || $_SESSION['target'] == '') | 69 | if(!isset($_SESSION['target']) || $_SESSION['target'] == '') |
| 72 | { | 70 | { |
| 73 | $Article->create($contenu); | 71 | $Article->create($contenu); |
| 72 | |||
| 73 | // create html-mini | ||
| 74 | } | 74 | } |
| 75 | else | 75 | else |
| 76 | { | 76 | { |
| 77 | $Article->fileCode = $_SESSION['target']; // erreur ici? | 77 | $Article->fileCode = $_SESSION['target']; // erreur ici? |
| 78 | $Article->update($contenu); | 78 | $Article->update($contenu); |
| 79 | |||
| 80 | // update html-mini | ||
| 79 | } | 81 | } |
| 80 | } | 82 | } |
| 81 | // page discographie | 83 | // page discographie |
| 82 | else if($page == 'discographie') | 84 | else if($_GET['page'] == 'discographie') |
| 83 | { | 85 | { |
| 84 | $Album = new Album($page); | 86 | $Album = new Album($_GET['page']); |
| 85 | 87 | ||
| 86 | // on retrouve les données si nécessaire | 88 | // on retrouve les données si nécessaire |
| 87 | if(isset($_SESSION['target']) && $_SESSION['target'] != '') | 89 | if(isset($_SESSION['target']) && $_SESSION['target'] != '') |
diff --git a/controller/installation.php b/controller/installation.php index b2a687c..3745189 100644 --- a/controller/installation.php +++ b/controller/installation.php | |||
| @@ -77,6 +77,15 @@ function installation() | |||
| 77 | { | 77 | { |
| 78 | createIndexPHP('data/' . $page . '/html/index.php', $droitsFichiers); | 78 | createIndexPHP('data/' . $page . '/html/index.php', $droitsFichiers); |
| 79 | } | 79 | } |
| 80 | if(!file_exists('data/' . $page . '/html-mini-images')) | ||
| 81 | { | ||
| 82 | mkdir('data/' . $page . '/html-mini-images'); | ||
| 83 | chmod('data/' . $page . '/html-mini-images', $droitsDossiers); | ||
| 84 | } | ||
| 85 | if(!file_exists('data/' . $page . '/html-mini-images/index.php')) | ||
| 86 | { | ||
| 87 | createIndexPHP('data/' . $page . '/html-mini-images/index.php', $droitsFichiers); | ||
| 88 | } | ||
| 80 | if(!file_exists('data/' . $page . '/images')) | 89 | if(!file_exists('data/' . $page . '/images')) |
| 81 | { | 90 | { |
| 82 | mkdir('data/' . $page . '/images'); | 91 | mkdir('data/' . $page . '/images'); |
diff --git a/model/Article.php b/model/Article.php index 4063feb..f9c5b89 100644 --- a/model/Article.php +++ b/model/Article.php | |||
| @@ -1,27 +1,9 @@ | |||
| 1 | <?php | 1 | <?php |
| 2 | // model/Article.php | 2 | // model/Article.php |
| 3 | 3 | ||
| 4 | // structure de données de la variable $fileList | 4 | // éventuellement: utiliser une classe structure de données |
| 5 | // on a 3 possibilités (on prendra la 3ème): | 5 | // accesssible avec des GET et des SET |
| 6 | 6 | // à voir alors si on utilise des variables statiques | |
| 7 | // - un tableau simple contenant des tableaux associatifs (avec des index façon BDD) | ||
| 8 | // $fileList[0] => [$fileCode => 'code', $fileName => 'nom, $content => 'contenu'], | ||
| 9 | |||
| 10 | // - un tableau associatif contenant des tableaux simples | ||
| 11 | // les catégories sont au premier niveau | ||
| 12 | // mauvaise idée, risque de croiser les fichiers | ||
| 13 | // $fileList['fileCode'] => [$fileCode1, $fileCode2] | ||
| 14 | // $fileList['fileName'] => [$fileName1, $fileName2], etc | ||
| 15 | |||
| 16 | // - un tableau associatif contenant des tableaux associatifs | ||
| 17 | // les catégories sont au deuxième niveau | ||
| 18 | // $fileList[$fileCode] => [$fileName => 'code', $content => 'contenu'], etc | ||
| 19 | |||
| 20 | |||
| 21 | // ma struture est mauvaise, elle n'est pas très orientée objet | ||
| 22 | // créer une classe structure de données | ||
| 23 | // celle-ci sera instanciée dans la première (ou pas du tout) | ||
| 24 | // et accesssible avec des GET et des SET | ||
| 25 | 7 | ||
| 26 | 8 | ||
| 27 | class Article | 9 | class Article |
| @@ -70,13 +52,13 @@ class Article | |||
| 70 | // GET | 52 | // GET |
| 71 | 53 | ||
| 72 | // SET | 54 | // SET |
| 73 | public function setFileName() | 55 | /*public function setFileName() |
| 74 | { | 56 | { |
| 75 | if(file_exists('data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format)) | 57 | if(file_exists('data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format)) |
| 76 | { | 58 | { |
| 77 | $this->fileName = 'data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format; | 59 | $this->fileName = 'data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format; |
| 78 | } | 60 | } |
| 79 | } | 61 | }*/ |
| 80 | 62 | ||
| 81 | // fonctions CRUD (create - read - update - delete) | 63 | // fonctions CRUD (create - read - update - delete) |
| 82 | 64 | ||
| @@ -103,6 +85,7 @@ class Article | |||
| 103 | { | 85 | { |
| 104 | $this->fileList[$i]['content'] = file_get_contents($this->fileList[$i]['fileName']); | 86 | $this->fileList[$i]['content'] = file_get_contents($this->fileList[$i]['fileName']); |
| 105 | } | 87 | } |
| 88 | //var_dump($this->fileList); die(); | ||
| 106 | } | 89 | } |
| 107 | public function readOne() | 90 | public function readOne() |
| 108 | { | 91 | { |
diff --git a/model/Image.php b/model/Image.php index 59665e9..61f25c6 100644 --- a/model/Image.php +++ b/model/Image.php | |||
| @@ -67,8 +67,14 @@ class Image | |||
| 67 | if($imageLibrary == 'imagick') | 67 | if($imageLibrary == 'imagick') |
| 68 | { | 68 | { |
| 69 | $Image = new Imagick($this->path . $_FILES['upload']['name']); | 69 | $Image = new Imagick($this->path . $_FILES['upload']['name']); |
| 70 | // 0 signifie qu'on conserve les proportions | 70 | |
| 71 | $Image->thumbnailImage($largeur, 0); | 71 | $source = $Image->getImageGeometry(); |
| 72 | if($source['width'] > $largeur) | ||
| 73 | { | ||
| 74 | // 0 signifie qu'on conserve les proportions | ||
| 75 | $Image->thumbnailImage($largeur, 0); | ||
| 76 | } | ||
| 77 | |||
| 72 | // écriture dans un fichier | 78 | // écriture dans un fichier |
| 73 | $Image->writeImage($this->pathMini . $this->pathInfos['filename'] . '-mini.' . $this->pathInfos['extension']); | 79 | $Image->writeImage($this->pathMini . $this->pathInfos['filename'] . '-mini.' . $this->pathInfos['extension']); |
| 74 | } | 80 | } |
diff --git a/public/css/menu.css b/public/css/menu.css index 559a594..28cba08 100644 --- a/public/css/menu.css +++ b/public/css/menu.css | |||
| @@ -27,9 +27,10 @@ header h3 | |||
| 27 | text-align: center; | 27 | text-align: center; |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | .articleActu > *:not(.boutonArticle) | 30 | /*.articleActu > *:not(.boutonArticle)*/ |
| 31 | .articleActu | ||
| 31 | { | 32 | { |
| 32 | max-width: 50%; | 33 | /*max-width: 50%;*/ |
| 33 | margin: auto; | 34 | margin: auto; |
| 34 | } | 35 | } |
| 35 | 36 | ||
| @@ -75,6 +76,11 @@ header h3 | |||
| 75 | background-image: url("../mouette.png"); | 76 | background-image: url("../mouette.png"); |
| 76 | } | 77 | } |
| 77 | 78 | ||
| 79 | .articleActu | ||
| 80 | { | ||
| 81 | max-width: 50%; | ||
| 82 | } | ||
| 83 | |||
| 78 | #contenu | 84 | #contenu |
| 79 | { | 85 | { |
| 80 | position: relative; | 86 | position: relative; |
| @@ -86,8 +92,8 @@ header h3 | |||
| 86 | height: 588px; | 92 | height: 588px; |
| 87 | } | 93 | } |
| 88 | 94 | ||
| 89 | /* pour IE, | 95 | /* pour IE, indique la bonne taille du bloc |
| 90 | indique la bonne taille du bloc pour que la colonne 2 se place correctement */ | 96 | pour que la colonne 2 se place correctement */ |
| 91 | #colonne1 | 97 | #colonne1 |
| 92 | { | 98 | { |
| 93 | min-width: 310px; | 99 | min-width: 310px; |
| @@ -175,6 +181,11 @@ header h3 | |||
| 175 | margin: auto; | 181 | margin: auto; |
| 176 | } | 182 | } |
| 177 | 183 | ||
| 184 | .articleActu | ||
| 185 | { | ||
| 186 | max-width: 65%; | ||
| 187 | } | ||
| 188 | |||
| 178 | #contenu | 189 | #contenu |
| 179 | { | 190 | { |
| 180 | position: relative; | 191 | position: relative; |
| @@ -186,8 +197,8 @@ header h3 | |||
| 186 | height: 447px; | 197 | height: 447px; |
| 187 | } | 198 | } |
| 188 | 199 | ||
| 189 | /* pour IE, | 200 | /* pour IE, indique la bonne taille du bloc |
| 190 | indique la bonne taille du bloc pour que la colonne 2 se place correctement */ | 201 | pour que la colonne 2 se place correctement */ |
| 191 | #colonne1 | 202 | #colonne1 |
| 192 | { | 203 | { |
| 193 | min-width: 237px; | 204 | min-width: 237px; |
| @@ -275,6 +286,11 @@ header h3 | |||
| 275 | margin: auto; | 286 | margin: auto; |
| 276 | } | 287 | } |
| 277 | 288 | ||
| 289 | .articleActu | ||
| 290 | { | ||
| 291 | max-width: 90%; | ||
| 292 | } | ||
| 293 | |||
| 278 | #contenu | 294 | #contenu |
| 279 | { | 295 | { |
| 280 | position: relative; | 296 | position: relative; |
| @@ -286,8 +302,8 @@ header h3 | |||
| 286 | height: 298px; | 302 | height: 298px; |
| 287 | } | 303 | } |
| 288 | 304 | ||
| 289 | /* pour IE, | 305 | /* pour IE, indique la bonne taille du bloc |
| 290 | indique la bonne taille du bloc pour que la colonne 2 se place correctement */ | 306 | pour que la colonne 2 se place correctement */ |
| 291 | #colonne1 | 307 | #colonne1 |
| 292 | { | 308 | { |
| 293 | min-width: 158px; | 309 | min-width: 158px; |
diff --git a/view/articlesContent.php b/view/articlesContent.php index fe71204..5f6b587 100644 --- a/view/articlesContent.php +++ b/view/articlesContent.php | |||
| @@ -82,20 +82,20 @@ for($i = 0; $i < $Articles->fileListCount; $i++) | |||
| 82 | if($_SESSION['admin'] == 1) | 82 | if($_SESSION['admin'] == 1) |
| 83 | { | 83 | { |
| 84 | ?> | 84 | ?> |
| 85 | <p class="boutonArticle" > | 85 | </div> |
| 86 | <a href="index.php?page=<?= $page ?>&action=editor&file_code=<?= $Articles->fileList[$i]['fileCode'] ?>#<?= $Articles->fileList[$i]['fileCode'] ?>" > | 86 | <p class="boutonArticle" > |
| 87 | Modifier cet article | 87 | <a href="index.php?page=<?= $page ?>&action=editor&file_code=<?= $Articles->fileList[$i]['fileCode'] ?>#<?= $Articles->fileList[$i]['fileCode'] ?>" > |
| 88 | </a> | 88 | Modifier cet article |
| 89 | <!-- un espace --> | 89 | </a> |
| 90 | <a href="index.php?page=<?= $page ?>&action=suppression&file_code=<?= $Articles->fileList[$i]['fileCode'] ?>" onclick="confirmerSuppression()" > | 90 | <!-- un espace --> |
| 91 | Supprimer cet article | 91 | <a href="index.php?page=<?= $page ?>&action=suppression&file_code=<?= $Articles->fileList[$i]['fileCode'] ?>" onclick="confirmerSuppression()" > |
| 92 | </a> | 92 | Supprimer cet article |
| 93 | </p> | 93 | </a> |
| 94 | </p> | ||
| 94 | <?php | 95 | <?php |
| 95 | } | 96 | } |
| 96 | } | 97 | } |
| 97 | ?> | 98 | ?> |
| 98 | </div> | ||
| 99 | </article> | 99 | </article> |
| 100 | <?php | 100 | <?php |
| 101 | } | 101 | } |
