summaryrefslogtreecommitdiff
path: root/controller/admin.php
diff options
context:
space:
mode:
Diffstat (limited to 'controller/admin.php')
-rw-r--r--controller/admin.php51
1 files changed, 30 insertions, 21 deletions
diff --git a/controller/admin.php b/controller/admin.php
index 3c2b613..ba6fd83 100644
--- a/controller/admin.php
+++ b/controller/admin.php
@@ -98,11 +98,6 @@ function discoEdit($numArticle, $suppression)
98 } 98 }
99 } 99 }
100 100
101 $albumsJSON = array_reverse($Album->readAll()); // lourd
102
103 // $albums contient un tableau de chaines JSON,
104 // on extrait de chacune 3 variables: titre, année, pochette
105
106 // traitements PHP pour l'éditeur 101 // traitements PHP pour l'éditeur
107 // sécurisation du contenu pré-existant inséré dans l'éditeur 102 // sécurisation du contenu pré-existant inséré dans l'éditeur
108 if($numArticle >= 0 && !$suppression) 103 if($numArticle >= 0 && !$suppression)
@@ -111,44 +106,58 @@ function discoEdit($numArticle, $suppression)
111 $texte = preparationCKeditor($numArticle, $texte); 106 $texte = preparationCKeditor($numArticle, $texte);
112 } 107 }
113 108
114 // changer les chaines JSON en tableaux 109
110 // contenu de tous les fichiers JSON (= tableau de chaines)
111 $albumsJSON = $Album->readAll();
112 // noms des fichiers JSON
113 $albumNamesJSON = $Album->getFileList();
114
115 // changer les chaines JSON en tableaux: titre, année, pochette
115 $i = 0; 116 $i = 0;
117 $annees = array();
116 foreach($albumsJSON as $oneAlbum) 118 foreach($albumsJSON as $oneAlbum)
117 { 119 {
118 $albumsJSON[$i] = json_decode($oneAlbum, true); 120 $albumsJSON[$i] = json_decode($oneAlbum, true);
121
122 // ajout des noms des fichiers JSON
123 $albumsJSON[$i][3] = $albumNamesJSON[$i];
124 $annees[$i] = $albumsJSON[$i][1];
119 $i++; 125 $i++;
120 } 126 }
127 // tri d'un tableau multidimensionnel
128 array_multisort($annees, $albumsJSON);
121 129
122 // on passe maintenant au contenu HTML 130 // on passe maintenant au contenu HTML
123 $albumNamesJSON = array_reverse($Album->getFileNames());
124 $Album->setFormat('html'); 131 $Album->setFormat('html');
125 $Album->makeFileList(); 132 $Album->makeFileList();
126 $albumNamesHTML = array_reverse($Album->getFileNames()); 133 $albumNamesHTML = $Album->getFileList();
127 134
128 // lien vers le HTML ou ancre? 135 // lien vers le HTML ou ancre?
129 // pour chaque album, détecter le fichier html 136 // pour chaque album, détecter le fichier html
130 // si non, ne fournir qu'un lien d'ancre pour la liste d'album 137 // si non, ne fournir qu'un lien d'ancre pour la liste d'album
131 $i = 0; 138 $i = 0;
132 $avecLien = []; 139 $avecLien = [];
133 foreach($albumNamesJSON as $oneAlbum) 140 foreach($albumsJSON as $oneAlbum)
134 { 141 {
135 // nom sans extension 142 // nom sans extension
136 $chemin = pathinfo($oneAlbum); 143 $chemin = pathinfo($oneAlbum[3]);
137 $nomJSONsansExt = $chemin['filename']; 144 $nomJSONsansExt = $chemin['filename'];
138 $chemin = pathinfo($albumNamesHTML[0]);
139 145
140 // détection 146 // au cas où la discographie ne contient aucun html
141 if(file_exists($chemin['dirname'] . '/' . $nomJSONsansExt . '.html')) 147 if(!empty($albumNamesHTML))
142 { 148 {
143 $lienAlbum[$i] = 'album&album_code=' . $nomJSONsansExt . '&album_name=' . $albumsJSON[$i][0]; 149 if(file_exists('data/discographie/html/' . $nomJSONsansExt . '.html'))
144 $avecLien[$i] = true; 150 {
151 $lienAlbum[$i] = 'album&album_code=' . $nomJSONsansExt . '&album_name=' . $albumsJSON[$i][0];
152 $avecLien[$i] = true;
153 }
154 else
155 {
156 $lienAlbum[$i] = 'discographie#' . $albumsJSON[$i][0];
157 $avecLien[$i] = false;
158 }
159 $i++;
145 } 160 }
146 else
147 {
148 $lienAlbum[$i] = 'discographie#' . $albumsJSON[$i][0];
149 $avecLien[$i] = false;
150 }
151 $i++;
152 } 161 }
153 162
154 // morceaux en HTML à assembler 163 // morceaux en HTML à assembler