[10.0.45.dev] import en cours

This commit is contained in:
fredtempez 2019-10-22 13:44:13 +02:00
parent d07f5984f2
commit fee7a974e4

View File

@ -265,33 +265,42 @@ class config extends common {
$file_parts = pathinfo($fileZip); $file_parts = pathinfo($fileZip);
$folder = date('Y-m-d-h-i-s', time()); $folder = date('Y-m-d-h-i-s', time());
$zip = new ZipArchive(); $zip = new ZipArchive();
$successOpen = $zip->open(self::FILE_DIR . 'source/' . $fileZip); if ($file_parts['extension'] !== 'zip') {
if (file_exists(self::FILE_DIR . 'source/' . $fileZip)) { echo "ok";} // Valeurs en sortie erreur
if ($successOpen === FALSE) { $this->addOutput([
// Décompacter dans le dossier temp 'notification' => 'Le fichier n\'est pas une archive valide',
die("erreur de zip"); 'redirect' => helper::baseUrl() . 'config/manage',
'state' => false
]);
} }
// nettoyer le dossier temp $successOpen = $zip->open(self::FILE_DIR . 'source/' . $fileZip);
$lastClearTmp = mktime(0, 0, 0); if ($successOpen === FALSE) {
$this->clearTmpFolder(); // Valeurs en sortie erreur
// Date de la dernière suppression $this->addOutput([
$this->setData(['core', 'lastClearTmp', $lastClearTmp]); 'notification' => 'Impossible de lire l\'archive',
// Extraire le zip 'redirect' => helper::baseUrl() . 'config/manage',
$zip->extractTo(helper::baseUrl() . self::TEMP_DIR . $folder); 'state' => false
$zip->close(); ]);
// Vérifier la présence des fichiers }
// Effectuer un backup forcé // Vérifier la présence des fichiers à minima theme et core
// Transférer le contenu dans le dossier site if ($zip->getFromName( 'site/data/theme.json') === true &&
$zip->getFromName( 'site/data/core.json') === true) {
// Extraire le zip
$zip->extractTo( '.' );
// Fermer l'archive
$zip->close();
} else {
// Valeurs en sortie erreur
$this->addOutput([
'notification' => 'Cette archive n\'est pas une sauvegarde valide',
'redirect' => helper::baseUrl() . 'config/manage',
'state' => false
]);
}
} }
// Valeurs en sortie erreur
/**
$this->addOutput([
'notification' => 'Le fichier n\'est pas une archive ZIP',
'redirect' => helper::baseUrl() . 'config/manage',
'state' => false
]);
*/
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([