Overview
Comment:Suppression espaces en trop
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: 995b1807a87d410220aa8453a44568e03f2da8ac
User & Date: bohwaz on 2018-10-26 10:18:31
Other Links: branch diff | manifest | tags
Context
2018-10-27
20:02
Intitulé option export ODS check-in: 459549dd47 user: bohwaz tags: dev
2018-10-26
10:18
Suppression espaces en trop check-in: 995b1807a8 user: bohwaz tags: dev
10:18
Réinstaller les plugins système après une remise à zéro check-in: 52eec5cad6 user: bohwaz tags: dev
Changes

Modified src/include/lib/Garradin/Sauvegarde.php from [3200010089] to [66b6709354].

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
	const NOT_A_DB = 42;
	const NO_APP_ID = 43;

	/**
	 * Renvoie la liste des fichiers SQLite sauvegardés
	 * @param  boolean $auto Si true ne renvoie que la liste des sauvegardes automatiques
	 * @return array 		 Liste des fichiers
	 */	
	public function getList($auto = false)
	{
		$ext = $auto ? 'auto\.\d+\.sqlite' : 'sqlite';

		$out = [];
		$dir = dir(DATA_ROOT);








|







11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
	const NOT_A_DB = 42;
	const NO_APP_ID = 43;

	/**
	 * Renvoie la liste des fichiers SQLite sauvegardés
	 * @param  boolean $auto Si true ne renvoie que la liste des sauvegardes automatiques
	 * @return array 		 Liste des fichiers
	 */
	public function getList($auto = false)
	{
		$ext = $auto ? 'auto\.\d+\.sqlite' : 'sqlite';

		$out = [];
		$dir = dir(DATA_ROOT);

46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
	 * @return string Le nom de fichier de la sauvegarde ainsi créée
	 */
	public function create($auto = false)
	{
		$suffix = is_string($auto) ? $auto : ($auto ? 'auto.1' : date('Y-m-d-His'));

		$backup = str_replace('.sqlite', sprintf('.%s.sqlite', $suffix), DB_FILE);
		
		// Acquire a shared lock before copying
		$db = DB::getInstance();
		$db->exec('BEGIN IMMEDIATE TRANSACTION;');
		
		copy(DB_FILE, $backup);
		
		$db->exec('END TRANSACTION;');
		return basename($backup);
	}

	/**
	 * Effectue une rotation des sauvegardes automatiques
	 * association.auto.1.sqlite deviendra association.auto.2.sqlite par exemple







|



|

|







46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
	 * @return string Le nom de fichier de la sauvegarde ainsi créée
	 */
	public function create($auto = false)
	{
		$suffix = is_string($auto) ? $auto : ($auto ? 'auto.1' : date('Y-m-d-His'));

		$backup = str_replace('.sqlite', sprintf('.%s.sqlite', $suffix), DB_FILE);

		// Acquire a shared lock before copying
		$db = DB::getInstance();
		$db->exec('BEGIN IMMEDIATE TRANSACTION;');

		copy(DB_FILE, $backup);

		$db->exec('END TRANSACTION;');
		return basename($backup);
	}

	/**
	 * Effectue une rotation des sauvegardes automatiques
	 * association.auto.1.sqlite deviendra association.auto.2.sqlite par exemple
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373


		$db->close();

		$backup = str_replace('.sqlite', date('.Y-m-d-His') . '.avant_restauration.sqlite', DB_FILE);

		DB::getInstance()->close();
		
		if (!rename(DB_FILE, $backup))
		{
			throw new \RuntimeException('Unable to backup current DB file.');
		}

		if (!copy($file, DB_FILE))
		{







|







359
360
361
362
363
364
365
366
367
368
369
370
371
372
373


		$db->close();

		$backup = str_replace('.sqlite', date('.Y-m-d-His') . '.avant_restauration.sqlite', DB_FILE);

		DB::getInstance()->close();

		if (!rename(DB_FILE, $backup))
		{
			throw new \RuntimeException('Unable to backup current DB file.');
		}

		if (!copy($file, DB_FILE))
		{