diff options
Diffstat (limited to 'controller/admin.php')
-rw-r--r-- | controller/admin.php | 51 |
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 |