Overview
Comment:Rename backup settings to english in Config
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA3-256: 75254793bf805bb5842225049f88ddc29f3ee4bc63839de7a79b4821a6e6ae27
User & Date: bohwaz on 2022-03-16 02:58:46
Other Links: branch diff | manifest | tags
Context
2022-03-16
03:16
Rename remaining Config properties to English, including nom_asso and so on check-in: ebc1d0229e user: bohwaz tags: dev
02:58
Rename backup settings to english in Config check-in: 75254793bf user: bohwaz tags: dev
02:48
Rename config key 'pays' to 'country' check-in: e8cabb5adf user: bohwaz tags: dev
Changes

Modified src/include/data/1.2.0_migration.sql from [f5510de9d0] to [2933dd0884].

46
47
48
49
50
51
52




53
54
55
56
57
58
59
60
61
INSERT INTO config VALUES ('log_retention', 720);
INSERT INTO config VALUES ('log_anonymize', 365);

-- Rename config keys to english
UPDATE config SET key = 'default_category' WHERE key = 'categorie_membres';
UPDATE config SET key = 'color1' WHERE key = 'couleur1';
UPDATE config SET key = 'color2' WHERE key = 'couleur2';





-- This is now part of the config_users_fields table
DELETE FROM config WHERE key IN ('champs_membres', 'champ_identite', 'champ_identifiant');

-- Seems that some installations had this leftover? Let's just drop it.
DROP TABLE IF EXISTS srs_old;

-- Drop membres
DROP TABLE IF EXISTS membres;







>
>
>
>









46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
INSERT INTO config VALUES ('log_retention', 720);
INSERT INTO config VALUES ('log_anonymize', 365);

-- Rename config keys to english
UPDATE config SET key = 'default_category' WHERE key = 'categorie_membres';
UPDATE config SET key = 'color1' WHERE key = 'couleur1';
UPDATE config SET key = 'color2' WHERE key = 'couleur2';
UPDATE config SET key = 'country' WHERE key = 'pays';
UPDATE config SET key = 'currency' WHERE key = 'monnaie';
UPDATE config SET key = 'backup_frequency' WHERE key = 'frequence_sauvegardes';
UPDATE config SET key = 'backup_limit' WHERE key = 'nombre_sauvegardes';

-- This is now part of the config_users_fields table
DELETE FROM config WHERE key IN ('champs_membres', 'champ_identite', 'champ_identifiant');

-- Seems that some installations had this leftover? Let's just drop it.
DROP TABLE IF EXISTS srs_old;

-- Drop membres
DROP TABLE IF EXISTS membres;

Modified src/include/lib/Garradin/Config.php from [34a0def563] to [ac7c857e3c].

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
	protected $site_asso;

	protected $currency;
	protected $country;

	protected $default_category;

	protected $frequence_sauvegardes;
	protected $nombre_sauvegardes;

	protected $last_chart_change;
	protected $last_version_check;

	protected $color1;
	protected $color2;








|
|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
	protected $site_asso;

	protected $currency;
	protected $country;

	protected $default_category;

	protected $backup_frequency;
	protected $backup_limit;

	protected $last_chart_change;
	protected $last_version_check;

	protected $color1;
	protected $color2;

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
		'site_asso'             => '?string',

		'currency'              => 'string',
		'country'               => 'string',

		'default_category'      => 'int',

		'frequence_sauvegardes' => '?int',
		'nombre_sauvegardes'    => '?int',

		'last_chart_change'     => '?int',
		'last_version_check'    => '?string',

		'color1'                => '?string',
		'color2'                => '?string',








|
|







63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
		'site_asso'             => '?string',

		'currency'              => 'string',
		'country'               => 'string',

		'default_category'      => 'int',

		'backup_frequency'      => '?int',
		'backup_limit'          => '?int',

		'last_chart_change'     => '?int',
		'last_version_check'    => '?string',

		'color1'                => '?string',
		'color2'                => '?string',

Modified src/include/lib/Garradin/Sauvegarde.php from [f39ba19919] to [b9a090ad40].

