summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2021-09-03 01:16:43 +0200
committerpolo <ordipolo@gmx.fr>2021-09-03 01:16:43 +0200
commit9a552c6b751f25bac9e816cf605fb972da8b9e27 (patch)
tree846d8b29fbf035305700a1aa91c7f20d2502136f
parent10954c386cacb270e4ae16837483120ca3406259 (diff)
downloadmelaine-9a552c6b751f25bac9e816cf605fb972da8b9e27.zip
albums2
-rw-r--r--controller/admin.php42
-rw-r--r--controller/visitor.php49
-rw-r--r--index.php6
-rw-r--r--model/Classes.php4
-rw-r--r--public/accueil.css5
-rw-r--r--public/discographie.css37
-rw-r--r--view/album.php35
-rw-r--r--view/discographie.php19
-rw-r--r--view/melaine.php1
-rw-r--r--view/nav.php2
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
105function 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
108function presse() 119function presse()
109{} 120{}
110 121
diff --git a/index.php b/index.php
index b9989fd..d8e0a58 100644
--- a/index.php
+++ b/index.php
@@ -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
40ul 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
49li 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}
106figure:hover
107{
108 border: 2px blue solid;
109}
110 106
111figcaption 107figcaption
112{ 108{
@@ -119,21 +115,26 @@ figcaption
119 115
120a 116a
121{ 117{
122
123 display: inline-block; 118 display: inline-block;
119 /*border: 2px white solid;*/
124} 120}
125 121
126/*article a:hover 122article a:hover
127{ 123{
128 border: 2px blue solid; 124 border: 2px blue solid;
129}*/ 125}
130
131 126
132a:hover figure figcaption 127a: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
6ob_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
14ob_start();
15echo "\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
27ob_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;
92foreach($albumsJSON as $oneAlbum) 91foreach($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>