diff options
author | polo <ordipolo@gmx.fr> | 2021-09-03 01:16:43 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2021-09-03 01:16:43 +0200 |
commit | 9a552c6b751f25bac9e816cf605fb972da8b9e27 (patch) | |
tree | 846d8b29fbf035305700a1aa91c7f20d2502136f | |
parent | 10954c386cacb270e4ae16837483120ca3406259 (diff) | |
download | melaine-9a552c6b751f25bac9e816cf605fb972da8b9e27.zip |
albums2
-rw-r--r-- | controller/admin.php | 42 | ||||
-rw-r--r-- | controller/visitor.php | 49 | ||||
-rw-r--r-- | index.php | 6 | ||||
-rw-r--r-- | model/Classes.php | 4 | ||||
-rw-r--r-- | public/accueil.css | 5 | ||||
-rw-r--r-- | public/discographie.css | 37 | ||||
-rw-r--r-- | view/album.php | 35 | ||||
-rw-r--r-- | view/discographie.php | 19 | ||||
-rw-r--r-- | view/melaine.php | 1 | ||||
-rw-r--r-- | view/nav.php | 2 |
10 files changed, 154 insertions, 46 deletions
diff --git a/controller/admin.php b/controller/admin.php index 2588d36..3c2b613 100644 --- a/controller/admin.php +++ b/controller/admin.php | |||
@@ -98,7 +98,7 @@ function discoEdit($numArticle, $suppression) | |||
98 | } | 98 | } |
99 | } | 99 | } |
100 | 100 | ||
101 | $albums = array_reverse($Album->readAll()); // lourd | 101 | $albumsJSON = array_reverse($Album->readAll()); // lourd |
102 | 102 | ||
103 | // $albums contient un tableau de chaines JSON, | 103 | // $albums contient un tableau de chaines JSON, |
104 | // on extrait de chacune 3 variables: titre, année, pochette | 104 | // on extrait de chacune 3 variables: titre, année, pochette |
@@ -113,25 +113,43 @@ function discoEdit($numArticle, $suppression) | |||
113 | 113 | ||
114 | // changer les chaines JSON en tableaux | 114 | // changer les chaines JSON en tableaux |
115 | $i = 0; | 115 | $i = 0; |
116 | foreach($albums as $oneAlbum) | 116 | foreach($albumsJSON as $oneAlbum) |
117 | { | 117 | { |
118 | $albums[$i] = json_decode($oneAlbum, true); | 118 | $albumsJSON[$i] = json_decode($oneAlbum, true); |
119 | $i++; | 119 | $i++; |
120 | } | 120 | } |
121 | 121 | ||
122 | // on passe maintenant au contenu HTML | ||
123 | $albumNamesJSON = array_reverse($Album->getFileNames()); | ||
124 | $Album->setFormat('html'); | ||
125 | $Album->makeFileList(); | ||
126 | $albumNamesHTML = array_reverse($Album->getFileNames()); | ||
127 | |||
128 | // lien vers le HTML ou ancre? | ||
122 | // pour chaque album, détecter le fichier html | 129 | // pour chaque album, détecter le fichier html |
123 | // si il y en a un, proposer un lien <a> | ||
124 | // si non, ne fournir qu'un lien d'ancre pour la liste d'album | 130 | // si non, ne fournir qu'un lien d'ancre pour la liste d'album |
125 | $titreAlbum = 'discographie'; | 131 | $i = 0; |
126 | if(false) | 132 | $avecLien = []; |
127 | { | 133 | foreach($albumNamesJSON as $oneAlbum) |
128 | $lienAlbum = $titreAlbum; | ||
129 | } | ||
130 | else | ||
131 | { | 134 | { |
132 | $lienAlbum = 'discographie#' . $titreAlbum; | 135 | // nom sans extension |
136 | $chemin = pathinfo($oneAlbum); | ||
137 | $nomJSONsansExt = $chemin['filename']; | ||
138 | $chemin = pathinfo($albumNamesHTML[0]); | ||
139 | |||
140 | // détection | ||
141 | if(file_exists($chemin['dirname'] . '/' . $nomJSONsansExt . '.html')) | ||
142 | { | ||
143 | $lienAlbum[$i] = 'album&album_code=' . $nomJSONsansExt . '&album_name=' . $albumsJSON[$i][0]; | ||
144 | $avecLien[$i] = true; | ||
145 | } | ||
146 | else | ||
147 | { | ||
148 | $lienAlbum[$i] = 'discographie#' . $albumsJSON[$i][0]; | ||
149 | $avecLien[$i] = false; | ||
150 | } | ||
151 | $i++; | ||
133 | } | 152 | } |
134 | //echo($lienAlbum); | ||
135 | 153 | ||
136 | // morceaux en HTML à assembler | 154 | // morceaux en HTML à assembler |
137 | // variable $editeurHTML, contient $texte | 155 | // variable $editeurHTML, contient $texte |
diff --git a/controller/visitor.php b/controller/visitor.php index 936eb35..239c139 100644 --- a/controller/visitor.php +++ b/controller/visitor.php | |||
@@ -49,9 +49,9 @@ function discoVisitor() | |||
49 | $title = "Discographie"; | 49 | $title = "Discographie"; |
50 | 50 | ||
51 | // modèle | 51 | // modèle |
52 | $Albums = new Album($page_actuelle); | 52 | $AllAlbums = new Album($page_actuelle); |
53 | $Albums->makeFileList(); | 53 | $AllAlbums->makeFileList(); |
54 | $albumsJSON = array_reverse($Albums->readAll()); // lourd | 54 | $albumsJSON = array_reverse($AllAlbums->readAll()); // lourd |
55 | 55 | ||
56 | // $albums est un tableau de chaines JSON, | 56 | // $albums est un tableau de chaines JSON, |
57 | // chacune renferme 3 variables: titre, année, pochette | 57 | // chacune renferme 3 variables: titre, année, pochette |
@@ -65,39 +65,36 @@ function discoVisitor() | |||
65 | } | 65 | } |
66 | 66 | ||
67 | // on passe maintenant au contenu HTML | 67 | // on passe maintenant au contenu HTML |
68 | $albumNamesJSON = array_reverse($Albums->getFileNames()); | 68 | $albumNamesJSON = array_reverse($AllAlbums->getFileNames()); |
69 | $Albums->setFormat('html'); | 69 | $AllAlbums->setFormat('html'); |
70 | $Albums->makeFileList(); | 70 | $AllAlbums->makeFileList(); |
71 | $albumNamesHTML = array_reverse($Albums->getFileNames()); | 71 | $albumNamesHTML = array_reverse($AllAlbums->getFileNames()); |
72 | 72 | ||
73 | // lien vers le HTML ou ancre? | ||
73 | // pour chaque album, détecter le fichier html | 74 | // pour chaque album, détecter le fichier html |
74 | // si il y en a un, proposer un lien <a> | ||
75 | // si non, ne fournir qu'un lien d'ancre pour la liste d'album | 75 | // si non, ne fournir qu'un lien d'ancre pour la liste d'album |
76 | $i = 0; | 76 | $i = 0; |
77 | //print_r($albumNamesJSON); exit(); | 77 | $avecLien = []; |
78 | |||
79 | foreach($albumNamesJSON as $oneAlbum) | 78 | foreach($albumNamesJSON as $oneAlbum) |
80 | { | 79 | { |
80 | // nom sans extension | ||
81 | $chemin = pathinfo($oneAlbum); | 81 | $chemin = pathinfo($oneAlbum); |
82 | $nomJSONsansExt = $chemin['filename']; | 82 | $nomJSONsansExt = $chemin['filename']; |
83 | $chemin = pathinfo($albumNamesHTML[0]); | 83 | $chemin = pathinfo($albumNamesHTML[0]); |
84 | $nomHTMLsansExt = $chemin['filename']; | ||
85 | 84 | ||
86 | // détecter un fichier du même nom | 85 | // détection |
87 | if(isset($nomJSONsansExt . '.html')) // c'est pas ça!! | 86 | if(file_exists($chemin['dirname'] . '/' . $nomJSONsansExt . '.html')) |
88 | { | 87 | { |
89 | //$lienAlbum[$i] = $titreAlbum; | 88 | $lienAlbum[$i] = 'album&album_code=' . $nomJSONsansExt . '&album_name=' . $albumsJSON[$i][0]; |
89 | $avecLien[$i] = true; | ||
90 | } | 90 | } |
91 | else | 91 | else |
92 | { | 92 | { |
93 | //$lienAlbum[$i] = 'discographie#' . $oneAlbum[0]; | 93 | $lienAlbum[$i] = 'discographie#' . $albumsJSON[$i][0]; |
94 | $avecLien[$i] = false; | ||
94 | } | 95 | } |
95 | $i++; | 96 | $i++; |
96 | } | 97 | } |
97 | //exit(); | ||
98 | |||
99 | |||
100 | //echo($lienAlbum); | ||
101 | 98 | ||
102 | // variables $css, $js et $content | 99 | // variables $css, $js et $content |
103 | require('view/discographie.php'); | 100 | require('view/discographie.php'); |
@@ -105,6 +102,20 @@ function discoVisitor() | |||
105 | require('view/template.php'); | 102 | require('view/template.php'); |
106 | } | 103 | } |
107 | 104 | ||
105 | function album($albumCode, $albumName) | ||
106 | { | ||
107 | $page_actuelle = 'discographie'; | ||
108 | $title = $albumName; | ||
109 | |||
110 | //$Album = new OneArticle ($page_actuelle); | ||
111 | $album = OneArticle::readOneAlbum($albumCode); | ||
112 | |||
113 | // variables $css, $header et $content | ||
114 | require('view/album.php'); | ||
115 | // HTML | ||
116 | require('view/template.php'); | ||
117 | } | ||
118 | |||
108 | function presse() | 119 | function presse() |
109 | {} | 120 | {} |
110 | 121 | ||
@@ -202,6 +202,12 @@ if(isset($_GET['page'])) | |||
202 | discoVisitor(); | 202 | discoVisitor(); |
203 | } | 203 | } |
204 | } | 204 | } |
205 | // page d'un album de la discographie | ||
206 | elseif($_GET['page'] == 'album') | ||
207 | { | ||
208 | album($_GET['album_code'], $_GET['album_name']); | ||
209 | // page visiteur uniquement | ||
210 | } | ||
205 | // page connexion | 211 | // page connexion |
206 | elseif($_GET['page'] == 'connexion') | 212 | elseif($_GET['page'] == 'connexion') |
207 | { | 213 | { |
diff --git a/model/Classes.php b/model/Classes.php index 1349cd7..1846ce3 100644 --- a/model/Classes.php +++ b/model/Classes.php | |||
@@ -119,6 +119,10 @@ class OneArticle extends AllArticles | |||
119 | { | 119 | { |
120 | return(file_get_contents($this->fileName)); | 120 | return(file_get_contents($this->fileName)); |
121 | } | 121 | } |
122 | public static function readOneAlbum($albumCode) | ||
123 | { | ||
124 | return(file_get_contents('data/discographie/html/' . $albumCode . '.html')); | ||
125 | } | ||
122 | 126 | ||
123 | // pour afficher des dates | 127 | // pour afficher des dates |
124 | /*public function getDate($fileNumber) | 128 | /*public function getDate($fileNumber) |
diff --git a/public/accueil.css b/public/accueil.css index 7f33393..dc79083 100644 --- a/public/accueil.css +++ b/public/accueil.css | |||
@@ -37,7 +37,8 @@ nav | |||
37 | background-color: white; | 37 | background-color: white; |
38 | } | 38 | } |
39 | 39 | ||
40 | ul | 40 | /* agir sur ul et li directement affecte le ckeditor */ |
41 | #ul_menu | ||
41 | { | 42 | { |
42 | margin: 0px; | 43 | margin: 0px; |
43 | padding: 5px; | 44 | padding: 5px; |
@@ -46,7 +47,7 @@ ul | |||
46 | justify-content: center; | 47 | justify-content: center; |
47 | } | 48 | } |
48 | 49 | ||
49 | li | 50 | #ul_menu li |
50 | { | 51 | { |
51 | list-style-type: none; | 52 | list-style-type: none; |
52 | white-space: nowrap; | 53 | white-space: nowrap; |
diff --git a/public/discographie.css b/public/discographie.css index cb0c9b5..adf5ac0 100644 --- a/public/discographie.css +++ b/public/discographie.css | |||
@@ -103,10 +103,6 @@ figure | |||
103 | margin: 0px; | 103 | margin: 0px; |
104 | display: inline-block; | 104 | display: inline-block; |
105 | } | 105 | } |
106 | figure:hover | ||
107 | { | ||
108 | border: 2px blue solid; | ||
109 | } | ||
110 | 106 | ||
111 | figcaption | 107 | figcaption |
112 | { | 108 | { |
@@ -119,21 +115,26 @@ figcaption | |||
119 | 115 | ||
120 | a | 116 | a |
121 | { | 117 | { |
122 | |||
123 | display: inline-block; | 118 | display: inline-block; |
119 | /*border: 2px white solid;*/ | ||
124 | } | 120 | } |
125 | 121 | ||
126 | /*article a:hover | 122 | article a:hover |
127 | { | 123 | { |
128 | border: 2px blue solid; | 124 | border: 2px blue solid; |
129 | }*/ | 125 | } |
130 | |||
131 | 126 | ||
132 | a:hover figure figcaption | 127 | a:hover figure figcaption |
133 | { | 128 | { |
134 | text-decoration: underline; | 129 | text-decoration: underline; |
135 | } | 130 | } |
136 | 131 | ||
132 | /* page dédiée à un album */ | ||
133 | #albumHTML | ||
134 | { | ||
135 | width: 100%; | ||
136 | } | ||
137 | |||
137 | @media screen and (min-width: 700px) | 138 | @media screen and (min-width: 700px) |
138 | { | 139 | { |
139 | #titre | 140 | #titre |
@@ -148,6 +149,12 @@ a:hover figure figcaption | |||
148 | position: relative; | 149 | position: relative; |
149 | bottom: 35px; | 150 | bottom: 35px; |
150 | } | 151 | } |
152 | |||
153 | #albumHTML | ||
154 | { | ||
155 | /* annuler le positionnement du contenu */ | ||
156 | margin-top: 55px; | ||
157 | } | ||
151 | } | 158 | } |
152 | 159 | ||
153 | @media screen and (max-width: 699px) | 160 | @media screen and (max-width: 699px) |
@@ -165,6 +172,12 @@ a:hover figure figcaption | |||
165 | position: relative; | 172 | position: relative; |
166 | bottom: 24px; | 173 | bottom: 24px; |
167 | } | 174 | } |
175 | |||
176 | #albumHTML | ||
177 | { | ||
178 | /* annuler le positionnement du contenu */ | ||
179 | margin-top: 42px; | ||
180 | } | ||
168 | } | 181 | } |
169 | 182 | ||
170 | @media screen and (max-width: 479px) | 183 | @media screen and (max-width: 479px) |
@@ -201,7 +214,13 @@ a:hover figure figcaption | |||
201 | 214 | ||
202 | #contenu | 215 | #contenu |
203 | { | 216 | { |
204 | position: relative; | 217 | /*position: relative;*/ |
205 | bottom: 15px; | 218 | bottom: 15px; |
206 | } | 219 | } |
220 | |||
221 | #albumHTML | ||
222 | { | ||
223 | /* annuler le positionnement du contenu */ | ||
224 | margin-top: 32px; | ||
225 | } | ||
207 | } | 226 | } |
diff --git a/view/album.php b/view/album.php new file mode 100644 index 0000000..39d180a --- /dev/null +++ b/view/album.php | |||
@@ -0,0 +1,35 @@ | |||
1 | <?php | ||
2 | // view/album.php | ||
3 | |||
4 | // variable $css | ||
5 | // avec discographie.css | ||
6 | ob_start(); | ||
7 | ?> | ||
8 | <link rel="stylesheet" type="text/css" href="public/discographie.css" /> | ||
9 | <link rel="stylesheet" type="text/css" href="public/donnees_hors_editeur.css" /> | ||
10 | <?php | ||
11 | $css = ob_get_clean(); | ||
12 | |||
13 | // variable $header | ||
14 | ob_start(); | ||
15 | echo "\n"; | ||
16 | ?> | ||
17 | <header> | ||
18 | <div id="titre" > | ||
19 | <span class="police_titre" ><?= $albumName ?></span> | ||
20 | </div> | ||
21 | <div id="photo" ></div> | ||
22 | </header> | ||
23 | <?php | ||
24 | $header = ob_get_clean(); | ||
25 | |||
26 | // variable $content | ||
27 | ob_start(); | ||
28 | ?> | ||
29 | <article id="albumHTML" > | ||
30 | <?= $album ?> | ||
31 | </article> | ||
32 | |||
33 | <p><a href="index.php?page=discographie" >Retour à la discographie</a></p> | ||
34 | <?php | ||
35 | $content = ob_get_clean(); | ||
diff --git a/view/discographie.php b/view/discographie.php index 47ee377..fcb788f 100644 --- a/view/discographie.php +++ b/view/discographie.php | |||
@@ -55,7 +55,7 @@ foreach($albumsJSON as $oneAlbum) | |||
55 | // mettre une adresse lorsqu'un fichier html existe | 55 | // mettre une adresse lorsqu'un fichier html existe |
56 | // si il n'existe pas, mettre une ancre vers l'endroit sur la page | 56 | // si il n'existe pas, mettre une ancre vers l'endroit sur la page |
57 | ?> | 57 | ?> |
58 | <p><a href="index.php?page=<?= $lienAlbum[$i] ?>" ><?= $oneAlbum[0] ?> (<?= $oneAlbum[1] ?>)</a></p> | 58 | <p><a href="index.php?page=<?= $lienAlbum[$i] ?>" ><?= $oneAlbum[1] ?>: <?= $oneAlbum[0] ?></a></p> |
59 | <?php | 59 | <?php |
60 | $i++; | 60 | $i++; |
61 | } | 61 | } |
@@ -87,7 +87,6 @@ if($_SESSION['admin'] == 1) | |||
87 | } | 87 | } |
88 | 88 | ||
89 | // tableau des albums | 89 | // tableau des albums |
90 | //$j = count($albums); | ||
91 | $i = 0; | 90 | $i = 0; |
92 | foreach($albumsJSON as $oneAlbum) | 91 | foreach($albumsJSON as $oneAlbum) |
93 | { | 92 | { |
@@ -99,12 +98,28 @@ foreach($albumsJSON as $oneAlbum) | |||
99 | // mettre une adresse lorsqu'un fichier html existe | 98 | // mettre une adresse lorsqu'un fichier html existe |
100 | ?> | 99 | ?> |
101 | <article id="<?= $oneAlbum[0] ?>" > | 100 | <article id="<?= $oneAlbum[0] ?>" > |
101 | <?php | ||
102 | if($avecLien[$i]) | ||
103 | { | ||
104 | ?> | ||
102 | <a href="index.php?page=<?= $lienAlbum[$i] ?>" > | 105 | <a href="index.php?page=<?= $lienAlbum[$i] ?>" > |
106 | <?php | ||
107 | } | ||
108 | ?> | ||
109 | |||
110 | |||
103 | <figure> | 111 | <figure> |
104 | <img class="vignette" src="data/discographie/images/<?= $oneAlbum[2] ?>" alt="" > | 112 | <img class="vignette" src="data/discographie/images/<?= $oneAlbum[2] ?>" alt="" > |
105 | <figcaption><?= $oneAlbum[0] ?><br><?= $oneAlbum[1] ?></figcaption> | 113 | <figcaption><?= $oneAlbum[0] ?><br><?= $oneAlbum[1] ?></figcaption> |
106 | </figure> | 114 | </figure> |
115 | <?php | ||
116 | if($avecLien[$i]) | ||
117 | { | ||
118 | ?> | ||
107 | </a> | 119 | </a> |
120 | <?php | ||
121 | } | ||
122 | ?> | ||
108 | </article> | 123 | </article> |
109 | <?php | 124 | <?php |
110 | 125 | ||
diff --git a/view/melaine.php b/view/melaine.php index 0067738..216857d 100644 --- a/view/melaine.php +++ b/view/melaine.php | |||
@@ -80,7 +80,6 @@ foreach ($articles as $article) | |||
80 | if($_SESSION['admin'] == 1 && isset($_GET['action']) && $_GET['action'] == 'editor' && isset($_GET['article']) && $_GET['article'] == $j) | 80 | if($_SESSION['admin'] == 1 && isset($_GET['action']) && $_GET['action'] == 'editor' && isset($_GET['article']) && $_GET['article'] == $j) |
81 | { | 81 | { |
82 | // on pourrait utiliser le timedate, ou encore le nom de l'article | 82 | // on pourrait utiliser le timedate, ou encore le nom de l'article |
83 | //echo("\n<p>Modifier l'article " . $j . "</p>"); | ||
84 | echo("<p>Modification d'un article</p>"); | 83 | echo("<p>Modification d'un article</p>"); |
85 | echo "\n"; | 84 | echo "\n"; |
86 | 85 | ||
diff --git a/view/nav.php b/view/nav.php index f7cb299..80d73b9 100644 --- a/view/nav.php +++ b/view/nav.php | |||
@@ -1,5 +1,5 @@ | |||
1 | <nav> | 1 | <nav> |
2 | <ul> | 2 | <ul id="ul_menu"> |
3 | <li><a href="index.php?page=menu" <?php if($page_actuelle == "menu") {echo('id="actuelle" ');} ?>>Menu</a></li> | 3 | <li><a href="index.php?page=menu" <?php if($page_actuelle == "menu") {echo('id="actuelle" ');} ?>>Menu</a></li> |
4 | <li><a href="index.php?page=melaine" <?php if($page_actuelle == "melaine") {echo('id="actuelle" ');} ?>>Melaine</a></li> | 4 | <li><a href="index.php?page=melaine" <?php if($page_actuelle == "melaine") {echo('id="actuelle" ');} ?>>Melaine</a></li> |
5 | <li><a href="index.php?page=discographie" <?php if($page_actuelle == "discographie") {echo('id="actuelle" ');} ?>>Discographie</a></li> | 5 | <li><a href="index.php?page=discographie" <?php if($page_actuelle == "discographie") {echo('id="actuelle" ');} ?>>Discographie</a></li> |