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