summaryrefslogtreecommitdiff
path: root/model/Album.php
diff options
context:
space:
mode:
Diffstat (limited to 'model/Album.php')
-rw-r--r--model/Album.php111
1 files changed, 84 insertions, 27 deletions
diff --git a/model/Album.php b/model/Album.php
index 1631c46..386a50f 100644
--- a/model/Album.php
+++ b/model/Album.php
@@ -1,14 +1,17 @@
1<?php 1<?php
2// model/Album.php 2// model/Album.php
3 3
4class Album extends Page // classe "objet" 4class Album extends Article
5{ 5{
6 public $oneAlbum;
7
6 public function __construct($page) 8 public function __construct($page)
7 { 9 {
8 $this->page = $page; 10 $this->page = $page;
9 $this->albumCode = ''; // désigne un fichier json et un html 11 $this->fileCode = ''; // désigne un fichier json et un html
10 $this->format = 'json'; // vaut 'html' dans la classe mère 12 $this->format = 'json'; // vaut 'html' dans la classe mère
11 $this->time = time(); 13 $this->time = time();
14 $this->makeFileList();
12 } 15 }
13 16
14 // GET 17 // GET
@@ -24,17 +27,24 @@ class Album extends Page // classe "objet"
24 27
25 if($pochette != '') 28 if($pochette != '')
26 { 29 {
30 //echo($pochette); die(); // = nom sans chemin
31
27 // télécharger la pochette 32 // télécharger la pochette
28 require('model/Image.php'); 33 require('model/Image.php');
29 $Image = new Image(false); 34 $Image = new Image(false);
30 $Image->upload(); 35 $Image->upload();
31 36
32 /*$erreur = $Image->erreur; 37 $erreur = $Image->erreur;
33 if(!empty($erreur)) 38 if(!empty($erreur))
34 {}*/ 39 {}
35 } 40 }
36 41
42 // encodage avec un tableau simple
37 $albumJSON = json_encode([$titre, $annee, $pochette]); 43 $albumJSON = json_encode([$titre, $annee, $pochette]);
44 //var_dump($albumJSON); die();
45
46 // encodage avec un tableau associatif
47 //$albumJSON = json_encode(['titre' => $titre, 'annee' => $annee,'pochette' => $pochette]);
38 48
39 $nom_fichier = 'data/' . $this->page . '/' . $this->format . '/' . $this->time . '.' . $this->format; 49 $nom_fichier = 'data/' . $this->page . '/' . $this->format . '/' . $this->time . '.' . $this->format;
40 50
@@ -43,35 +53,78 @@ class Album extends Page // classe "objet"
43 fclose($fichier); 53 fclose($fichier);
44 chmod($nom_fichier, 0666); 54 chmod($nom_fichier, 0666);
45 55
46 return($Image->erreur); 56 //return($Image->erreur);
47 } 57 }
48 58
49 // read 59 // read
50 public function readAll() 60 public function readAll()
51 { 61 {
52 // lecture des dones 62 // mettre le JSON dans fileList[$i]['content']
53 $albumsJSON = parent::readAll(); 63 parent::readAll();
54 64
55 // conversion des chaines JSON en tableaux: titre, année, pochette 65 $this->format = 'html';
56 for($i = 0; $i < count($albumsJSON); $i++) 66 for($i = 0; $i < $this->fileListCount; $i++)
57 { 67 {
58 $albumsJSON[$i] = json_decode($albumsJSON[$i], true); 68 // ajout du JSON
69 /*$content = file_get_contents($this->fileList[$i]['fileName']);
70 $content = json_decode($content, true);*/
71 $content = json_decode($this->fileList[$i]['content'], true);
72 //var_dump($content); die();
73
74 // lecture de $content étant un tableau simple
75 $this->fileList[$i]['titre'] = $content[0];
76 $this->fileList[$i]['annee'] = $content[1];
77 $this->fileList[$i]['pochette'] = $content[2];
78
79 // ajout du HTML si il existe
80 if(file_exists('data/' . $this->page . '/' . $this->format . '/' . $this->fileList[$i]['fileCode'] . '.' . $this->format))
81 {
82 $this->fileList[$i]['HTMLfileName'] = 'data/' . $this->page . '/' . $this->format . '/' . $this->fileList[$i]['fileCode'] . '.' . $this->format;
83 $this->fileList[$i]['HTMLcontent'] = file_get_contents($this->fileList[$i]['HTMLfileName']);
84 }
85 // utile?
86 else
87 {
88 $this->fileList[$i]['HTMLfileName'] = '';
89 $this->fileList[$i]['HTMLcontent'] = '';
90 }
59 } 91 }
60 92 // on remet comme avant
61 return($albumsJSON); 93 $this->format = 'json';
62 } 94 }
63 95
64 public function getVignetteJSON() 96 public function readOne()
65 { 97 {
66 return(json_decode(file_get_contents('data/discographie/json/' . $this->albumCode . '.json'))); 98 for($i = 0; $i < $this->fileListCount; $i++)
99 {
100 if($_SESSION['target'] == $this->fileList[$i]['fileCode'])
101 {
102 // json
103 $this->oneAlbum['fileCode'] = $this->fileList[$i]['fileCode'];
104 $this->oneAlbum['fileName'] = 'data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format;
105 $this->oneAlbum['content'] = file_get_contents($this->fileList[$i]['fileName']);
106 $content = json_decode($this->oneAlbum['content']);
107 $this->oneAlbum['titre'] = $content[0];
108 $this->oneAlbum['annee'] = $content[1];
109 $this->oneAlbum['pochette'] = $content[2];
110
111 // html
112 $this->format = 'html';
113 if(file_exists('data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format))
114 {
115 $this->oneAlbum['HTMLfileName'] = 'data/' . $this->page . '/' . $this->format . '/' . $this->fileCode . '.' . $this->format;
116 $this->oneAlbum['HTMLcontent'] = file_get_contents($this->oneAlbum['HTMLfileName']);
117 }
118 }
119 }
67 } 120 }
68 121
69 // page de l'album 122 // page d'un album
70 public static function readOneHTML($albumCode) 123 public static function readOneHTML($fileCode)
71 { 124 {
72 if(file_exists('data/discographie/html/' . $albumCode . '.html')) 125 if(file_exists('data/discographie/html/' . $fileCode . '.html'))
73 { 126 {
74 return(file_get_contents('data/discographie/html/' . $albumCode . '.html')); 127 return(file_get_contents('data/discographie/html/' . $fileCode . '.html'));
75 } 128 }
76 else 129 else
77 { 130 {
@@ -79,13 +132,10 @@ class Album extends Page // classe "objet"
79 } 132 }
80 } 133 }
81 134
82 // pour afficher des dates 135 public function getVignetteJSON()
83 /*public function getDate($fileNumber)
84 { 136 {
85 // le 2è paramètre exclut le suffixe .html 137 return(json_decode(file_get_contents('data/discographie/json/' . $this->fileCode . '.json')));
86 $timestamp = basename($this->files[$fileNumber], '.html'); 138 }
87 return getdate($timestamp);
88 }*/
89 139
90 // update 140 // update
91 public function updateVignetteJSON($titre, $annee, $pochette) 141 public function updateVignetteJSON($titre, $annee, $pochette)
@@ -103,6 +153,12 @@ class Album extends Page // classe "objet"
103 require('model/Image.php'); 153 require('model/Image.php');
104 $Image = new Image(false); 154 $Image = new Image(false);
105 $Image->upload(); 155 $Image->upload();
156 $erreur = $Image->erreur;
157 if(!empty($erreur))
158 {
159 // remettre pochette d'avant
160 //$pochette
161 }
106 } 162 }
107 163
108 $albumJSON = json_encode([$titre, $annee, $pochette]); 164 $albumJSON = json_encode([$titre, $annee, $pochette]);
@@ -120,11 +176,12 @@ class Album extends Page // classe "objet"
120 // delete 176 // delete
121 public function delete() 177 public function delete()
122 { 178 {
123 unlink('data/' . $this->page . '/' . $this->format . '/' . $this->albumCode . '.json'); 179 parent::delete();
124 180
125 if(file_exists('data/' . $this->page . '/html/' . $this->albumCode . '.html')); 181 if(file_exists('data/' . $this->page . '/html/' . $this->fileCode . '.' . $this->format));
126 { 182 {
127 unlink('data/' . $this->page . '/html/' . $this->albumCode . '.html'); 183 $this->format = 'html';
184 parent::delete();
128 } 185 }
129 } 186 }
130} 187}