forked from ZwiiCMS-Team/ZwiiCMS
Store Fonction importModule pour le store et l'import de zip
This commit is contained in:
parent
8112e732d7
commit
39e6e38107
@ -25,7 +25,8 @@ class addon extends common {
|
|||||||
'import' => self::GROUP_ADMIN,
|
'import' => self::GROUP_ADMIN,
|
||||||
'store' => self::GROUP_ADMIN,
|
'store' => self::GROUP_ADMIN,
|
||||||
'item' => self::GROUP_ADMIN,
|
'item' => self::GROUP_ADMIN,
|
||||||
'upload' => self::GROUP_ADMIN
|
'upload' => self::GROUP_ADMIN,
|
||||||
|
'storeDownload'=> self::GROUP_ADMIN
|
||||||
];
|
];
|
||||||
|
|
||||||
// Gestion des modules
|
// Gestion des modules
|
||||||
@ -235,15 +236,24 @@ class addon extends common {
|
|||||||
mb_detect_encoding(strftime('%d %B %Y', $store[$key]['fileDate']), 'UTF-8', true)
|
mb_detect_encoding(strftime('%d %B %Y', $store[$key]['fileDate']), 'UTF-8', true)
|
||||||
? strftime('%d %B %Y', $store[$key]['fileDate'])
|
? strftime('%d %B %Y', $store[$key]['fileDate'])
|
||||||
: utf8_encode(strftime('%d %B %Y', $store[$key]['fileDate'])),
|
: utf8_encode(strftime('%d %B %Y', $store[$key]['fileDate'])),
|
||||||
implode(', ',array_keys($inPages,$key)) === ''
|
template::button('moduleExport' . $key, [
|
||||||
? template::button('moduleExport' . $key, [
|
|
||||||
'class' => 'buttonBlue',
|
'class' => 'buttonBlue',
|
||||||
'href' => helper::baseUrl(). $this->getUrl(0) . '/installModule/' . $key.'/' . $_SESSION['csrf'],// appel de fonction vaut exécution, utiliser un paramètre
|
'href' => helper::baseUrl(). $this->getUrl(0) . '/storeDownload/' . $key.'/' . $_SESSION['csrf'],// appel de fonction vaut exécution, utiliser un paramètre
|
||||||
'value' => template::ico('download')
|
'value' => template::ico('download')
|
||||||
])
|
])
|
||||||
: ''
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
/**
|
||||||
|
* implode(', ',array_keys($inPages,$key)) === ''
|
||||||
|
* ? template::button('moduleExport' . $key, [
|
||||||
|
* 'class' => 'buttonBlue',
|
||||||
|
* 'href' => helper::baseUrl(). $this->getUrl(0) . '/installModule/' . $key.'/' . $_SESSION['csrf'],// appel de fonction vaut exécution, utiliser un paramètre
|
||||||
|
* 'value' => template::ico('download')
|
||||||
|
* ])
|
||||||
|
* : ''
|
||||||
|
* ];
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,7 +331,7 @@ class addon extends common {
|
|||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Gestion des modules',
|
'title' => 'Modules installés',
|
||||||
'view' => 'index'
|
'view' => 'index'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -448,6 +458,45 @@ class addon extends common {
|
|||||||
if($this->isPost()) {
|
if($this->isPost()) {
|
||||||
// Récupérer le fichier et le décompacter
|
// Récupérer le fichier et le décompacter
|
||||||
$zipFilename = $this->getInput('addonImportFile', helper::FILTER_STRING_SHORT, true);
|
$zipFilename = $this->getInput('addonImportFile', helper::FILTER_STRING_SHORT, true);
|
||||||
|
$list = $this->importModule($zipFilename);
|
||||||
|
if( $list !== '' ){
|
||||||
|
$success = false;
|
||||||
|
strpos( $list, ',') === false ? $notification = 'Import impossible la page suivante doit être renommée :'.$list : $notification = 'Import impossible les pages suivantes doivent être renommées :'.$list;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$success = true;
|
||||||
|
$notification = 'Import réussi';
|
||||||
|
}
|
||||||
|
// Valeurs en sortie
|
||||||
|
$this->addOutput([
|
||||||
|
'redirect' => helper::baseUrl() . 'addon',
|
||||||
|
'state' => $success,
|
||||||
|
'notification' => $notification
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
// Valeurs en sortie
|
||||||
|
$this->addOutput([
|
||||||
|
'title' => 'Importer des données de module',
|
||||||
|
'view' => 'import'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Téléchargement d'un module à partir du store
|
||||||
|
*/
|
||||||
|
public function storeDownload() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Installation d'un module
|
||||||
|
* @param moduleName url du module à installer
|
||||||
|
*/
|
||||||
|
private function installModule($moduleName) {
|
||||||
$tempFolder = uniqid();
|
$tempFolder = uniqid();
|
||||||
mkdir (self::TEMP_DIR . $tempFolder);
|
mkdir (self::TEMP_DIR . $tempFolder);
|
||||||
$zip = new ZipArchive();
|
$zip = new ZipArchive();
|
||||||
@ -494,26 +543,6 @@ class addon extends common {
|
|||||||
// Supprimer le dossier temporaire
|
// Supprimer le dossier temporaire
|
||||||
$this->removeDir(self::TEMP_DIR . $tempFolder);
|
$this->removeDir(self::TEMP_DIR . $tempFolder);
|
||||||
$zip->close();
|
$zip->close();
|
||||||
if( $list !== '' ){
|
return($list);
|
||||||
$success = false;
|
|
||||||
strpos( $list, ',') === false ? $notification = 'Import impossible la page suivante doit être renommée :'.$list : $notification = 'Import impossible les pages suivantes doivent être renommées :'.$list;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$success = true;
|
|
||||||
$notification = 'Import réussi';
|
|
||||||
}
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'redirect' => helper::baseUrl() . 'addon',
|
|
||||||
'state' => $success,
|
|
||||||
'notification' => $notification
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'title' => 'Importer des données de module',
|
|
||||||
'view' => 'import'
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php if($module::$storeList): ?>
|
<?php if($module::$storeList): ?>
|
||||||
<?php echo template::table([4, 3, 4, 1], $module::$storeList, ['Module', 'Version', 'Date', 'Installer']); ?>
|
<?php echo template::table([4, 3, 4, 1], $module::$storeList, ['Module', 'Version', 'Date', 'Télécharger']); ?>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<?php echo template::speech('Le catalogue est vide.'); ?>
|
<?php echo template::speech('Le catalogue est vide.'); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
Loading…
Reference in New Issue
Block a user