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'
]);
+
}