087 config backup de la v10 WIP

This commit is contained in:
Fred Tempez 2020-05-07 08:36:24 +02:00
parent 1312de02d8
commit 5e748eb3f2
8 changed files with 513 additions and 432 deletions

0
core/class/phpmailer/Exception.class.php Normal file → Executable file
View File

0
core/class/phpmailer/PHPMailer.class.php Normal file → Executable file
View File

View File

@ -36,7 +36,7 @@ class common {
const THUMBS_WIDTH = 640; const THUMBS_WIDTH = 640;
// Numéro de version // Numéro de version
const ZWII_VERSION = '10.0.086'; const ZWII_VERSION = '10.0.087';
const ZWII_UPDATE_CHANNEL = "v10"; const ZWII_UPDATE_CHANNEL = "v10";
public static $actions = []; public static $actions = [];

View File

@ -8,7 +8,7 @@
* *
* @author Rémi Jean <remi.jean@outlook.com> * @author Rémi Jean <remi.jean@outlook.com>
* @copyright Copyright (C) 2008-2018, Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean
* @author Frédéric Tempez <frederic.tempez@outlook.com> * * @author Frédéric Tempez <frederic.tempez@outlook.com>
* @copyright Copyright (C) 2018-2020, Frédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez
* @license GNU General Public License, version 3 * @license GNU General Public License, version 3
* @link http://zwiicms.com/ * @link http://zwiicms.com/
@ -18,16 +18,14 @@ class config extends common {
public static $actions = [ public static $actions = [
'backup' => self::GROUP_ADMIN, 'backup' => self::GROUP_ADMIN,
'restore' => self::GROUP_ADMIN,
'configMetaImage' => self::GROUP_ADMIN, 'configMetaImage' => self::GROUP_ADMIN,
'generateFiles' => self::GROUP_ADMIN, 'generateFiles' => self::GROUP_ADMIN,
'updateRobots' => self::GROUP_ADMIN, 'updateRobots' => self::GROUP_ADMIN,
'index' => self::GROUP_ADMIN, 'index' => self::GROUP_ADMIN,
'updateOnline' => self::GROUP_ADMIN 'manage' => self::GROUP_ADMIN,
'updateBaseUrl' => self::GROUP_ADMIN
]; ];
public static $newVersion;
public static $timezones = [ public static $timezones = [
'Pacific/Midway' => '(GMT-11:00) Midway Island', 'Pacific/Midway' => '(GMT-11:00) Midway Island',
'US/Samoa' => '(GMT-11:00) Samoa', 'US/Samoa' => '(GMT-11:00) Samoa',
@ -205,6 +203,7 @@ class config extends common {
unlink('robots.bak'); unlink('robots.bak');
return(fclose($filenew)); return(fclose($filenew));
} }
/** /**
* Sauvegarde des données * Sauvegarde des données
*/ */
@ -271,11 +270,11 @@ class config extends common {
/** /**
* Procédure d'importation * Procédure d'importation
*/ */
public function restore() { public function manage() {
// Soumission du formulaire // Soumission du formulaire
if($this->isPost()) { if($this->isPost()) {
//if ($this->getInput('configrestoreImportFile')) //if ($this->getInput('configManageImportFile'))
$fileZip = $this->getInput('configRestoreImportFile'); $fileZip = $this->getInput('configManageImportFile');
$file_parts = pathinfo($fileZip); $file_parts = pathinfo($fileZip);
$folder = date('Y-m-d-h-i-s', time()); $folder = date('Y-m-d-h-i-s', time());
$zip = new ZipArchive(); $zip = new ZipArchive();
@ -283,7 +282,7 @@ class config extends common {
// Valeurs en sortie erreur // Valeurs en sortie erreur
$this->addOutput([ $this->addOutput([
'notification' => 'Le fichier n\'est pas une archive valide', 'notification' => 'Le fichier n\'est pas une archive valide',
'redirect' => helper::baseUrl() . 'config/restore', 'redirect' => helper::baseUrl() . 'config/manage',
'state' => false 'state' => false
]); ]);
} }
@ -292,7 +291,7 @@ class config extends common {
// Valeurs en sortie erreur // Valeurs en sortie erreur
$this->addOutput([ $this->addOutput([
'notification' => 'Impossible de lire l\'archive', 'notification' => 'Impossible de lire l\'archive',
'redirect' => helper::baseUrl() . 'config/restore', 'redirect' => helper::baseUrl() . 'config/manage',
'state' => false 'state' => false
]); ]);
} }
@ -314,28 +313,27 @@ class config extends common {
in_array('core.json',$files) === true && in_array('core.json',$files) === true &&
in_array ('user.json', $files) === true && in_array ('user.json', $files) === true &&
in_array ('config.json', $files) === true ) { in_array ('config.json', $files) === true ) {
// V10 valide user et config // V10 valide
$version = '10'; $version = '10';
// Option active, les users sont stockées // Option active, les users sont stockées
if ($this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true ) { if ($this->getInput('configManageImportUser', helper::FILTER_BOOLEAN) === true ) {
$users = $this->getData(['user']); $users = $this->getData(['user']);
} }
} else { // Version invalide } else { // Version invalide
// Valeurs en sortie erreur // Valeurs en sortie erreur
$this->addOutput([ $this->addOutput([
'notification' => 'Cette archive n\'est pas une sauvegarde valide', 'notification' => 'Cette archive n\'est pas une sauvegarde valide',
'redirect' => helper::baseUrl() . 'config/restore', 'redirect' => helper::baseUrl() . 'config/manage',
'state' => false 'state' => false
]); ]);
} }
// Préserver les comptes des utilisateurs d'une version 9 si option cochée // Préserver les comptes des utilisateurs d'une version 9 si option cochée
// Positionnement d'une variable de session lue au constructeur // Positionnement d'une variable de session lue au constructeur
if ($version === '9') { if ($version === '9') {
$_SESSION['KEEP_USERS'] = $this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN); $_SESSION['KEEP_USERS'] = $this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN);
} }
// Extraire le zip // Extraire le zip ou 'site/'
$success = $zip->extractTo( 'site/' ); $success = $zip->extractTo( 'site/' );
// Fermer l'archive // Fermer l'archive
$zip->close(); $zip->close();
@ -343,13 +341,20 @@ class config extends common {
// Restaurer les users originaux d'une v10 si option cochée // Restaurer les users originaux d'une v10 si option cochée
if (!empty($users) && if (!empty($users) &&
$version === '10' && $version === '10' &&
$this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true) { $this->getInput('configManageImportUser', helper::FILTER_BOOLEAN) === true) {
$this->setData(['user',$users]); $this->setData(['user',$users]);
} }
/*
if ($version === '9' ) {
$this->importData($this->getInput('configManageImportUser', helper::FILTER_BOOLEAN));
$this->setData(['core','dataVersion',0]);
}*/
// Met à jours les URL dans les contenus de page
// Message de notification // Message de notification
$notification = $success === true ? 'Sauvegarde importée avec succès' : 'Erreur d\'extraction'; $notification = $success === true ? 'Sauvegarde importée avec succès' : 'Erreur d\'extraction';
$redirect = $this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true ? helper::baseUrl() . 'config/restore' : helper::baseUrl() . 'user/login/'; $redirect = $this->getInput('configManageImportUser', helper::FILTER_BOOLEAN) === true ? helper::baseUrl() . 'config/manage' : helper::baseUrl() . 'user/login/';
// Valeurs en sortie erreur // Valeurs en sortie erreur
$this->addOutput([ $this->addOutput([
'notification' => $notification, 'notification' => $notification,
@ -360,8 +365,8 @@ class config extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => 'Restaurer une sauvegarde', 'title' => 'Sauvegarder / Restaurer',
'view' => 'restore' 'view' => 'manage'
]); ]);
} }
@ -378,6 +383,12 @@ class config extends common {
$this->getInput('configAutoUpdate', helper::FILTER_BOOLEAN) === true) { $this->getInput('configAutoUpdate', helper::FILTER_BOOLEAN) === true) {
$this->setData(['core','lastAutoUpdate',0]); $this->setData(['core','lastAutoUpdate',0]);
} }
if ($this->getInput('configLegalCheck', helper::FILTER_BOOLEAN) === true ) {
$legalPageId = $this->getInput('configLegalPageId', helper::FILTER_ID);
} else {
$legalPageId = '';
}
$this->setData([ $this->setData([
'config', 'config',
[ [
@ -472,10 +483,6 @@ class config extends common {
]); ]);
} }
}
class configHelper extends helper {
/** /**
* Met à jour les données de site avec l'adresse trannsmise * Met à jour les données de site avec l'adresse trannsmise
*/ */
@ -511,4 +518,5 @@ class configHelper extends helper {
'state' => $success ? true : false 'state' => $success ? true : false
]); ]);
} }
} }

View File

@ -14,3 +14,12 @@
* Modification de l'affichage de l'icône de langues * Modification de l'affichage de l'icône de langues
*/ */
var configdisablei18nDOM = $("#configdisablei18n");
configdisablei18nDOM.on("change", function() {
if ($("input[name=configdisablei18n]").is(':checked')) {
$(".zwiico-flag").css('display','none');
} else {
$(".zwiico-flag").css('display','block');
}
});

View File

@ -1,4 +1,5 @@
<?php echo template::formOpen('configForm'); ?> <?php echo template::formOpen('configForm'); ?>
<div class="notranslate">
<div class="row"> <div class="row">
<div class="col2"> <div class="col2">
<?php echo template::button('configBack', [ <?php echo template::button('configBack', [
@ -8,7 +9,21 @@
'value' => 'Accueil' 'value' => 'Accueil'
]); ?> ]); ?>
</div> </div>
<div class="col2 offset8"> <div class="col2 offset4">
<?php echo template::button('configManageButton', [
'href' => helper::baseUrl() . 'config/backup',
'value' => 'Sauvegarder',
'ico' => 'download'
]); ?>
</div>
<div class="col2">
<?php echo template::button('configManageButton', [
'href' => helper::baseUrl() . 'config/manage',
'value' => 'Restaurer',
'ico' => 'upload'
]); ?>
</div>
<div class="col2">
<?php echo template::submit('configSubmit'); ?> <?php echo template::submit('configSubmit'); ?>
</div> </div>
</div> </div>
@ -35,30 +50,32 @@
<?php echo template::text('configTitle', [ <?php echo template::text('configTitle', [
'label' => 'Titre du site', 'label' => 'Titre du site',
'value' => $this->getData(['config', 'title']), 'value' => $this->getData(['config', 'title']),
'help' => 'Le titre apparaît dans la barre de titre et les partages sur les réseaux sociaux.' 'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.'
]); ?> ]); ?>
</div> </div>
<div class="col12"> </div>
<?php echo template::textarea('configMetaDescription', [ <?php echo template::textarea('configMetaDescription', [
'label' => 'Description du site', 'label' => 'Description du site',
'value' => $this->getData(['config', 'metaDescription']), 'value' => $this->getData(['config', 'metaDescription']),
'help' => 'La description apparaît dans les partages sur les réseaux sociaux.' 'help' => 'Elle apparaît dans les partages sur les réseaux sociaux.'
]); ?> ]); ?>
</div> </div>
</div> </div>
</div> </div>
</div>
</div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block">
<h4>Réglages</h4> <h4>Paramètres</h4>
<?php $error = helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version');?>
<?php if ($error !== false) : ?>
<?php $error = true; ?>
<?php endif;?>
<div class="row"> <div class="row">
<div class="col3"> <div class="col3">
<?php echo template::file('configFavicon', [ <?php echo template::file('configFavicon', [
'type' => 1, 'type' => 1,
'help' => 'Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.', 'help' => 'Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.',
'label' => 'Favicon thème clair', 'label' => 'Favicon',
'value' => $this->getData(['config', 'favicon']) 'value' => $this->getData(['config', 'favicon'])
]); ?> ]); ?>
</div> </div>
@ -109,175 +126,127 @@
]); ?> ]); ?>
</div> </div>
</div> </div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configExportAutoBackup', true, 'Sauvegarde automatique quotidienne', [
'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>Les fichiers du site ne sont pas sauvegardés automatiquement.</p>'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('configMaintenance', true, 'Site en maintenance', [
'checked' => $this->getData(['config', 'maintenance'])
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configAutoUpdate', true, 'Mise à jour automatique', [
'checked' => $this->getData(['config', 'autoUpdate']),
'help' => 'Vérifie une fois par jour l\'existence d\'une mise à jour.'
]); ?>
</div>
<div class="col3">
<?php echo template::button('configUpdateForced', [
'href' => helper::baseUrl() . 'install/update',
'value' => 'Mise à jour manuelle',
'disabled' => !$error
]); ?>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col6">
<div class="block"> <div class="block">
<h4>Réseaux sociaux</h4> <h4>Réseaux sociaux</h4>
<div class="row"> <div class="row">
<div class="col4"> <div class="col6">
<?php echo template::text('configSocialFacebookId', [ <?php echo template::text('configSocialFacebookId', [
'help' => 'Saisissez votre ID : https://www.facebook.com/[ID].', 'help' => 'Saisissez votre ID : https://www.facebook.com/[ID].',
'label' => 'Facebook', 'label' => 'Facebook',
'value' => $this->getData(['config', 'social', 'facebookId']) 'value' => $this->getData(['config', 'social', 'facebookId'])
]); ?> ]); ?>
</div> </div>
<div class="col4"> <div class="col6">
<?php echo template::text('configSocialInstagramId', [ <?php echo template::text('configSocialInstagramId', [
'help' => 'Saisissez votre ID : https://www.instagram.com/[ID].', 'help' => 'Saisissez votre ID : https://www.instagram.com/[ID].',
'label' => 'Instagram', 'label' => 'Instagram',
'value' => $this->getData(['config', 'social', 'instagramId']) 'value' => $this->getData(['config', 'social', 'instagramId'])
]); ?> ]); ?>
</div> </div>
<div class="col4">
<?php echo template::text('configSocialTwitterId', [
'help' => 'Saisissez votre ID : https://twitter.com/[ID].',
'label' => 'Twitter',
'value' => $this->getData(['config', 'social', 'twitterId'])
]); ?>
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col4"> <div class="col6">
<?php echo template::text('configSocialYoutubeId', [ <?php echo template::text('configSocialYoutubeId', [
'help' => 'ID de la chaîne : https://www.youtube.com/channel/[ID].', 'help' => 'ID de la chaîne : https://www.youtube.com/channel/[ID].',
'label' => 'Chaîne Youtube', 'label' => 'Chaîne Youtube',
'value' => $this->getData(['config', 'social', 'youtubeId']) 'value' => $this->getData(['config', 'social', 'youtubeId'])
]); ?> ]); ?>
</div> </div>
<div class="col4"> <div class="col6">
<?php echo template::text('configSocialYoutubeUserId', [ <?php echo template::text('configSocialYoutubeUserId', [
'help' => 'Saisissez votre ID Utilisateur : https://www.youtube.com/user/[ID].', 'help' => 'Saisissez votre ID Utilisateur : https://www.youtube.com/user/[ID].',
'label' => 'Youtube', 'label' => 'Youtube',
'value' => $this->getData(['config', 'social', 'youtubeUserId']) 'value' => $this->getData(['config', 'social', 'youtubeUserId'])
]); ?> ]); ?>
</div> </div>
<div class="col4"> </div>
<div class="row">
<div class="col6">
<?php echo template::text('configSocialTwitterId', [
'help' => 'Saisissez votre ID : https://twitter.com/[ID].',
'label' => 'Twitter',
'value' => $this->getData(['config', 'social', 'twitterId'])
]); ?>
</div>
<div class="col6">
<?php echo template::text('configSocialPinterestId', [ <?php echo template::text('configSocialPinterestId', [
'help' => 'Saisissez votre ID : https://pinterest.com/[ID].', 'help' => 'Saisissez votre ID : https://pinterest.com/[ID].',
'label' => 'Pinterest', 'label' => 'Pinterest',
'value' => $this->getData(['config', 'social', 'pinterestId']) 'value' => $this->getData(['config', 'social', 'pinterestId'])
]); ?> ]); ?>
</div> </div>
</div> <div class="col6">
<div class="row">
<div class="col4 offset2">
<?php echo template::text('configSocialGithubId', [
'help' => 'Saisissez votre ID Github : https://github.com/[ID].',
'label' => 'Github',
'value' => $this->getData(['config', 'social', 'githubId'])
]); ?>
</div>
<div class="col4">
<?php echo template::text('configSocialLinkedinId', [ <?php echo template::text('configSocialLinkedinId', [
'help' => 'Saisissez votre ID Linkedin : https://fr.linkedin.com/in/[ID].', 'help' => 'Saisissez votre ID Linkedin : https://fr.linkedin.com/in/[ID].',
'label' => 'Linkedin', 'label' => 'Linkedin',
'value' => $this->getData(['config', 'social', 'linkedinId']) 'value' => $this->getData(['config', 'social', 'linkedinId'])
]); ?> ]); ?>
</div> </div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Sauvegardes</h4>
<div class="row">
<div class="col6"> <div class="col6">
<?php echo template::checkbox('configAutoBackup', true, 'Sauvegarde automatisée quotidienne partielle', [ <?php echo template::text('configSocialGithubId', [
'checked' => $this->getData(['config', 'autoBackup']), 'help' => 'Saisissez votre ID Github : https://github.com/[ID].',
'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>' 'label' => 'Github',
]); ?> 'value' => $this->getData(['config', 'social', 'githubId'])
</div>
<div class="col3">
<?php echo template::button('configManageButtonBackup', [
'href' => helper::baseUrl() . 'config/backup',
'value' => 'Sauvegarde'
]); ?>
</div>
<div class="col3">
<?php echo template::button('configManageButtonRestore', [
'href' => helper::baseUrl() . 'config/restore',
'value' => 'Restauration'
]); ?>
</div>
</div>
<div class="row">
<div class="col12">
<?php echo template::checkbox('configMaintenance', true, 'Site en maintenance', [
'checked' => $this->getData(['config', 'maintenance'])
]); ?> ]); ?>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <!--</div>
<div class="row"> <div class="row">-->
<div class="col12">
<div class="block">
<h4>Mise à jour</h4>
<?php $error = helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version');?>
<?php if ($error !== false) : ?>
<?php $error = true; ?>
<?php endif;?>
<div class="row">
<div class="col12">
<?php echo 'Vous disposez de ZwiiCMS version <strong>' . common::ZWII_VERSION . '</strong>' . '.'; ?>
<?php if ($error): ?>
<?php echo 'La version de la mise à jour en ligne est <strong>' . helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version') . '</strong>' . '.';?>
<?php else: ?>
<p>Votre configuration interdit les mises à jour automatiques. <a href="https://zwiicms.com" target="_blank">Cliquez sur ce lien</a> pour connaître la version disponible en ligne.</p>
<?php endif;?>
</div>
</div>
<div class="row">
<div class="col6"> <div class="col6">
<?php echo template::checkbox('configAutoUpdate', true, 'Recherche de mise à jour automatisée ', [
'checked' => $error ? $this->getData(['config', 'autoUpdate']) : false,
'help' => 'Vérification de l\'existence d\'une mise à jour en ligne une fois par jour.',
'disabled' => !$error
]); ?>
</div>
<div class="col3">
<?php echo template::button('configUpdateForced', [
'href' => helper::baseUrl() . 'install/update',
'value' => 'Mise à jour forcée',
'disabled' => !$error
]); ?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block"> <div class="block">
<h4>Référencement</h4> <h4>Référencement</h4>
<div class="row"> <div class="row">
<div class="col6"> <div class="col5">
<div class="row">
<div class="col10 offset1">
<?php echo template::button('configMetaImage', [ <?php echo template::button('configMetaImage', [
'href' => helper::baseUrl() . 'config/configMetaImage', 'href' => helper::baseUrl() . 'config/configMetaImage',
'value' => 'Rafraîchir la capture d\'écran Open Graph' 'value' => 'Rafraîchir la capture d\'écran Open Graph'
]); ?> ]); ?>
</div> </div>
</div> <div class="col5 offset2">
<div class="row">
<div class="col10 offset1">
<?php echo template::button('configSiteMap', [ <?php echo template::button('configSiteMap', [
'href' => helper::baseUrl() . 'config/generateFiles', 'href' => helper::baseUrl() . 'config/generateFiles',
'value' => 'Rafraîchir sitemap.xml et robots.txt' 'value' => 'Générer sitemap.xml et robots.txt'
]); ?> ]); ?>
</div> </div>
</div> </div>
</div> <div class="row">
<div class="col6 textAlignCenter"> <div class="col12 textAlignCenter">
<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." /> <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." />
</div> </div>
</div> </div>
</div> </div>
@ -336,7 +305,7 @@
'selected' => $this->getData(['config', 'proxyType']) 'selected' => $this->getData(['config', 'proxyType'])
]); ?> ]); ?>
</div> </div>
<div class="col6"> <div class="col8">
<?php echo template::text('configProxyUrl', [ <?php echo template::text('configProxyUrl', [
'label' => 'Adresse du proxy', 'label' => 'Adresse du proxy',
'placeholder' => 'cache.proxy.fr', 'placeholder' => 'cache.proxy.fr',
@ -405,4 +374,5 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<?php echo template::formClose(); ?> <?php echo template::formClose(); ?>

View File

@ -0,0 +1,15 @@
/**
* This file is part of Zwii.
*
* For full copyright and license information, please see the LICENSE
* file that was distributed with this source code.
*
* @author Rémi Jean <remi.jean@outlook.com>
* @copyright Copyright (C) 2008-2018, Rémi Jean
* @author Frédéric Tempez <frederic.tempez@outlook.com>
* @copyright Copyright (C) 2018-2020, Frédéric Tempez
* @license GNU General Public License, version 3
* @link http://zwiicms.com/
*/
@import url("core/layout/admin.css");

View File

@ -0,0 +1,79 @@
<?php echo template::formOpen('configManageForm'); ?>
<div class="row">
<div class="col2">
<?php echo template::button('configManageBack', [
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'config',
'ico' => 'left',
'value' => 'Retour'
]); ?>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Restauration ou transfert d'un site</h4>
<div class="row">
<?php echo template::file('configManageImportFile', [
'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.'
]); ?>
</div>
<div class="row">
<?php echo template::checkbox('configManageImportUser', true, 'Préserver les comptes des utilisateurs déjà installés', [
'checked' => true
]); ?>
</div>
<div class="col4 offset4">
<?php echo template::submit('configManageSubmit',[
'value' => 'Restaurer'
]); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Conversion des URL après transfert de site</h4>
<div class="row">
<div class="col5">
<?php
if (is_null($this->getData(['core', 'baseUrl'])) ) {
$baseUrlValue = 'Pas de donnée dans la sauvegarde';
$buttonClass = 'disabled';
} elseif ($this->getData(['core', 'baseUrl']) === '') {
$baseUrlValue = '/';
$buttonClass = (helper::baseUrl(false,false) !== $this->getData(['core', 'baseUrl']) ) ? '' : 'disabled';
} else {
$baseUrlValue = $this->getData(['core', 'baseUrl']);
$buttonClass = (helper::baseUrl(false,false) !== $this->getData(['core', 'baseUrl']) ) ? '' : 'disabled';
}
echo template::text('configManageBaseURLToConvert', [
'label' => 'Dossier d\'installation de l\'archive' ,
'value' => $baseUrlValue,
'readonly' => true,
'help' => 'Lors de la restauration d\'un backup d\'une version 9.2.10 ou supérieure, l\'URL de base est stockée dans la configuration sinon cette donnée est vide.'
]); ?>
</div>
<div class="col5">
<?php echo template::text('configManageCurrentURL', [
'label' => 'Dossier du site actuel',
'value' => helper::baseUrl(false,false),
'readonly' => true,
'help' => 'Dossier du site installé.'
]); ?>
</div>
<div class="col2 verticalAlignBottom">
<?php echo template::button('configManageUpdateBaseURLButton', [
'href' => helper::baseUrl() . 'config/updateBaseUrl',
'class' => $buttonClass,
'value' => 'convertir'
]); ?>
</div>
</div>
</div>
</div>
</div>
<?php echo template::formClose(); ?>