summaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2022-03-01 04:02:05 +0100
committerpolo <ordipolo@gmx.fr>2022-03-01 04:02:05 +0100
commit2ac4254829fb27d878044978e4e89f15eeeddd23 (patch)
treed6ae70410566884d8bf567b0934cdaee5133a5a1 /controller
parentabd968a1c573b1862bd0728f0b7b6a88e307900a (diff)
downloadmelaine-2ac4254829fb27d878044978e4e89f15eeeddd23.zip
factorisation et pages manquantes
Diffstat (limited to 'controller')
-rw-r--r--controller/Security.php8
-rw-r--r--controller/admin.php70
-rw-r--r--controller/backup.php16
-rw-r--r--controller/installation.php7
-rw-r--r--controller/password.php79
-rw-r--r--controller/visitor.php100
6 files changed, 199 insertions, 81 deletions
diff --git a/controller/Security.php b/controller/Security.php
index 6ea121c..c53cdc6 100644
--- a/controller/Security.php
+++ b/controller/Security.php
@@ -14,10 +14,16 @@ class Security
14 ); 14 );
15 private static $specHtmLawed = ''; // optionnel: faire qu'un certain élément puisse n'avoir que certains attributs 15 private static $specHtmLawed = ''; // optionnel: faire qu'un certain élément puisse n'avoir que certains attributs
16 16
17 public static function secureString($chaine) 17 public static function secureString(string $chaine): string
18 { 18 {
19 $chaine = htmLawed($chaine, self::$configHtmLawed, self::$specHtmLawed); 19 $chaine = htmLawed($chaine, self::$configHtmLawed, self::$specHtmLawed);
20 $chaine = trim($chaine); // supprimer espaces, tabulations et sauts de ligne en début et fin de chaine (pour l'entrée de l'éditeur) 20 $chaine = trim($chaine); // supprimer espaces, tabulations et sauts de ligne en début et fin de chaine (pour l'entrée de l'éditeur)
21 return $chaine; 21 return $chaine;
22 } 22 }
23} 23}
24
25function removeSpacesTabsCRLF(string $chaine): string
26{
27 $cibles = [' ', "\t", "\n", "\r"]; // doubles quotes !!
28 return(str_replace($cibles, '', $chaine));
29}
diff --git a/controller/admin.php b/controller/admin.php
index b8ef7ff..ee5c217 100644
--- a/controller/admin.php
+++ b/controller/admin.php
@@ -4,12 +4,12 @@
4// utilisation du site en écriture (admin uniquement) 4// utilisation du site en écriture (admin uniquement)
5// éditeur ouvert ou suppression d'un élément 5// éditeur ouvert ou suppression d'un élément
6 6
7function melaineEdit($fileCode, $suppression) 7function pageArticlesSimplesAdmin(string $page, string $title, string $headerPaintedTitle, $fileCode, int $suppression)
8{ 8{
9 $page_actuelle = "melaine"; 9 $headerImage = '<div class="photo" id="photo_' . $page . '" ></div>';
10 10
11 // infos sur les fichiers 11 // infos sur les fichiers
12 $Articles = new Article($page_actuelle); 12 $Articles = new Article($page);
13 13
14 // nouvel article 14 // nouvel article
15 if($fileCode == '') 15 if($fileCode == '')
@@ -29,7 +29,7 @@ function melaineEdit($fileCode, $suppression)
29 $Articles->delete(); 29 $Articles->delete();
30 30
31 // redirection immédiate avant affichage 31 // redirection immédiate avant affichage
32 header('Location: index.php?page=' . $page_actuelle); 32 header('Location: index.php?page=' . $page);
33 exit(); 33 exit();
34 } 34 }
35 // modification 35 // modification
@@ -68,18 +68,70 @@ function melaineEdit($fileCode, $suppression)
68 require('view/template-formulaires.php'); 68 require('view/template-formulaires.php');
69 // variables $css, $js, $header et $content, 69 // variables $css, $js, $header et $content,
70 // $content contient $articles et $editeurHTML 70 // $content contient $articles et $editeurHTML
71 require('view/melaine.php'); 71 require('view/pageArticlesSimples.php');
72 // fin de l'assemblage 72 // fin de l'assemblage
73 require('view/template.php'); 73 require('view/template.php');
74} 74}
75 75
76function melaineEdit($fileCode, $suppression)
77{
78 $page = "melaine";
79 $title = "Mais qui est Melaine Favennec?";
80 $headerPaintedTitle = 'Melaine Favennec';
81 pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression);
82}
83function concertsEdit($fileCode, $suppression)
84{
85 $page = "concerts";
86 $title = "Concerts";
87 $headerPaintedTitle = 'Concerts';
88 pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression);
89}
90function presseEdit($fileCode, $suppression)
91{
92 $page = "presse";
93 $title = "La presse";
94 $headerPaintedTitle = 'La Presse';
95 pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression);
96}
97function ateliersEdit($fileCode, $suppression)
98{
99 $page = "ateliers";
100 $title = "Ateliers";
101 $headerPaintedTitle = 'Les ateliers de Melaine';
102 pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression);
103}
104function liensEdit($fileCode, $suppression)
105{
106 $page = "liens";
107 $title = "Liens";
108 $headerPaintedTitle = 'Liens';
109 pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression);
110}
111function peintureEdit($fileCode, $suppression)
112{
113 $page = "peinture";
114 $title = "peinture";
115 $headerPaintedTitle = 'Celtic Boats';
116 pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression);
117}
118function archivesEdit($fileCode, $suppression)
119{
120 $page = "archives";
121 $title = "Archives";
122 $headerPaintedTitle = 'Archives';
123 pageArticlesSimplesAdmin($page, $title, $headerPaintedTitle, $fileCode, $suppression);
124}
125
126
127// page plus complexe que les autres
76function discoEdit($fileCode, $suppression) 128function discoEdit($fileCode, $suppression)
77{ 129{
78 $page_actuelle = "discographie"; 130 $page = "discographie";
79 $title = "Discographie"; 131 $title = "Discographie";
80 132
81 // modèle 133 // modèle
82 $Albums = new Album($page_actuelle); 134 $Albums = new Album($page);
83 $Albums->makeFileList(); 135 $Albums->makeFileList();
84 136
85 // contenu: JSON, HTML, noms et chemins des fichiers 137 // contenu: JSON, HTML, noms et chemins des fichiers
@@ -109,7 +161,7 @@ function discoEdit($fileCode, $suppression)
109 if($suppression) 161 if($suppression)
110 { 162 {
111 $Albums->delete(); 163 $Albums->delete();
112 header('Location: index.php?page=' . $page_actuelle); 164 header('Location: index.php?page=' . $page);
113 exit(); 165 exit();
114 } 166 }
115 // modification 167 // modification
@@ -132,7 +184,7 @@ function discoEdit($fileCode, $suppression)
132 // image affichée à côté des formulaires 184 // image affichée à côté des formulaires
133 if(!empty($vignette[2])) 185 if(!empty($vignette[2]))
134 { 186 {
135 $imageFormulaire = '<img class="imageFormulaire" src="data/' . $page_actuelle . '/images/' . $vignette[2] . '" ><br/>'; 187 $imageFormulaire = '<img class="imageFormulaire" src="data/' . $page . '/images/' . $vignette[2] . '" ><br/>';
136 } 188 }
137 else 189 else
138 { 190 {
diff --git a/controller/backup.php b/controller/backup.php
index 81d72b9..4fb01ef 100644
--- a/controller/backup.php
+++ b/controller/backup.php
@@ -8,20 +8,23 @@ function sauvegarder($from)
8 8
9 $cheminDestination = "data/"; 9 $cheminDestination = "data/";
10 $date = date("d-m-Y", time()); 10 $date = date("d-m-Y", time());
11 $nomFichier = "melaineDATA_" . $date . ".zip"; 11 $nomFichier = "melaineDATA_" . $date;
12 // ne prendre que les dossiers pour exclure les fichiers password.txt, melaineDATA.zip et melainePHP.zip existant 12 // ne prendre que les dossiers pour exclure les fichiers password.txt, melaineDATA.zip et melainePHP.zip existant
13 $dossiersCibles = [ 'data/archives', 'data/concerts', 'data/liens', 'data/presse', 'data/ateliers', 'data/discographie', 'data/melaine', 'data/peinture' ]; 13 $dossiersCibles = [ 'data/archives', 'data/concerts', 'data/liens', 'data/presse', 'data/ateliers', 'data/discographie', 'data/melaine', 'data/peinture' ];
14 //$fichiersALaRacine = []; 14 //$fichiersALaRacine = [];
15 15
16 createZip($cheminDestination, $nomFichier, $dossiersCibles); 16 createZip($cheminDestination, $nomFichier, $dossiersCibles);
17 17
18 global $archiveFormat;
19 $nomFichier = $nomFichier . '.' . $archiveFormat;
20
18 require('view/backup.php'); 21 require('view/backup.php');
19} 22}
20 23
21function creerMelainePHP() 24function creerMelainePHP()
22{ 25{
23 $cheminDestination = 'data/'; 26 $cheminDestination = 'data/';
24 $nomFichier = "melainePHP.zip"; 27 $nomFichier = "melainePHP";
25 // tous les dossiers sauf data et .git 28 // tous les dossiers sauf data et .git
26 $dossiersCibles = ['model', 'view', 'controller', 'public', 'lib']; 29 $dossiersCibles = ['model', 'view', 'controller', 'public', 'lib'];
27 $fichiersALaRacine = ['*.php', '.htaccess', '*.txt']; // robots? 30 $fichiersALaRacine = ['*.php', '.htaccess', '*.txt']; // robots?
@@ -34,6 +37,9 @@ function creerMelainePHP()
34// le quatrième est optionnel et concerne les fichiers à la racine 37// le quatrième est optionnel et concerne les fichiers à la racine
35function createZip($destinationPath, $zipFileName, array $targetDirectories, array $allPattern = []) 38function createZip($destinationPath, $zipFileName, array $targetDirectories, array $allPattern = [])
36{ 39{
40 global $archiveFormat; // choix du format
41 $zipFileName = $zipFileName . '.' . $archiveFormat;
42
37 try 43 try
38 { 44 {
39 $Zip = new ZipArchive(); 45 $Zip = new ZipArchive();
@@ -101,6 +107,8 @@ function restaurer($from)
101 // recharger la même page en écrivant les données 107 // recharger la même page en écrivant les données
102 if(isset($_FILES['archive']) && $_FILES['archive']['error'] == 0) 108 if(isset($_FILES['archive']) && $_FILES['archive']['error'] == 0)
103 { 109 {
110 // détecter le format (zip ou autre)
111
104 // une copie du zip est conservée dans data/ au cas où 112 // une copie du zip est conservée dans data/ au cas où
105 move_uploaded_file($_FILES['archive']['tmp_name'], 'data/' . $_FILES['archive']['name']); 113 move_uploaded_file($_FILES['archive']['tmp_name'], 'data/' . $_FILES['archive']['name']);
106 chmod('data/' . $_FILES['archive']['name'], 0666); 114 chmod('data/' . $_FILES['archive']['name'], 0666);
@@ -117,10 +125,6 @@ function restaurer($from)
117 echo($e); 125 echo($e);
118 die(); 126 die();
119 } 127 }
120
121 //var_dump($Zip->open($nomFichier, ZipArchive::RDONLY));
122 //var_dump(ZipArchive::ER_NOENT);
123
124 if($Zip->open($nomFichier, ZipArchive::RDONLY) === TRUE) 128 if($Zip->open($nomFichier, ZipArchive::RDONLY) === TRUE)
125 { 129 {
126 $j = 0; 130 $j = 0;
diff --git a/controller/installation.php b/controller/installation.php
index 6037e17..bf6826d 100644
--- a/controller/installation.php
+++ b/controller/installation.php
@@ -103,12 +103,6 @@ function installation()
103 mkdir('data/discographie/images-mini'); 103 mkdir('data/discographie/images-mini');
104 chmod('data/discographie/images-mini', $droitsDossiers); 104 chmod('data/discographie/images-mini', $droitsDossiers);
105 } 105 }
106 // fichier password.txt
107 if(!file_exists('data/password.txt'))
108 {
109 touch('data/password.txt');
110 chmod('data/password.txt', 0600);
111 }
112 106
113 // créer le melainePHP.zip 107 // créer le melainePHP.zip
114 if(!file_exists("data/melainePHP.zip")) 108 if(!file_exists("data/melainePHP.zip"))
@@ -116,7 +110,6 @@ function installation()
116 require('controller/backup.php'); 110 require('controller/backup.php');
117 creerMelainePHP(); 111 creerMelainePHP();
118 } 112 }
119
120 // le modèle donnera les droits 0666 (octal) aux nouveaux fichiers à l'intérieur des dossiers 113 // le modèle donnera les droits 0666 (octal) aux nouveaux fichiers à l'intérieur des dossiers
121 114
122 // création d'un mot de passe si password.txt est vide 115 // création d'un mot de passe si password.txt est vide
diff --git a/controller/password.php b/controller/password.php
index 4ca9f4f..8f6a875 100644
--- a/controller/password.php
+++ b/controller/password.php
@@ -5,11 +5,25 @@
5// affichage 5// affichage
6function createPassword() 6function createPassword()
7{ 7{
8 // si installation() vient de créer un fichier vide 8 // création du fichier
9 $hashedPassword = trim(file_get_contents('data/password.txt')); 9 if(!file_exists('data/password.txt'))
10 {
11 touch('data/password.txt');
12 chmod('data/password.txt', 0600);
13 }
14
15 // lecture
16 $hashedPassword = file_get_contents('data/password.txt');
17 if($hashedPassword === false)
18 {
19 echo('Erreur: ouverture du fichier password.txt impossible.');
20 exit();
21 }
22
23 // création du mot de passe
10 if(empty($hashedPassword)) 24 if(empty($hashedPassword))
11 { 25 {
12 // paranoïa 26 // paranoïa?
13 if(isset($_SESSION['admin'])) 27 if(isset($_SESSION['admin']))
14 { 28 {
15 unset($_SESSION['admin']); 29 unset($_SESSION['admin']);
@@ -17,23 +31,31 @@ function createPassword()
17 exit(); 31 exit();
18 } 32 }
19 33
20 // au rechargement: un mot de passe a été saisi 34 // au rechargement après saisi
21 // les espaces/tabulations sont considérés commes des erreurs 35 // impossible d'entrer un espace ou une tabulation et de valider par erreur
22 if(isset($_POST['motdepasse']) && !empty(trim($_POST['motdepasse']))) 36 if(isset($_POST['motdepasse']) && !empty($_POST['motdepasse']))
37 {
38 // caractères non désirés supprimés
39 require('controller/Security.php');
40 $password = Security::secureString($_POST['motdepasse']);
41 $password = removeSpacesTabsCRLF($_POST['motdepasse']);
42 }
43 // enregistrement
44 if(isset($password) && $password == $_POST['motdepasse'])
23 { 45 {
24 // enregistrement
25 hashNewPassword($_POST['motdepasse']); 46 hashNewPassword($_POST['motdepasse']);
26 header('Location: index.php'); 47 header('Location: index.php');
27 } 48 }
28 // 1ère fois 49 // 1ère fois
29 else 50 else
30 { 51 {
31 $title = "Créer un mot de passe"; 52 $title = 'Créer un mot de passe';
32 $subHeading = "Veuillez choisir le mot de passe que vous utiliserez pour gérer le site."; 53 $subHeading = 'Veuillez choisir le mot de passe que vous utiliserez pour gérer le site.';
33 54
34 require('view/password.php'); 55 require('view/password.php');
35 56
36 echo($header); 57 echo($header);
58 echo($errorBadCharacters);
37 echo($formulaireNouveauMDP); 59 echo($formulaireNouveauMDP);
38 echo($warning); 60 echo($warning);
39 } 61 }
@@ -103,37 +125,40 @@ function changePassword()
103 $title = "Nouveau mot de passe"; 125 $title = "Nouveau mot de passe";
104 $subHeading = "Veuillez saisir votre actuel mot de passe suivi du nouveau."; 126 $subHeading = "Veuillez saisir votre actuel mot de passe suivi du nouveau.";
105 127
106 // cette page utilise la même vue que la fonction connexion() dans controller/visiteur.php
107 require('view/password.php'); 128 require('view/password.php');
108
109 echo($header); 129 echo($header);
110 130
111 // traitements: vérification ancien mot de passe et choix du nouveau 131 // conformité du nouveau mot de passe
132 if(isset($_POST['nouveauMotdepasse']) && !empty($_POST['nouveauMotdepasse']))
133 {
134 require('controller/Security.php');
135 $newPassword = Security::secureString($_POST['nouveauMotdepasse']);
136 $newPassword = removeSpacesTabsCRLF($_POST['nouveauMotdepasse']);
137 }
138
112 // bon mot de passe 139 // bon mot de passe
113 //if(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] == $secret) 140 if(isset($newPassword) && $newPassword === $_POST['nouveauMotdepasse']
114 if(isset ($_POST["ancienMotdepasse"]) AND testPassword($_POST["ancienMotdepasse"])) 141 && isset ($_POST["ancienMotdepasse"]) AND testPassword($_POST["ancienMotdepasse"]))
115 { 142 {
116 // enregistrement 143 // enregistrement et confirmation
117 hashNewPassword($_POST["nouveauMotdepasse"]); 144 hashNewPassword($_POST["nouveauMotdepasse"]);
118 145 echo($message);
119 // confirmation
120 echo($message);
121 //exit();
122
123 /*header('Location: index.php?page=' . $_GET['from'] . '&message=nouveau_mdp');
124 exit();*/
125 } 146 }
126
127 // mauvais mot de passe 147 // mauvais mot de passe
128 elseif(isset ($_POST["ancienMotdepasse"]) AND !testPassword($_POST["ancienMotdepasse"])) 148 elseif(isset ($_POST["ancienMotdepasse"]) AND !testPassword($_POST["ancienMotdepasse"]))
129 { 149 {
130 // défense aux attaques par force brute 150 // défense aux attaques par force brute
131 // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site 151 // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site
132 echo($erreurMDP); 152 echo($errorPassword);
133 sleep(1); 153 sleep(1);
134 echo($formulaireModifMDP); 154 echo($formulaireModifMDP);
135 } 155 }
136 156 // erreur de conformité
157 elseif(isset($newPassword) && $newPassword !== $_POST['nouveauMotdepasse'])
158 {
159 echo($errorBadCharacters);
160 echo($formulaireModifMDP);
161 }
137 // première arrivée sur la page 162 // première arrivée sur la page
138 else 163 else
139 { 164 {
@@ -146,7 +171,7 @@ function changePassword()
146 171
147 172
148// hachage 173// hachage
149function hashNewPassword($newPassword) 174function hashNewPassword(string $newPassword)
150{ 175{
151 // "réparation" des espaces accidentels 176 // "réparation" des espaces accidentels
152 $newPassword= trim($newPassword); 177 $newPassword= trim($newPassword);
@@ -160,7 +185,7 @@ function hashNewPassword($newPassword)
160 chmod('data/password.txt', 0600); 185 chmod('data/password.txt', 0600);
161} 186}
162 187
163function testPassword($password) 188function testPassword(string $password): bool
164{ 189{
165 // lecture 190 // lecture
166 $oldHashedPassword = file_get_contents('data/password.txt'); 191 $oldHashedPassword = file_get_contents('data/password.txt');
diff --git a/controller/visitor.php b/controller/visitor.php
index f0dc877..aae15a7 100644
--- a/controller/visitor.php
+++ b/controller/visitor.php
@@ -7,7 +7,7 @@
7function accueil() 7function accueil()
8{ 8{
9 $title = "Bienvenue sur le site de Melaine Favennec"; 9 $title = "Bienvenue sur le site de Melaine Favennec";
10 $page_actuelle = "accueil"; 10 $page = "accueil";
11 $content = ''; 11 $content = '';
12 12
13 // variables $js et $header 13 // variables $js et $header
@@ -19,7 +19,7 @@ function accueil()
19function menu() 19function menu()
20{ 20{
21 $title = "Melaine Favennec - menu BD"; 21 $title = "Melaine Favennec - menu BD";
22 $page_actuelle = "menu"; 22 $page = "menu";
23 23
24 // variables $css, $js, $header et $content 24 // variables $css, $js, $header et $content
25 require('view/menu.php'); 25 require('view/menu.php');
@@ -27,38 +27,91 @@ function menu()
27 require('view/template.php'); 27 require('view/template.php');
28} 28}
29 29
30function melaineVisitor() 30// toutes celles du menu sauf: menu et discographie
31function pageArticlesSimplesVisitor(string $page, string $title, string $headerPaintedTitle)
31{ 32{
32 $page_actuelle = "melaine"; 33 $headerImage = '<div class="photo" id="photo_' . $page . '" ></div>';
33 $title = "Mais qui est Melaine Favennec?";
34 34
35 // infos sur les fichiers 35 // infos sur les fichiers $Articles->fileList
36 $Articles = new Article($page_actuelle); 36 $Articles = new Article($page);
37 37
38 // données des dates 38 // données des dates
39 //print_r($Articles->fileList[$i]['date']); 39 //print_r($Articles->fileList[$i]['date']);
40 //getdate($Albums->fileList[$i]['fileCode']); 40 //getdate($Albums->fileList[$i]['fileCode']);
41 41
42 // ajout des dones dans $Articles->fileList['content'] 42 // si la page n'est pas vide
43 if(!empty($Articles->fileList)) 43 if(!empty($Articles->fileList))
44 { 44 {
45 // données dans $Articles->fileList['content']
45 $Articles->readAll(); 46 $Articles->readAll();
46 $Articles->fileList = array_reverse($Articles->fileList); 47 $Articles->fileList = array_reverse($Articles->fileList);
47 } 48 }
48 49
49 // variables $css, $js, $header et $content 50 // variables $css, $js, $header et $content
50 require('view/melaine.php'); 51 require('view/pageArticlesSimples.php');
51 // HTML 52 // HTML
52 require('view/template.php'); 53 require('view/template.php');
53} 54}
54 55
56function melaineVisitor()
57{
58 $page = "melaine";
59 $title = "Mais qui est Melaine Favennec?";
60 $headerPaintedTitle = 'Melaine Favennec';
61 pageArticlesSimplesVisitor($page, $title, $headerPaintedTitle);
62}
63function concertsVisitor()
64{
65 $page = "concerts";
66 $title = "Concerts";
67 $headerPaintedTitle = 'Concerts';
68 pageArticlesSimplesVisitor($page, $title, $headerPaintedTitle);
69}
70function presseVisitor()
71{
72 $page = "presse";
73 $title = "La presse";
74 $headerPaintedTitle = 'La Presse';
75 pageArticlesSimplesVisitor($page, $title, $headerPaintedTitle);
76}
77function ateliersVisitor()
78{
79 $page = "ateliers";
80 $title = "Ateliers";
81 $headerPaintedTitle = 'Les ateliers de Melaine';
82 pageArticlesSimplesVisitor($page, $title, $headerPaintedTitle);
83}
84function liensVisitor()
85{
86 $page = "liens";
87 $title = "Liens";
88 $headerPaintedTitle = 'Liens';
89 pageArticlesSimplesVisitor($page, $title, $headerPaintedTitle);
90}
91function peintureVisitor()
92{
93 $page = "peinture";
94 $title = "peinture";
95 $headerPaintedTitle = 'Celtic Boats';
96 pageArticlesSimplesVisitor($page, $title, $headerPaintedTitle);
97}
98function archivesVisitor()
99{
100 $page = "archives";
101 $title = "Archives";
102 $headerPaintedTitle = 'Archives';
103 pageArticlesSimplesVisitor($page, $title, $headerPaintedTitle);
104}
105
106
107// page plus complexe que les autres
55function discoVisitor() 108function discoVisitor()
56{ 109{
57 $page_actuelle = "discographie"; 110 $page = "discographie";
58 $title = "Discographie"; 111 $title = "Discographie";
59 112
60 // modèle 113 // modèle
61 $Albums = new Album($page_actuelle); 114 $Albums = new Album($page);
62 //var_dump($Albums->fileList); die(); 115 //var_dump($Albums->fileList); die();
63 116
64 // on récupère tout: JSON, HTML, noms et chemins des fichiers 117 // on récupère tout: JSON, HTML, noms et chemins des fichiers
@@ -117,27 +170,27 @@ function discoVisitor()
117// page d'un album 170// page d'un album
118function album($fileCode) 171function album($fileCode)
119{ 172{
120 $page_actuelle = 'discographie'; // ??? 173 $page = 'discographie'; // = nom du dossier où sont les données
121 174
122 $Albums = new Album($page_actuelle); 175 $Albums = new Album($page);
123 $Albums->getAllJSON(); 176 $Albums->getAllJSON();
124 $Albums->fileCode = $fileCode; 177 $Albums->fileCode = $fileCode;
125 $Albums->readOne(); 178 $Albums->readOne();
126 179
127 //var_dump($Albums); die(); 180 $title = $Albums->oneAlbum['titre'];
128
129 $album = $Albums->oneAlbum['HTMLcontent']; 181 $album = $Albums->oneAlbum['HTMLcontent'];
130 //$album = Album::readOneHTML($fileCode);
131 182
132 for($i = 0; $i < $Albums->fileListCount; $i++) 183 for($i = 0; $i < $Albums->fileListCount; $i++)
133 { 184 {
134 if(file_exists('data/discographie/html/' . $Albums->fileList[$i]['fileCode'] . '.html')) 185 if(file_exists('data/discographie/html/' . $Albums->fileList[$i]['fileCode'] . '.html'))
135 { 186 {
136 $lienAlbum[$i] = 'page=album&file_code=' . $Albums->fileList[$i]['fileCode']; 187 $lienAlbum[$i] = 'page=album&file_code=' . $Albums->fileList[$i]['fileCode'];
188 $linkDiscoChrono[$i] = 'linkChrono'; // pour le css
137 } 189 }
138 else 190 else
139 { 191 {
140 $lienAlbum[$i] = 'page=discographie#' . $Albums->fileList[$i]['titre']; 192 $lienAlbum[$i] = 'page=discographie#' . $Albums->fileList[$i]['titre'];
193 $linkDiscoChrono[$i] = 'noLinkChrono'; // pour le css
141 } 194 }
142 } 195 }
143 196
@@ -146,18 +199,3 @@ function album($fileCode)
146 // HTML 199 // HTML
147 require('view/template.php'); 200 require('view/template.php');
148} 201}
149
150function presse()
151{}
152
153function ateliers()
154{}
155
156function liens()
157{}
158
159function peinture()
160{}
161
162function archives()
163{} \ No newline at end of file