diff --git a/core/core.php b/core/core.php index fee015e1..1ea2cb01 100644 --- a/core/core.php +++ b/core/core.php @@ -456,20 +456,8 @@ class common { $this->importData(); // Import des données - if($this->data === []) { - // Trois tentatives - for($i = 0; $i < 3; $i++) { - $this->setData([json_decode(file_get_contents('site/data/core.json'), true) + json_decode(file_get_contents('site/data/theme.json'), true)]); - if($this->data) { - break; - } - elseif($i === 2) { - exit('Unable to read data file.'); - } - // Pause de 10 millisecondes - usleep(10000); - } - + if($this->data === []) { + $this->readData(); } // Mise à jour @@ -537,7 +525,23 @@ class common { } } - + public function readData() { + if($this->data === []) { + // Trois tentatives + for($i = 0; $i < 3; $i++) { + $this->setData([json_decode(file_get_contents('site/data/core.json'), true) + json_decode(file_get_contents('site/data/theme.json'), true)]); + if($this->data) { + break; + } + elseif($i === 2) { + exit('Unable to read data file.'); + } + // Pause de 10 millisecondes + usleep(10000); + } + } + } + /** * Import des données du la version 8 * Converti un fichier de données data.json puis le renomme diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index 538bdbe5..2fe28aa2 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -452,21 +452,31 @@ class theme extends common { $zip = new ZipArchive(); if ($zip->open('site/file/source/'.$zipFilename) === TRUE) { + unlink('site/data/theme.json'); $zip->extractTo('.'); $zip->close(); - } + // Import du thème + $this->readData(); // Valeurs en sortie $this->addOutput([ - 'notification' => 'Archive '.$zipFilename.' sauvegardée dans fichiers', + 'notification' => 'Le thème '.$zipFilename.' a été importé', 'redirect' => helper::baseUrl() . 'theme', 'state' => true ]); + } else { + $this->addOutput([ + 'notification' => 'Erreur avec le thème '.$zipFilename, + 'redirect' => helper::baseUrl() . 'theme/manage' + ]); + } } + // Valeurs en sortie $this->addOutput([ 'title' => 'Gestion des thèmes', 'view' => 'manage' ]); + }