plugin dialogues manquants + plugin données des modules dans le cloud
This commit is contained in:
parent
0a29e83b3f
commit
c36c8de863
|
@ -130,6 +130,8 @@
|
||||||
"Supprimer le module": "Eliminar módulo",
|
"Supprimer le module": "Eliminar módulo",
|
||||||
"Sauvegarder le module dans le gestionnaire de fichiers": "Guardar módulo en el administrador de archivos",
|
"Sauvegarder le module dans le gestionnaire de fichiers": "Guardar módulo en el administrador de archivos",
|
||||||
"Sauvegarder et télécharger le module": "Guardar y descargar módulo",
|
"Sauvegarder et télécharger le module": "Guardar y descargar módulo",
|
||||||
|
"Sauvegarder les données du module dans le gestionnaire de fichiers": "Guardar de los datos del módulo en el administrador de archivos",
|
||||||
|
"'Sauvegarder et télécharger les données du module": "Guardar y descargar de los datos del módulo",
|
||||||
"Installer depuis le catalogue en ligne": "Instalar desde el archivo en línea",
|
"Installer depuis le catalogue en ligne": "Instalar desde el archivo en línea",
|
||||||
"Installer depuis une archive": "Instalar desde un archivo",
|
"Installer depuis une archive": "Instalar desde un archivo",
|
||||||
"Mettre à jour le module orphelin": "Actualizar módulo huérfano",
|
"Mettre à jour le module orphelin": "Actualizar módulo huérfano",
|
||||||
|
|
|
@ -130,6 +130,8 @@
|
||||||
"Supprimer le module": "",
|
"Supprimer le module": "",
|
||||||
"Sauvegarder le module dans le gestionnaire de fichiers": "",
|
"Sauvegarder le module dans le gestionnaire de fichiers": "",
|
||||||
"Sauvegarder et télécharger le module": "",
|
"Sauvegarder et télécharger le module": "",
|
||||||
|
"Sauvegarder les données du module dans le gestionnaire de fichiers": "",
|
||||||
|
"'Sauvegarder et télécharger les données du module": "",
|
||||||
"Installer depuis le catalogue en ligne": "",
|
"Installer depuis le catalogue en ligne": "",
|
||||||
"Installer depuis une archive": "",
|
"Installer depuis une archive": "",
|
||||||
"Mettre à jour le module orphelin": "",
|
"Mettre à jour le module orphelin": "",
|
||||||
|
|
|
@ -520,12 +520,12 @@ class plugin extends common
|
||||||
template::button('dataExport' . $keyPage, [
|
template::button('dataExport' . $keyPage, [
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/filemanager/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/filemanager/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
||||||
'value' => template::ico('download-cloud'),
|
'value' => template::ico('download-cloud'),
|
||||||
'help' => 'Exporter les données du module'
|
'help' => 'Sauvegarder les données du module dans le gestionnaire de fichiers'
|
||||||
]),
|
]),
|
||||||
template::button('dataExport' . $keyPage, [
|
template::button('dataExport' . $keyPage, [
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/download/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/download/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
||||||
'value' => template::ico('download'),
|
'value' => template::ico('download'),
|
||||||
'help' => 'Exporter les données du module'
|
'help' => 'Sauvegarder et télécharger les données du module'
|
||||||
]),
|
]),
|
||||||
template::button('dataDelete' . $keyPage, [
|
template::button('dataDelete' . $keyPage, [
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataDelete/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataDelete/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
||||||
|
@ -550,7 +550,6 @@ class plugin extends common
|
||||||
/**
|
/**
|
||||||
* Sauvegarde un module sans les données
|
* Sauvegarde un module sans les données
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function save()
|
public function save()
|
||||||
{
|
{
|
||||||
// Jeton incorrect
|
// Jeton incorrect
|
||||||
|
@ -584,14 +583,14 @@ class plugin extends common
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construire l'archive
|
// Construire l'archive
|
||||||
$this->makeZip($tmpFolder . '/' . $fileName, self::MODULE_DIR . $moduleId);
|
$this->makeZip(self::TEMP_DIR . $fileName, self::MODULE_DIR . $moduleId);
|
||||||
|
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'filemanager':
|
case 'filemanager':
|
||||||
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/' . $moduleId . '.zip');
|
$success = $success && copy(self::TEMP_DIR . $fileName, self::FILE_DIR . 'source/modules/' . $moduleId . '.zip');
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
|
@ -600,19 +599,19 @@ class plugin extends common
|
||||||
'state' => $success
|
'state' => $success
|
||||||
]);
|
]);
|
||||||
// Nettoyage
|
// Nettoyage
|
||||||
unlink($tmpFolder . '/' . $fileName);
|
unlink(self::TEMP_DIR . $fileName);
|
||||||
$this->removeDir($tmpFolder);
|
$this->removeDir($tmpFolder);
|
||||||
break;
|
break;
|
||||||
case 'download':
|
case 'download':
|
||||||
default:
|
default:
|
||||||
header('Content-Type: application/octet-stream');
|
header('Content-Type: application/octet-stream');
|
||||||
header('Content-Disposition: attachment; filename="' . $fileName . '"');
|
header('Content-Disposition: attachment; filename="' . $fileName . '"');
|
||||||
header('Content-Length: ' . filesize($tmpFolder . '/' . $fileName));
|
header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName));
|
||||||
ob_clean();
|
ob_clean();
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
readfile($tmpFolder . '/' . $fileName);
|
readfile(self::TEMP_DIR . $fileName);
|
||||||
// Nettoyage
|
// Nettoyage
|
||||||
unlink($tmpFolder . '/' . $fileName);
|
unlink(self::TEMP_DIR . $fileName);
|
||||||
$this->removeDir($tmpFolder);
|
$this->removeDir($tmpFolder);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
@ -689,32 +688,50 @@ class plugin extends common
|
||||||
$infoModule = $infoModules[$moduleId];
|
$infoModule = $infoModules[$moduleId];
|
||||||
|
|
||||||
// Copier les données et le descripteur
|
// Copier les données et le descripteur
|
||||||
$success = file_put_contents($tmpFolder . '/module.json', json_encode($moduleData));
|
$success = file_put_contents($tmpFolder . '/module.json', json_encode($moduleData)) === false ? false : true;
|
||||||
$success .= file_put_contents($tmpFolder . '/enum.json', json_encode( [$moduleId => $infoModule]));
|
|
||||||
|
$success = $success && is_int(file_put_contents($tmpFolder . '/enum.json', json_encode( [$moduleId => $infoModule])));
|
||||||
// Le dossier du module s'il existe
|
// Le dossier du module s'il existe
|
||||||
if (is_dir(self::DATA_DIR . $moduleId . '/' . $pageId )) {
|
if (is_dir(self::DATA_DIR . $moduleId . '/' . $pageId )) {
|
||||||
// Copier le dossier des données
|
// Copier le dossier des données
|
||||||
$success .= $this->copyDir(self::DATA_DIR . '/'. $moduleId . '/' . $pageId , $tmpFolder . '/dataDirectory' );
|
$success = $success && $this->copyDir(self::DATA_DIR . '/'. $moduleId . '/' . $pageId , $tmpFolder . '/dataDirectory' );
|
||||||
}
|
}
|
||||||
|
|
||||||
// création du zip
|
// Création du zip
|
||||||
|
$fileName = $lang . '-' . $moduleId . '-' . $pageId . '.zip';
|
||||||
|
$this->makeZip(self::TEMP_DIR . $fileName, $tmpFolder);
|
||||||
|
|
||||||
|
// Gestin de l'action
|
||||||
if ($success) {
|
if ($success) {
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'filemanager':
|
case 'filemanager':
|
||||||
|
if (!file_exists(self::FILE_DIR . 'source/modules')) {
|
||||||
|
mkdir(self::FILE_DIR . 'source/modules');
|
||||||
|
}
|
||||||
|
if (file_exists(self::TEMP_DIR . $fileName)) {
|
||||||
|
$success = $success && copy(self::TEMP_DIR . $fileName, self::FILE_DIR . 'source/modules/data' . $moduleId . '.zip');
|
||||||
|
// Valeurs en sortie
|
||||||
|
$this->addOutput([
|
||||||
|
'redirect' => helper::baseUrl() . 'plugin',
|
||||||
|
'notification' => $success ? helper::translate('Données copiées dans le dossier Module du gestionnaire de fichier') : helper::translate('Erreur de copie'),
|
||||||
|
'state' => $success
|
||||||
|
]);
|
||||||
|
// Nettoyage
|
||||||
|
unlink(self::TEMP_DIR . $fileName);
|
||||||
|
$this->removeDir($tmpFolder);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'download':
|
case 'download':
|
||||||
default:
|
default:
|
||||||
$fileName = $lang . '-' . $moduleId . '-' . $pageId . '.zip';
|
if (file_exists(self::TEMP_DIR . $fileName)) {
|
||||||
$this->makeZip($fileName, $tmpFolder);
|
|
||||||
if (file_exists($fileName)) {
|
|
||||||
ob_start();
|
ob_start();
|
||||||
header('Content-Type: application/octet-stream');
|
header('Content-Type: application/octet-stream');
|
||||||
header('Content-Disposition: attachment; filename="' . $fileName . '"');
|
header('Content-Disposition: attachment; filename="' . self::TEMP_DIR . $fileName . '"');
|
||||||
header('Content-Length: ' . filesize($fileName));
|
header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName));
|
||||||
ob_clean();
|
ob_clean();
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
readfile($fileName);
|
readfile(self::TEMP_DIR . $fileName);
|
||||||
unlink($fileName);
|
unlink(self::TEMP_DIR . $fileName);
|
||||||
$this->removeDir($tmpFolder);
|
$this->removeDir($tmpFolder);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue