Option d'activation ou de suppression des fichiers back.json qui deviennent backup.json
This commit is contained in:
parent
6d184fb0e4
commit
7be1dff6aa
@ -132,8 +132,8 @@ class JsonDb extends \Prowebcraft\Dot
|
||||
touch($this->db);
|
||||
}
|
||||
// Backup file
|
||||
if ($this->config['backup']) {
|
||||
copy ($this->db, str_replace('json' , 'back.json', $this->db));
|
||||
if ($this->config['backup'] === true) {
|
||||
copy ($this->db, str_replace('json' , 'backup.json', $this->db));
|
||||
}
|
||||
if ( is_writable($this->db) ) {
|
||||
// 3 essais
|
||||
|
@ -44,7 +44,7 @@ class common {
|
||||
const ACCESS_TIMER = 1800;
|
||||
|
||||
// Numéro de version
|
||||
const ZWII_VERSION = '10.4.00.011';
|
||||
const ZWII_VERSION = '10.4.00.012';
|
||||
const ZWII_UPDATE_CHANNEL = "v10";
|
||||
|
||||
public static $actions = [];
|
||||
@ -168,10 +168,10 @@ class common {
|
||||
// Descripteur de données Entrées / Sorties
|
||||
// Liste ici tous les fichiers de données
|
||||
private $dataFiles = [
|
||||
'config' => '',
|
||||
'page' => '',
|
||||
'module' => '',
|
||||
'core' => '',
|
||||
'config' => '',
|
||||
'page' => '',
|
||||
'user' => '',
|
||||
'theme' => '',
|
||||
@ -198,13 +198,13 @@ class common {
|
||||
}
|
||||
|
||||
// Instanciation de la classe des entrées / sorties
|
||||
// Récupére les descripteurs
|
||||
// Récupère les descripteurs
|
||||
foreach ($this->dataFiles as $keys => $value) {
|
||||
// Constructeur JsonDB
|
||||
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
|
||||
'name' => $keys . '.json',
|
||||
'dir' => $this->dataPath ($keys,self::$i18nCurrent),
|
||||
'backup' => true
|
||||
'backup' => $keys === 'config' ? true : $this->getData(['config','fileBackup'])
|
||||
]);;
|
||||
}
|
||||
|
||||
@ -1565,6 +1565,18 @@ class common {
|
||||
$this->setData(['locale','metaDescription',$this->getData(['config','metaDescription'])]);
|
||||
$this->setData(['locale','title',$this->getData(['config','title'])]);
|
||||
|
||||
// Renommer les fichier de backup
|
||||
if ($this->getInput('configAdvancedFileBackup', helper::FILTER_BOOLEAN) === false) {
|
||||
$path = realpath('site/data');
|
||||
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename)
|
||||
{
|
||||
echo "$filename</br>";
|
||||
if (strpos($filename,'back.json')) {
|
||||
rename($filename, str_replace('back.json','backup.json',$filename));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->setData(['core', 'dataVersion', 10400]);
|
||||
|
||||
/**
|
||||
|
@ -485,6 +485,7 @@ class config extends common {
|
||||
[
|
||||
'analyticsId' => $this->getInput('configAdvancedAnalyticsId'),
|
||||
'autoBackup' => $this->getInput('configAdvancedAutoBackup', helper::FILTER_BOOLEAN),
|
||||
'fileBackup' => $this->getInput('configAdvancedFileBackup', helper::FILTER_BOOLEAN),
|
||||
'maintenance' => $this->getInput('configAdvancedMaintenance', helper::FILTER_BOOLEAN),
|
||||
'cookieConsent' => $this->getInput('configAdvancedCookieConsent', helper::FILTER_BOOLEAN),
|
||||
'favicon' => $this->getInput('configAdvancedFavicon'),
|
||||
@ -525,7 +526,17 @@ class config extends common {
|
||||
]
|
||||
]
|
||||
]);
|
||||
|
||||
// Efface les fichiers de backup lorsque l'option est désactivée
|
||||
if ($this->getInput('configAdvancedFileBackup', helper::FILTER_BOOLEAN) === false) {
|
||||
$path = realpath('site/data');
|
||||
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename)
|
||||
{
|
||||
if (strpos($filename,'backup.json')) {
|
||||
unlink($filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Notice
|
||||
if(self::$inputNotices === []) {
|
||||
// Active la réécriture d'URL
|
||||
$rewrite = $this->getInput('rewrite', helper::FILTER_BOOLEAN);
|
||||
@ -572,12 +583,6 @@ class config extends common {
|
||||
'state' => $success
|
||||
]);
|
||||
}
|
||||
// Initialisation du screen - APPEL AUTO DESACTIVE POUR EVITER UN RALENTISSEMENT
|
||||
/*
|
||||
if (!file_exists(self::FILE_DIR.'source/screenshot.jpg')) {
|
||||
$this->configMetaImage();
|
||||
}
|
||||
*/
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => 'Configuration avancée',
|
||||
|
@ -101,6 +101,12 @@
|
||||
'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="col4">
|
||||
<?php echo template::checkbox('configAdvancedFileBackup', true, 'Copie de sauvegarde', [
|
||||
'checked' => $this->getData(['config', 'fileBackup']),
|
||||
'help' => '<p>Un fichier .backup.json est généré à chaque édition ou effacement d\'une donnée. La désactivation entraîne la suppression de ces fichiers.</p>'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
|
@ -4,6 +4,7 @@ class init extends common {
|
||||
'config' => [
|
||||
'analyticsId' => '',
|
||||
'autoBackup' => true,
|
||||
'fileBackup' => true,
|
||||
'autoUpdate' => true,
|
||||
'autoUpdateHtaccess' => false,
|
||||
'cookieConsent' => true,
|
||||
|
Loading…
Reference in New Issue
Block a user