page = $page; $this->albumCode = ''; // désigne un fichier json et un html $this->format = 'json'; // vaut 'html' dans la classe mère $this->time = time(); } // GET // SET // fonctions CRUD // create public function createVignette($titre, $annee, $pochette) { //$this->format = 'json'; if($pochette != '') { // télécharger la pochette require('model/Image.php'); $Image = new Image(false); $Image->upload(); /*$erreur = $Image->erreur; if(!empty($erreur)) {}*/ } $albumJSON = json_encode([$titre, $annee, $pochette]); $nom_fichier = 'data/' . $this->page . '/' . $this->format . '/' . $this->time . '.' . $this->format; $fichier = fopen($nom_fichier, 'w'); // w pour créer ou écraser fputs($fichier, $albumJSON); fclose($fichier); chmod($nom_fichier, 0666); return($Image->erreur); } // read public function readAll() { // lecture des données $albumsJSON = parent::readAll(); // conversion des chaines JSON en tableaux: titre, année, pochette for($i = 0; $i < count($albumsJSON); $i++) { $albumsJSON[$i] = json_decode($albumsJSON[$i], true); } return($albumsJSON); } public function getVignetteJSON() { return(json_decode(file_get_contents('data/discographie/json/' . $this->albumCode . '.json'))); } // page de l'album public static function readOneHTML($albumCode) { if(file_exists('data/discographie/html/' . $albumCode . '.html')) { return(file_get_contents('data/discographie/html/' . $albumCode . '.html')); } else { return(''); } } // pour afficher des dates /*public function getDate($fileNumber) { // le 2è paramètre exclut le suffixe .html $timestamp = basename($this->files[$fileNumber], '.html'); return getdate($timestamp); }*/ // update public function updateVignetteJSON($titre, $annee, $pochette) { // garder l'ancienne image $albumJSON = self::getVignetteJSON(); if($pochette == '') { $pochette = $albumJSON[2]; } else { // télécharger la pochette require('model/Image.php'); $Image = new Image(false); $Image->upload(); } $albumJSON = json_encode([$titre, $annee, $pochette]); // écriture $nom_fichier = 'data/discographie/json/' . $this->albumCode . '.json'; $fichier = fopen($nom_fichier, 'w+'); // w pour créer ou écraser fputs($fichier, $albumJSON); fclose($fichier); chmod($nom_fichier, 0666); return($Image->erreur); } // delete public function delete() { unlink('data/' . $this->page . '/' . $this->format . '/' . $this->albumCode . '.json'); if(file_exists('data/' . $this->page . '/html/' . $this->albumCode . '.html')); { unlink('data/' . $this->page . '/html/' . $this->albumCode . '.html'); } } }