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);
|
touch($this->db);
|
||||||
}
|
}
|
||||||
// Backup file
|
// Backup file
|
||||||
if ($this->config['backup']) {
|
if ($this->config['backup'] === true) {
|
||||||
copy ($this->db, str_replace('json' , 'back.json', $this->db));
|
copy ($this->db, str_replace('json' , 'backup.json', $this->db));
|
||||||
}
|
}
|
||||||
if ( is_writable($this->db) ) {
|
if ( is_writable($this->db) ) {
|
||||||
// 3 essais
|
// 3 essais
|
||||||
|
@ -44,7 +44,7 @@ class common {
|
|||||||
const ACCESS_TIMER = 1800;
|
const ACCESS_TIMER = 1800;
|
||||||
|
|
||||||
// Numéro de version
|
// Numéro de version
|
||||||
const ZWII_VERSION = '10.4.00.011';
|
const ZWII_VERSION = '10.4.00.012';
|
||||||
const ZWII_UPDATE_CHANNEL = "v10";
|
const ZWII_UPDATE_CHANNEL = "v10";
|
||||||
|
|
||||||
public static $actions = [];
|
public static $actions = [];
|
||||||
@ -168,10 +168,10 @@ class common {
|
|||||||
// Descripteur de données Entrées / Sorties
|
// Descripteur de données Entrées / Sorties
|
||||||
// Liste ici tous les fichiers de données
|
// Liste ici tous les fichiers de données
|
||||||
private $dataFiles = [
|
private $dataFiles = [
|
||||||
|
'config' => '',
|
||||||
'page' => '',
|
'page' => '',
|
||||||
'module' => '',
|
'module' => '',
|
||||||
'core' => '',
|
'core' => '',
|
||||||
'config' => '',
|
|
||||||
'page' => '',
|
'page' => '',
|
||||||
'user' => '',
|
'user' => '',
|
||||||
'theme' => '',
|
'theme' => '',
|
||||||
@ -198,13 +198,13 @@ class common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Instanciation de la classe des entrées / sorties
|
// Instanciation de la classe des entrées / sorties
|
||||||
// Récupére les descripteurs
|
// Récupère les descripteurs
|
||||||
foreach ($this->dataFiles as $keys => $value) {
|
foreach ($this->dataFiles as $keys => $value) {
|
||||||
// Constructeur JsonDB
|
// Constructeur JsonDB
|
||||||
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
|
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
|
||||||
'name' => $keys . '.json',
|
'name' => $keys . '.json',
|
||||||
'dir' => $this->dataPath ($keys,self::$i18nCurrent),
|
'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','metaDescription',$this->getData(['config','metaDescription'])]);
|
||||||
$this->setData(['locale','title',$this->getData(['config','title'])]);
|
$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]);
|
$this->setData(['core', 'dataVersion', 10400]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -485,6 +485,7 @@ class config extends common {
|
|||||||
[
|
[
|
||||||
'analyticsId' => $this->getInput('configAdvancedAnalyticsId'),
|
'analyticsId' => $this->getInput('configAdvancedAnalyticsId'),
|
||||||
'autoBackup' => $this->getInput('configAdvancedAutoBackup', helper::FILTER_BOOLEAN),
|
'autoBackup' => $this->getInput('configAdvancedAutoBackup', helper::FILTER_BOOLEAN),
|
||||||
|
'fileBackup' => $this->getInput('configAdvancedFileBackup', helper::FILTER_BOOLEAN),
|
||||||
'maintenance' => $this->getInput('configAdvancedMaintenance', helper::FILTER_BOOLEAN),
|
'maintenance' => $this->getInput('configAdvancedMaintenance', helper::FILTER_BOOLEAN),
|
||||||
'cookieConsent' => $this->getInput('configAdvancedCookieConsent', helper::FILTER_BOOLEAN),
|
'cookieConsent' => $this->getInput('configAdvancedCookieConsent', helper::FILTER_BOOLEAN),
|
||||||
'favicon' => $this->getInput('configAdvancedFavicon'),
|
'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 === []) {
|
if(self::$inputNotices === []) {
|
||||||
// Active la réécriture d'URL
|
// Active la réécriture d'URL
|
||||||
$rewrite = $this->getInput('rewrite', helper::FILTER_BOOLEAN);
|
$rewrite = $this->getInput('rewrite', helper::FILTER_BOOLEAN);
|
||||||
@ -572,12 +583,6 @@ class config extends common {
|
|||||||
'state' => $success
|
'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
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Configuration avancée',
|
'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>'
|
'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>
|
||||||
|
<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>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
|
@ -4,6 +4,7 @@ class init extends common {
|
|||||||
'config' => [
|
'config' => [
|
||||||
'analyticsId' => '',
|
'analyticsId' => '',
|
||||||
'autoBackup' => true,
|
'autoBackup' => true,
|
||||||
|
'fileBackup' => true,
|
||||||
'autoUpdate' => true,
|
'autoUpdate' => true,
|
||||||
'autoUpdateHtaccess' => false,
|
'autoUpdateHtaccess' => false,
|
||||||
'cookieConsent' => true,
|
'cookieConsent' => true,
|
||||||
|
Loading…
Reference in New Issue
Block a user