|
|
|
@ -20,13 +20,18 @@ class plugin extends common
|
|
|
|
|
public static $actions = [
|
|
|
|
|
'index' => self::GROUP_ADMIN,
|
|
|
|
|
'delete' => self::GROUP_ADMIN,
|
|
|
|
|
'save' => self::GROUP_ADMIN, // Sauvegarde le module dans un fichier ZIP ou dans le gestionnaire
|
|
|
|
|
'dataExport' => self::GROUP_ADMIN, // Fonction muette d'exportation
|
|
|
|
|
'dataImport' => self::GROUP_ADMIN, // les données d'un module
|
|
|
|
|
'save' => self::GROUP_ADMIN,
|
|
|
|
|
// Sauvegarde le module dans un fichier ZIP ou dans le gestionnaire
|
|
|
|
|
'dataExport' => self::GROUP_ADMIN,
|
|
|
|
|
// Fonction muette d'exportation
|
|
|
|
|
'dataImport' => self::GROUP_ADMIN,
|
|
|
|
|
// les données d'un module
|
|
|
|
|
'dataDelete' => self::GROUP_ADMIN,
|
|
|
|
|
'store' => self::GROUP_ADMIN,
|
|
|
|
|
'item' => self::GROUP_ADMIN, // détail d'un objet
|
|
|
|
|
'upload' => self::GROUP_ADMIN, // Téléverser catalogue
|
|
|
|
|
'item' => self::GROUP_ADMIN,
|
|
|
|
|
// détail d'un objet
|
|
|
|
|
'upload' => self::GROUP_ADMIN,
|
|
|
|
|
// Téléverser catalogue
|
|
|
|
|
'uploadItem' => self::GROUP_ADMIN // Téléverser par archive
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
@ -370,7 +375,8 @@ class plugin extends common
|
|
|
|
|
implode(', ', array_keys($pagesInfos, $key)),
|
|
|
|
|
template::button('moduleExport' . $key, [
|
|
|
|
|
'class' => $class,
|
|
|
|
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/uploadItem/' . $key . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
|
|
|
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/uploadItem/' . $key . '/' . $_SESSION['csrf'],
|
|
|
|
|
// appel de fonction vaut exécution, utiliser un paramètre
|
|
|
|
|
'value' => $ico,
|
|
|
|
|
'help' => $help
|
|
|
|
|
])
|
|
|
|
@ -515,17 +521,20 @@ class plugin extends common
|
|
|
|
|
$infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']]['version'],
|
|
|
|
|
template::flag($keyi18n, '20px') . ' <a href ="' . helper::baseUrl() . $keyPage . '" target="_blank">' . $pagesInfos[$keyi18n][$keyPage]['title'] . ' (' . $keyPage . ')</a>',
|
|
|
|
|
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'),
|
|
|
|
|
'help' => 'Sauvegarder les données du module dans le gestionnaire de fichiers'
|
|
|
|
|
]),
|
|
|
|
|
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'),
|
|
|
|
|
'help' => 'Sauvegarder et télécharger les données du module'
|
|
|
|
|
]),
|
|
|
|
|
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
|
|
|
|
|
'value' => template::ico('trash'),
|
|
|
|
|
'class' => 'buttonRed dataDelete',
|
|
|
|
|
'help' => 'Détacher le module de la page',
|
|
|
|
@ -599,15 +608,16 @@ class plugin extends common
|
|
|
|
|
break;
|
|
|
|
|
case 'download':
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
|
|
// Téléchargement du ZIP
|
|
|
|
|
header('Content-Description: File Transfer');
|
|
|
|
|
header('Content-Type: application/octet-stream');
|
|
|
|
|
header('Content-Transfer-Encoding: binary');
|
|
|
|
|
header('Content-Disposition: attachment; filename="' . $fileName . '"');
|
|
|
|
|
header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName));
|
|
|
|
|
ob_clean();
|
|
|
|
|
ob_end_flush();
|
|
|
|
|
readfile(self::TEMP_DIR . $fileName);
|
|
|
|
|
// Nettoyage
|
|
|
|
|
// Nettoyage du dossier
|
|
|
|
|
unlink(self::TEMP_DIR . $fileName);
|
|
|
|
|
$this->removeDir($tmpFolder);
|
|
|
|
|
exit();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -675,7 +685,7 @@ class plugin extends common
|
|
|
|
|
$moduleId = $this->getUrl(4);
|
|
|
|
|
$pageId = $this->getUrl(5);
|
|
|
|
|
|
|
|
|
|
// DOnnèes du module de la page sléectionnée
|
|
|
|
|
// DOnnèes du module de la page sélectionnée
|
|
|
|
|
$moduleData = $this->getData(['module', $pageId]);
|
|
|
|
|
|
|
|
|
|
// Descripteur du module
|
|
|
|
@ -696,7 +706,7 @@ class plugin extends common
|
|
|
|
|
$fileName = $lang . '-' . $moduleId . '-' . $pageId . '.zip';
|
|
|
|
|
$this->makeZip(self::TEMP_DIR . $fileName, $tmpFolder);
|
|
|
|
|
|
|
|
|
|
// Gestin de l'action
|
|
|
|
|
// Gestion de l'action
|
|
|
|
|
if ($success) {
|
|
|
|
|
switch ($action) {
|
|
|
|
|
case 'filemanager':
|
|
|
|
@ -719,15 +729,15 @@ class plugin extends common
|
|
|
|
|
case 'download':
|
|
|
|
|
default:
|
|
|
|
|
if (file_exists(self::TEMP_DIR . $fileName)) {
|
|
|
|
|
ob_start();
|
|
|
|
|
// Téléchargement du ZIP
|
|
|
|
|
header('Content-Description: File Transfer');
|
|
|
|
|
header('Content-Type: application/octet-stream');
|
|
|
|
|
header('Content-Disposition: attachment; filename="' . self::TEMP_DIR . $fileName . '"');
|
|
|
|
|
header('Content-Transfer-Encoding: binary');
|
|
|
|
|
header('Content-Disposition: attachment; filename="' . $fileName . '"');
|
|
|
|
|
header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName));
|
|
|
|
|
ob_clean();
|
|
|
|
|
ob_end_flush();
|
|
|
|
|
readfile(self::TEMP_DIR . $fileName);
|
|
|
|
|
// Nettoyage du dossier
|
|
|
|
|
unlink(self::TEMP_DIR . $fileName);
|
|
|
|
|
$this->removeDir($tmpFolder);
|
|
|
|
|
exit();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|