Sauvegarde et export du thème
This commit is contained in:
parent
836f0a51b7
commit
2d1faaa735
@ -26,7 +26,8 @@ class theme extends common {
|
||||
'site' => self::GROUP_ADMIN,
|
||||
'manage' => self::GROUP_ADMIN,
|
||||
'export' => self::GROUP_ADMIN,
|
||||
'import' => self::GROUP_ADMIN
|
||||
'import' => self::GROUP_ADMIN,
|
||||
'save' => self::GROUP_ADMIN
|
||||
];
|
||||
public static $aligns = [
|
||||
'left' => 'À gauche',
|
||||
@ -449,9 +450,7 @@ class theme extends common {
|
||||
public function manage() {
|
||||
if($this->isPost() ) {
|
||||
$archive = $this->getInput('themeManageImport', helper::FILTER_STRING_SHORT, true);
|
||||
echo $archive;
|
||||
|
||||
// import ok
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
@ -497,6 +496,39 @@ class theme extends common {
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Export du thème
|
||||
*/
|
||||
public function save() {
|
||||
// Creation du dossier
|
||||
$zipFilename = 'theme-'.date('dmYhms').'-'.rand(100,999).'.zip';
|
||||
$zip = new ZipArchive();
|
||||
if ($zip->open('site/tmp/' . $zipFilename, ZipArchive::CREATE | ZipArchive::OVERWRITE ) === TRUE) {
|
||||
$zip->addFile('site/data/theme.json','site/data/theme.json');
|
||||
if ($this->getData(['theme','body','image']) !== '' ) {
|
||||
$zip->addFile('site/file/source/'.$this->getData(['theme','body','image']),
|
||||
'site/file/source/'.$this->getData(['theme','body','image'])
|
||||
);
|
||||
}
|
||||
if ($this->getData(['theme','header','image']) !== '' ) {
|
||||
$zip->addFile('site/file/source/'.$this->getData(['theme','header','image']),
|
||||
'site/file/source/'.$this->getData(['theme','header','image'])
|
||||
);
|
||||
}
|
||||
$ret = $zip->close();
|
||||
}
|
||||
// Téléchargement du ZIP
|
||||
copy ('site/tmp/' . $zipFilename , 'site/file/source/' . $zipFilename);
|
||||
// Nettoyage du dossier
|
||||
unlink ('site/tmp/' . $zipFilename);
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'notification' => 'Archive <b>'.$zipFilename.'</b> sauvegardée dans fichiers',
|
||||
'redirect' => helper::baseUrl() . 'theme/manage',
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Import du thème
|
||||
*/
|
||||
|
@ -26,14 +26,23 @@
|
||||
</div>
|
||||
<div class="col6">
|
||||
<div class="block">
|
||||
<h4>Exporter les données du thème</h4>
|
||||
<div class="col5 offset3">
|
||||
<?php echo template::button('themeExport', [
|
||||
'href' => helper::baseUrl() . 'theme/export',
|
||||
'value' => 'Générer une archive ZIP'
|
||||
<h4>Enregistrer les données du thème</h4>
|
||||
<div class="row">
|
||||
<div class="col5 offset1">
|
||||
<?php echo template::button('themeSave', [
|
||||
'href' => helper::baseUrl() . 'theme/save',
|
||||
'value' => 'Sauvegarder le thème dans les fichiers'
|
||||
]); ?>
|
||||
</div>
|
||||
<p \>L'archive ZIP contient la structure du thème avec l'arborescence complète à copier dans le dossier site. Les images sont comprises dans l'archive.
|
||||
<div class="col5">
|
||||
<?php echo template::button('themeExport', [
|
||||
'href' => helper::baseUrl() . 'theme/export',
|
||||
'value' => 'Télécharger une archive du thème'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
L'archive ZIP contient la structure du thème avec l'arborescence complète à copier dans le dossier site. Les images sont comprises dans l'archive.
|
||||
<p \>Le nom du thème est généré à partir du groupe date heure et d'un nombre aléatoire.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user