134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
	/**
	 * Effectue une rotation des sauvegardes automatiques
	 * association.auto.1.sqlite deviendra association.auto.2.sqlite par exemple
	 */
	public function rotate(): void
	{
		$config = Config::getInstance();
		$nb = $config->get('nombre_sauvegardes');

		$list = $this->getList(true);

		// Sort backups from oldest to newest
		usort($list, function ($a, $b) {
			return $a->auto > $b->auto ? -1 : 1;
		});







|







134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
	/**
	 * Effectue une rotation des sauvegardes automatiques
	 * association.auto.1.sqlite deviendra association.auto.2.sqlite par exemple
	 */
	public function rotate(): void
	{
		$config = Config::getInstance();
		$nb = $config->get('backup_limit');

		$list = $this->getList(true);

		// Sort backups from oldest to newest
		usort($list, function ($a, $b) {
			return $a->auto > $b->auto ? -1 : 1;
		});
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
	 * @return boolean true
	 */
	public function auto()
	{
		$config = Config::getInstance();

		// Pas besoin d'aller plus loin si on ne fait pas de sauvegarde auto
		if ($config->get('frequence_sauvegardes') == 0 || $config->get('nombre_sauvegardes') == 0)
			return true;

		$list = $this->getList(true);

		if (count($list))
		{
			$last = current($list)->date;
		}
		else
		{
			$last = false;
		}

		// Test de la date de création de la dernière sauvegarde
		if ($last >= (time() - ($config->get('frequence_sauvegardes') * 3600 * 24)))
		{
			return true;
		}

		// Si pas de modif depuis la dernière sauvegarde, ça sert à rien d'en faire
		if ($last >= filemtime(DB_FILE))
		{







|














|







173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
	 * @return boolean true
	 */
	public function auto()
	{
		$config = Config::getInstance();

		// Pas besoin d'aller plus loin si on ne fait pas de sauvegarde auto
		if ($config->get('backup_frequency') == 0 || $config->get('backup_limit') == 0)
			return true;

		$list = $this->getList(true);

		if (count($list))
		{
			$last = current($list)->date;
		}
		else
		{
			$last = false;
		}

		// Test de la date de création de la dernière sauvegarde
		if ($last >= (time() - ($config->get('backup_frequency') * 3600 * 24)))
		{
			return true;
		}

		// Si pas de modif depuis la dernière sauvegarde, ça sert à rien d'en faire
		if ($last >= filemtime(DB_FILE))
		{

Modified src/scripts/cron.php from [dbd2c4e5c7] to [6db8cc5a8b].

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

require_once __DIR__ . '/../include/init.php';

// Exécution des tâches automatiques

$config = Config::getInstance();

if (ENABLE_AUTOMATIC_BACKUPS && $config->get('frequence_sauvegardes') && $config->get('nombre_sauvegardes'))
{
	$s = new Sauvegarde;
	$s->auto();
}

// Exécution des rappels automatiques
Reminders::sendPending();

Plugin::fireSignal('cron');







|









10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

require_once __DIR__ . '/../include/init.php';

// Exécution des tâches automatiques

$config = Config::getInstance();

if (ENABLE_AUTOMATIC_BACKUPS && $config->backup_frequency && $config->backup_limit)
{
	$s = new Sauvegarde;
	$s->auto();
}

// Exécution des rappels automatiques
Reminders::sendPending();

Plugin::fireSignal('cron');

Modified src/templates/admin/config/backup/index.tpl from [e84c2fbbb2] to [e86d60f5f5].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{include file="admin/_head.tpl" title="Sauvegardes" current="config"}

{include file="admin/config/_menu.tpl" current="backup"}

{include file="admin/config/backup/_menu.tpl" current="index"}

<fieldset>
	<legend>Politique de sauvegardes</legend>
	{if ENABLE_AUTOMATIC_BACKUPS && !$config.frequence_sauvegardes}
	<p class="help block">
		Les <a href="save.php">sauvegardes automatiques</a> sont désactivées. Il est recommandé de les activer pour pouvoir revenir en arrière en cas de problème majeur. Attention, cela ne dispense pas de réaliser des sauvegardes régulières sur votre ordinateur.
	</p>
	{/if}

	<p class="help">
		En cas de problème sur le serveur (plantage, dysfonctionnement du disque dur, incendie, etc.) vous pourriez perdre vos données.<br />








|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{include file="admin/_head.tpl" title="Sauvegardes" current="config"}

{include file="admin/config/_menu.tpl" current="backup"}

{include file="admin/config/backup/_menu.tpl" current="index"}

<fieldset>
	<legend>Politique de sauvegardes</legend>
	{if ENABLE_AUTOMATIC_BACKUPS && !$config.backup_frequency}
	<p class="help block">
		Les <a href="save.php">sauvegardes automatiques</a> sont désactivées. Il est recommandé de les activer pour pouvoir revenir en arrière en cas de problème majeur. Attention, cela ne dispense pas de réaliser des sauvegardes régulières sur votre ordinateur.
	</p>
	{/if}

	<p class="help">
		En cas de problème sur le serveur (plantage, dysfonctionnement du disque dur, incendie, etc.) vous pourriez perdre vos données.<br />

Modified src/templates/admin/config/backup/save.tpl from [04540ba7a1] to [2b305dd515].

58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
	</p>
	<p class="alert block">
		Attention, la sauvegarde automatique permet uniquement de revenir à un état antérieur, mais ne prévient pas de la perte des données&nbsp;! Pour cela, il est recommandé de faire des sauvegardes manuelles en téléchargeant une copie des données sur votre ordinateur.
		{if FILE_STORAGE_BACKEND != 'SQLite'}<br /><br />
		La sauvegarde automatique ne concerne que la base de données, mais pas les documents, fichiers joints aux écritures ou aux membres, ni le contenu du site web.{/if}
	</p>
	<dl>
		<dt><label for="f_frequency">Intervalle de sauvegarde</label> <b title="(Champ obligatoire)">obligatoire</b></dt>
		<dd>
			<select name="frequence_sauvegardes" required="required" id="f_frequency">
				<option value="0"{form_field name=frequence_sauvegardes data=$config selected=0}>Aucun — les sauvegardes automatiques sont désactivées</option>
				<option value="1"{form_field name=frequence_sauvegardes data=$config selected=1}>Quotidien, tous les jours</option>
				<option value="7"{form_field name=frequence_sauvegardes data=$config selected=7}>Hebdomadaire, tous les 7 jours</option>
				<option value="15"{form_field name=frequence_sauvegardes data=$config selected=15}>Bimensuel, tous les 15 jours</option>
				<option value="30"{form_field name=frequence_sauvegardes data=$config selected=30}>Mensuel</option>
				<option value="90"{form_field name=frequence_sauvegardes data=$config selected=90}>Trimestriel</option>
				<option value="365{form_field name=frequence_sauvegardes data=$config selected=365}">Annuel</option>
			</select>
		</dd>
		<dt><label for="f_max_backups">Nombre de sauvegardes conservées</label> <b title="(Champ obligatoire)">obligatoire</b></dt>
		<dd class="help">
			Par exemple avec l'intervalle mensuel, en indiquant de conserver 12 sauvegardes,
			vous pourrez garder un an d'historique de sauvegardes.
		</dd>
		<dd class="help">
			<strong>Attention :</strong> si vous choisissez un nombre important et un intervalle réduit,
			l'espace disque occupé par vos sauvegardes va rapidement augmenter.
		</dd>
		<dd><input type="number" name="nombre_sauvegardes" value="{form_field name=nombre_sauvegardes data=$config}" if="f_max_backups" min="1" max="50" required="required" /></dd>
	</dl>
	<p class="submit">
		{csrf_field key="backup_config"}
		{button type="submit" name="config" label="Enregistrer" shape="right" class="main"}
	</p>
</fieldset>

</form>

{include file="admin/_foot.tpl"}







|
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<




<










58
59
60
61
62
63
64
65













66


67
68
69
70

71
72
73
74
75
76
77
78
79
80
	</p>
	<p class="alert block">
		Attention, la sauvegarde automatique permet uniquement de revenir à un état antérieur, mais ne prévient pas de la perte des données&nbsp;! Pour cela, il est recommandé de faire des sauvegardes manuelles en téléchargeant une copie des données sur votre ordinateur.
		{if FILE_STORAGE_BACKEND != 'SQLite'}<br /><br />
		La sauvegarde automatique ne concerne que la base de données, mais pas les documents, fichiers joints aux écritures ou aux membres, ni le contenu du site web.{/if}
	</p>
	<dl>
		{input type="select" name="backup_frequency" source=$config label="Fréquence de sauvegarde" required=true options=$frequencies}













		{input type="number" step="1" min="0" max="50" name="backup_limit" source=$config label="Nombre de sauvegardes conservées" required=true options=$frequencies help="Par exemple avec une fréquence mensuelle, en indiquant de conserver 12 sauvegardes, vous pourrez garder un an d'historique de sauvegardes."}


		<dd class="help">
			<strong>Attention :</strong> si vous choisissez un nombre important et un intervalle réduit,
			l'espace disque occupé par vos sauvegardes va rapidement augmenter.
		</dd>

	</dl>
	<p class="submit">
		{csrf_field key="backup_config"}
		{button type="submit" name="config" label="Enregistrer" shape="right" class="main"}
	</p>
</fieldset>

</form>

{include file="admin/_foot.tpl"}

Modified src/www/admin/config/backup/save.php from [9f5c67bf3b] to [5fa8e1e7d0].

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48










49
50
51
}, 'backup_create', Utils::getSelfURI(['ok' => 'create']));

$form->runIf('config', function () {
	if (!ENABLE_AUTOMATIC_BACKUPS) {
		return;
	}

	$frequency = (int) f('frequence_sauvegardes');

	if ($frequency < 0 || $frequency > 365) {
		throw new UserException('Fréquence invalide');
	}

	$number = (int) f('nombre_sauvegardes');

	if ($number < 0 || $number > 50) {
		throw new UserException('Nombre de sauvegardes invalide. Le maximum est de 50 sauvegardes.');
	}

	$config = Config::getInstance();
	$config->set('frequence_sauvegardes', $frequency);
	$config->set('nombre_sauvegardes', $number);
	$config->save();
}, 'backup_config', Utils::getSelfURI(['ok' => 'config']));

$db_size = $s->getDBSize();
$files_size = (FILE_STORAGE_BACKEND == 'SQLite') ? Files::getUsedQuota() : null;

$ok = qg('ok'); // return message











$tpl->assign(compact('ok', 'db_size', 'files_size'));

$tpl->display('admin/config/backup/save.tpl');







|





|






|
|








>
>
>
>
>
>
>
>
>
>
|


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
}, 'backup_create', Utils::getSelfURI(['ok' => 'create']));

$form->runIf('config', function () {
	if (!ENABLE_AUTOMATIC_BACKUPS) {
		return;
	}

	$frequency = (int) f('backup_frequency');

	if ($frequency < 0 || $frequency > 365) {
		throw new UserException('Fréquence invalide');
	}

	$number = (int) f('backup_limit');

	if ($number < 0 || $number > 50) {
		throw new UserException('Nombre de sauvegardes invalide. Le maximum est de 50 sauvegardes.');
	}

	$config = Config::getInstance();
	$config->set('backup_frequency', $frequency);
	$config->set('backup_limit', $number);
	$config->save();
}, 'backup_config', Utils::getSelfURI(['ok' => 'config']));

$db_size = $s->getDBSize();
$files_size = (FILE_STORAGE_BACKEND == 'SQLite') ? Files::getUsedQuota() : null;

$ok = qg('ok'); // return message

$frequencies = [
	0 => 'Aucun — les sauvegardes automatiques sont désactivées',
	1 => 'Quotidienne, tous les jours',
	7 => 'Hebdomadaire, tous les 7 jours',
	15 => 'Bimensuelle, tous les 15 jours',
	30 => 'Mensuelle',
	90 => 'Trimestrielle',
	365 => 'Annuelle',
];

$tpl->assign(compact('ok', 'db_size', 'files_size', 'frequencies'));

$tpl->display('admin/config/backup/save.tpl');