diff options
-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 | } |