Browse Source

[10.0.030.dev] correction CSS + modification config / restore and backup

pull/4/head
Fred Tempez 3 years ago
parent
commit
90946cf9f1
  1. 2
      core/core.php
  2. 11
      core/layout/common.css
  3. 64
      core/module/config/config.php
  4. 33
      core/module/config/view/backup/backup.php
  5. 65
      core/module/config/view/index/index.php
  6. 54
      core/module/config/view/restore/restore.php

2
core/core.php

@ -34,7 +34,7 @@ class common {
const TEMP_DIR = 'site/tmp/';
// Numéro de version
const ZWII_VERSION = '10.0.029.dev';
const ZWII_VERSION = '10.0.030.dev';
public static $actions = [];
public static $coreModuleIds = [

11
core/layout/common.css

@ -145,6 +145,10 @@ img[align='right'] {
margin-left: 10px;
}
#metaImage {
height: 100px;
}
/*
Signature dans les articles blog et news
*/
@ -972,13 +976,14 @@ label {
width: 88%;
}
.inputFileDelete {
display: inline-block;
display: block;
width: 10%;
padding: 10px 0;
background: #F5F5F5;
text-align: center;
/*float: right;*/
min-height :100%;
float: right;
min-height :100%;
}
.inputFile:hover {
text-decoration: none;

64
core/module/config/config.php

@ -20,7 +20,7 @@ class config extends common {
'generateFiles' => self::GROUP_ADMIN,
'updateRobots' => self::GROUP_ADMIN,
'index' => self::GROUP_ADMIN,
'manage' => self::GROUP_ADMIN,
'restore' => self::GROUP_ADMIN,
'updateBaseUrl' => self::GROUP_ADMIN
];
@ -200,21 +200,29 @@ class config extends common {
* Sauvegarde des données
*/
public function backup() {
// Creation du ZIP
$filter = $this->getInput('configBackupOption',helper::FILTER_BOOLEAN) === true ? ['backup','tmp'] : ['backup','tmp','file'];
$fileName = helper::autoBackup(self::TEMP_DIR,$filter);
// Soumission du formulaire
if($this->isPost()) {
// Creation du ZIP
$filter = $this->getInput('configBackupOption',helper::FILTER_BOOLEAN) === true ? ['backup','tmp'] : ['backup','tmp','file'];
$fileName = helper::autoBackup(self::TEMP_DIR,$filter);
// Téléchargement du ZIP
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName));
readfile(self::TEMP_DIR . $fileName);
// Valeurs en sortie
$this->addOutput([
'display' => self::DISPLAY_RAW
]);
unlink(self::TEMP_DIR . $fileName);
exit();
// Téléchargement du ZIP
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName));
readfile(self::TEMP_DIR . $fileName);
// Valeurs en sortie
$this->addOutput([
'display' => self::DISPLAY_RAW
]);
unlink(self::TEMP_DIR . $fileName);
} else {
// Valeurs en sortie
$this->addOutput([
'title' => 'Sauvegarder',
'view' => 'backup'
]);
}
}
/**
@ -254,11 +262,11 @@ class config extends common {
/**
* Procédure d'importation
*/
public function manage() {
public function restore() {
// Soumission du formulaire
if($this->isPost()) {
//if ($this->getInput('configManageImportFile'))
$fileZip = $this->getInput('configManageImportFile');
//if ($this->getInput('configrestoreImportFile'))
$fileZip = $this->getInput('configRestoreImportFile');
$file_parts = pathinfo($fileZip);
$folder = date('Y-m-d-h-i-s', time());
$zip = new ZipArchive();
@ -266,7 +274,7 @@ class config extends common {
// Valeurs en sortie erreur
$this->addOutput([
'notification' => 'Le fichier n\'est pas une archive valide',
'redirect' => helper::baseUrl() . 'config/manage',
'redirect' => helper::baseUrl() . 'config/restore',
'state' => false
]);
}
@ -275,7 +283,7 @@ class config extends common {
// Valeurs en sortie erreur
$this->addOutput([
'notification' => 'Impossible de lire l\'archive',
'redirect' => helper::baseUrl() . 'config/manage',
'redirect' => helper::baseUrl() . 'config/restore',
'state' => false
]);
}
@ -300,14 +308,14 @@ class config extends common {
// V10 valide user et config
$version = '10';
// Option active, les users sont stockées
if ($this->getInput('configManageImportUser', helper::FILTER_BOOLEAN) === true ) {
if ($this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true ) {
$users = $this->getData(['user']);
}
} else { // Version invalide
// Valeurs en sortie erreur
$this->addOutput([
'notification' => 'Cette archive n\'est pas une sauvegarde valide',
'redirect' => helper::baseUrl() . 'config/manage',
'redirect' => helper::baseUrl() . 'config/restore',
'state' => false
]);
}
@ -315,7 +323,7 @@ class config extends common {
// Préserver les comptes des utilisateurs d'une version 9 si option cochée
// Positionnement d'une variable de session lue au constructeur
if ($version === '9') {
$_SESSION['KEEP_USERS'] = $this->getInput('configManageImportUser', helper::FILTER_BOOLEAN);
$_SESSION['KEEP_USERS'] = $this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN);
}
// Extraire le zip
@ -326,13 +334,13 @@ class config extends common {
// Restaurer les users originaux d'une v10 si option cochée
if (!empty($users) &&
$version === '10' &&
$this->getInput('configManageImportUser', helper::FILTER_BOOLEAN) === true) {
$this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true) {
$this->setData(['user',$users]);
}
// Message de notification
$notification = $success === true ? 'Sauvegarde importée avec succès' : 'Erreur d\'extraction';
$redirect = $this->getInput('configManageImportUser', helper::FILTER_BOOLEAN) === true ? helper::baseUrl() . 'config/manage' : helper::baseUrl() . 'user/login/';
$redirect = $this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true ? helper::baseUrl() . 'config/restore' : helper::baseUrl() . 'user/login/';
// Valeurs en sortie erreur
$this->addOutput([
'notification' => $notification,
@ -343,8 +351,8 @@ class config extends common {
// Valeurs en sortie
$this->addOutput([
'title' => 'Sauvegarder / Restaurer',
'view' => 'manage'
'title' => 'Restaurer',
'view' => 'restore'
]);
}
@ -475,7 +483,7 @@ class config extends common {
// Valeurs en sortie
$this->addOutput([
'notification' => $success ? 'Conversion effectuée' : 'Aucune conversion',
'redirect' => helper::baseUrl() . 'config/manage',
'redirect' => helper::baseUrl() . 'config/restore',
'state' => $success ? true : false
]);
}

33
core/module/config/view/backup/backup.php

@ -0,0 +1,33 @@
<?php echo template::formOpen('configBackupForm'); ?>
<div class="row">
<div class="col2">
<?php echo template::button('configBackupBack', [
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'config',
'ico' => 'left',
'value' => 'Retour'
]); ?>
</div>
<div class="col2 offset8">
<?php echo template::submit('configBackupSubmit',[
'value' => 'Télécharger',
'ico' => 'download'
]); ?>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Option de sauvegarde</h4>
<div class="row">
<div class="col10">
<?php echo template::checkbox('configBackupOption', true, 'Inclure le contenu du gestionnaire de fichiers', [
'checked' => true,
'help' => 'Cette option n\'est pas recommandée lorsque le contenu du gestionnaire de fichiers est très volumineux.'
]); ?>
</div>
</div>
</div>
</div>
</div>
<?php echo template::formClose(); ?>

65
core/module/config/view/index/index.php

@ -7,14 +7,8 @@
'ico' => 'home',
'value' => 'Accueil'
]); ?>
</div>
<div class="col3 offset5">
<?php echo template::button('configManageButton', [
'href' => helper::baseUrl() . 'config/manage',
'value' => 'Sauvegarder / Restaurer'
]); ?>
</div>
<div class="col2">
</div>
<div class="col2 offset8">
<?php echo template::submit('configSubmit'); ?>
</div>
</div>
@ -116,29 +110,23 @@
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configAutoBackup', true, 'Sauvegarde automatique quotidienne partielle', [
'checked' => $this->getData(['config', 'autoBackup']),
'help' => '<p>Une archive contenant le dossier /site/data est copiée dans le dossier \'site/backup\'. La sauvegarde est conservée pendant 30 jours.</p><p>Le contenu du gestionnaire de fichiers n\'est pas sauvegardé.</p>'
<div class="col6">
<?php echo template::checkbox('configMaintenance', true, 'Site en maintenance', [
'checked' => $this->getData(['config', 'maintenance'])
]); ?>
</div>
</div>
<div class="col6">
<?php echo template::checkbox('configAutoUpdate', true, 'Mise à jour automatique', [
'checked' => $this->getData(['config', 'autoUpdate']),
'help' => 'Vérification quotidienne des mises à jour.'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configMaintenance', true, 'Site en maintenance', [
'checked' => $this->getData(['config', 'maintenance'])
]); ?>
</div>
</div>
</div>
</div>
</div>
<div class="col6">
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Réseaux sociaux</h4>
<div class="row">
@ -205,6 +193,35 @@
</div>
</div>
</div>
</div>
<div class="row">
<div class="col6">
<div class="block">
<h4>Sauvegarde et restauration</h4>
<div class="row">
<div class="col12">
<?php echo template::checkbox('configAutoBackup', true, 'Sauvegarde automatique quotidienne partielle', [
'checked' => $this->getData(['config', 'autoBackup']),
'help' => '<p>Une archive contenant le dossier /site/data est copiée dans le dossier \'site/backup\'. La sauvegarde est conservée pendant 30 jours.</p><p>Le contenu du gestionnaire de fichiers n\'est pas sauvegardé.</p>'
]); ?>
</div>
</div>
<div class="row">
<div class="col4 offset2">
<?php echo template::button('configManageButton', [
'href' => helper::baseUrl() . 'config/backup',
'value' => 'Sauvegarder'
]); ?>
</div>
<div class="col4 offset1">
<?php echo template::button('configManageButton', [
'href' => helper::baseUrl() . 'config/restore',
'value' => 'Restaurer'
]); ?>
</div>
</div>
</div>
</div>
<div class="col6">
<div class="block">
<h4>Référencement</h4>
@ -224,13 +241,11 @@
</div>
<div class="row">
<div class="col12 textAlignCenter">
<img src="<?php echo helper::baseUrl(false) . self::FILE_DIR.'source/screenshot.png';?>" data-tippy-content="Cette capture d'écran est nécessaire aux partages sur les réseaux sociaux. Elle est régénérée lorsque le fichier 'screenshot.png' est effacé du gestionnaire de fichiers." />
<img id="metaImage" src="<?php echo helper::baseUrl(false) . self::FILE_DIR.'source/screenshot.png';?>" data-tippy-content="Cette capture d'écran est nécessaire aux partages sur les réseaux sociaux. Elle est régénérée lorsque le fichier 'screenshot.png' est effacé du gestionnaire de fichiers." />
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<?php
// Lire le contenu des fichiers de script

54
core/module/config/view/manage/manage.php → core/module/config/view/restore/restore.php

@ -1,43 +1,27 @@
<?php echo template::formOpen('configManageForm'); ?>
<?php echo template::formOpen('configRestoreForm'); ?>
<div class="row">
<div class="col2">
<?php echo template::button('configManageBack', [
<?php echo template::button('configRestoreBack', [
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'config',
'ico' => 'left',
'value' => 'Retour'
]); ?>
</div>
<div class="col2 offset8">
<?php echo template::submit('configRestoreSubmit',[
'value' => 'Restaurer',
'ico' => 'upload'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<div class="block">
<h4>Sauvegarde totale du site</h4>
<div class="row">
<div class="col10 offset1">
<?php echo template::button('configBackupButton', [
'href' => helper::baseUrl() . 'config/backup',
'value' => 'Générer et télécharger <br />les données de site',
]); ?>
</div>
</div>
<div class="row">
<div class="col10">
<?php echo template::checkbox('configBackupOption', true, 'Inclure le contenu du gestionnaire de fichiers', [
'checked' => true,
'disabled' => true,
'help' => 'Cette option n\'est pas recommandée lorsque le contenu du gestionnaire de fichiers est très volumineux.'
]); ?>
</div>
</div>
</div>
</div>
<div class="col6">
<div class="col12">
<div class="block">
<h4>Restauration ou transfert d'un site</h4>
<div class="row">
<div class="col12">
<?php echo template::file('configManageImportFile', [
<div class="col8 offset2">
<?php echo template::file('configRestoreImportFile', [
'label' => 'Sélectionnez une archive au format ZIP',
'type' => 2,
'help' => 'L\'archive a été déposée dans le gestionaire de fichiers. Les archives inférieures à la version 9 ne sont pas acceptées.'
@ -45,17 +29,12 @@
</div>
</div>
<div class="row">
<div class="col8">
<?php echo template::checkbox('configManageImportUser', true, 'Préserver utilisateurs installés', [
<div class="col8 offset2">
<?php echo template::checkbox('configRestoreImportUser', true, 'Préserver utilisateurs installés', [
'checked' => true,
'help' => 'Les données des utilisateurs installés ne sont pas écrasés par la restauration quand l\'option est active.'
]); ?>
</div>
<div class="col4">
<?php echo template::submit('configManageSubmit',[
'value' => 'Restaurer'
]); ?>
</div>
</div>
</div>
</div>
@ -77,7 +56,7 @@
$baseUrlValue = $this->getData(['core', 'baseUrl']);
$buttonClass = (helper::baseUrl(true,false) !== $this->getData(['core', 'baseUrl']) ) ? '' : 'disabled';
}
echo template::text('configManageBaseURLToConvert', [
echo template::text('configRestoreBaseURLToConvert', [
'label' => 'Dossier d\'installation de l\'archive' ,
'value' => $baseUrlValue,
'readonly' => true,
@ -85,7 +64,7 @@
]); ?>
</div>
<div class="col5">
<?php echo template::text('configManageCurrentURL', [
<?php echo template::text('configRestoreCurrentURL', [
'label' => 'Dossier du site actuel',
'value' => helper::baseUrl(true,false),
'readonly' => true,
@ -93,7 +72,7 @@
]); ?>
</div>
<div class="col2 verticalAlignBottom">
<?php echo template::button('configManageUpdateBaseURLButton', [
<?php echo template::button('configRestoreUpdateBaseURLButton', [
'href' => helper::baseUrl() . 'config/updateBaseUrl',
'class' => $buttonClass,
'value' => 'convertir'
@ -103,5 +82,4 @@
</div>
</div>
</div>
<?php echo template::formClose(); ?>
Loading…
Cancel
Save