Sauveragde du descripteur d'un module

This commit is contained in:
Fred Tempez 2022-10-16 08:16:04 +02:00
parent 83dbd90a91
commit ddd0d3bf10
1 changed files with 18 additions and 10 deletions

View File

@ -569,8 +569,18 @@ class plugin extends common
mkdir($tmpFolder, 0755); mkdir($tmpFolder, 0755);
} }
// Descripteur de l'archive
$infoModule = helper::getModules();
//Nom de l'archive //Nom de l'archive
$fileName = $this->getUrl(3) . '.zip'; $fileName = $this->getUrl(3) . $infoModule [$this->getUrl(3)]['version'] . '.zip';
// Création du descripteur si absent
if (!file_exists(self::MODULE_DIR . $this->getUrl(3) . '/descripteur.json')) {
$success = file_put_contents(self::MODULE_DIR . $this->getUrl(3) . '/descripteur.json', json_encode([$this->getUrl(3) => $infoModule[$this->getUrl(3)]]));
}
// Construire l'archive
$this->makeZip($tmpFolder . '/' . $fileName, self::MODULE_DIR . $this->getUrl(3)); $this->makeZip($tmpFolder . '/' . $fileName, self::MODULE_DIR . $this->getUrl(3));
switch ($this->getUrl(2)) { switch ($this->getUrl(2)) {
@ -578,7 +588,7 @@ class plugin extends common
if (!file_exists(self::FILE_DIR . 'source/modules')) { if (!file_exists(self::FILE_DIR . 'source/modules')) {
mkdir(self::FILE_DIR . 'source/modules'); mkdir(self::FILE_DIR . 'source/modules');
} }
$success = copy($tmpFolder . '/' . $fileName, self::FILE_DIR . 'source/modules/' . $this->getUrl(3) . '.zip'); $success .= copy($tmpFolder . '/' . $fileName, self::FILE_DIR . 'source/modules/' . $this->getUrl(3) . '.zip');
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
@ -586,6 +596,9 @@ class plugin extends common
'notification' => $success ? $this->getUrl(3) . helper::translate('Archive copiée dans le dossier Module du gestionnaire de fichier') : helper::translate('Erreur de copie'), 'notification' => $success ? $this->getUrl(3) . helper::translate('Archive copiée dans le dossier Module du gestionnaire de fichier') : helper::translate('Erreur de copie'),
'state' => $success 'state' => $success
]); ]);
// Nettoyage
unlink($tmpFolder . '/' . $fileName);
$this->removeDir($tmpFolder);
break; break;
case 'download': case 'download':
default: default:
@ -595,12 +608,11 @@ class plugin extends common
ob_clean(); ob_clean();
ob_end_flush(); ob_end_flush();
readfile($tmpFolder . '/' . $fileName); readfile($tmpFolder . '/' . $fileName);
// Nettoyage
unlink($tmpFolder . '/' . $fileName);
$this->removeDir($tmpFolder);
exit(); exit();
break;
} }
// Nettoyage
unlink($tmpFolder . '/' . $fileName);
$this->removeDir($tmpFolder);
} }
} }
@ -673,10 +685,6 @@ class plugin extends common
$success .= $this->copyDir(self::DATA_DIR . $this->getUrl(3) . '/' . $this->getUrl(4), $tmpFolder); $success .= $this->copyDir(self::DATA_DIR . $this->getUrl(3) . '/' . $this->getUrl(4), $tmpFolder);
} }
// Descripteur de l'archive
$infoModule = helper::getModules();
$success .= file_put_contents($tmpFolder . '/descripteur.json', json_encode([$this->getUrl(3) => $infoModule[$this->getUrl(3)]]));
// création du zip // création du zip
if ($success) { if ($success) {