Overview
Comment:Fix bugs for upgrade since 1.0.0rc7
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | emails
Files: files | file ages | folders
SHA3-256: d471e1e53cb8f32d8d181dc584e91179c9dfd68065bded1ee4c62155eaa53e09
User & Date: bohwaz on 2022-06-02 01:49:13
Other Links: branch diff | manifest | tags
Context
2022-06-02
02:10
Fix wording of verify buttons check-in: 2bc2e329b5 user: bohwaz tags: emails
01:49
Fix bugs for upgrade since 1.0.0rc7 check-in: d471e1e53c user: bohwaz tags: emails
01:05
Fix reference to unset property in Email check-in: 222280b24e user: bohwaz tags: emails
Changes

Modified src/include/lib/Garradin/Sauvegarde.php from [65811bb164] to [ef64debf4f].

482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
		}

		$session = Session::getInstance();

		// Empêchons l'admin de se tirer une balle dans le pied
		if ($session->isLogged())
		{
			if (version_compare($version, '1.1', '<')) { // FIXME remove in 1.2
				$sql = 'SELECT 1 FROM membres_categories WHERE id = (SELECT id_categorie FROM membres WHERE id = %d) AND droit_connexion >= %d AND droit_config >= %d';
			}
			else {
				$sql = 'SELECT 1 FROM users_categories WHERE id = (SELECT id_category FROM membres WHERE id = %d) AND perm_connect >= %d AND perm_config >= %d';
			}

			$sql = sprintf($sql, $session->getUser()->id, Session::ACCESS_READ, Session::ACCESS_ADMIN);







|







482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
		}

		$session = Session::getInstance();

		// Empêchons l'admin de se tirer une balle dans le pied
		if ($session->isLogged())
		{
			if (version_compare($version, '1.1.0', '<')) { // FIXME remove in 1.2
				$sql = 'SELECT 1 FROM membres_categories WHERE id = (SELECT id_categorie FROM membres WHERE id = %d) AND droit_connexion >= %d AND droit_config >= %d';
			}
			else {
				$sql = 'SELECT 1 FROM users_categories WHERE id = (SELECT id_category FROM membres WHERE id = %d) AND perm_connect >= %d AND perm_config >= %d';
			}

			$sql = sprintf($sql, $session->getUser()->id, Session::ACCESS_READ, Session::ACCESS_ADMIN);
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
		{
			rename($backup, DB_FILE);
			throw new \RuntimeException('Unable to copy backup DB to main location.');
		}

		unlink($backup);

		if ($return & self::NOT_AN_ADMIN)
		{
			// Forcer toutes les catégories à pouvoir gérer les droits
			$db = DB::getInstance();
			$db->update('users_categories', [
				'perm_users' => Session::ACCESS_ADMIN,
				'perm_connect' => Session::ACCESS_READ
			]);
		}

		if (!$session->refresh()) {
			$session->forceLogin(-1);
			$return |= self::CHANGED_USER;
		}

		if ($version != garradin_version())
		{
			$return |= self::NEED_UPGRADE;







|









|







518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
		{
			rename($backup, DB_FILE);
			throw new \RuntimeException('Unable to copy backup DB to main location.');
		}

		unlink($backup);

		if (($return & self::NOT_AN_ADMIN) && version_compare($version, '1.1.0', '>='))
		{
			// Forcer toutes les catégories à pouvoir gérer les droits
			$db = DB::getInstance();
			$db->update('users_categories', [
				'perm_users' => Session::ACCESS_ADMIN,
				'perm_connect' => Session::ACCESS_READ
			]);
		}

		if (version_compare($version, '1.1.0', '>=') && !$session->refresh()) {
			$session->forceLogin(-1);
			$return |= self::CHANGED_USER;
		}

		if ($version != garradin_version())
		{
			$return |= self::NEED_UPGRADE;

Modified src/include/lib/Garradin/Upgrade.php from [9b92607a99] to [6fce8d0f39].

486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
		}


		$session = Session::getInstance();
		$user_is_logged = $session->isLogged(true);

		// Forcer à rafraîchir les données de la session si elle existe
		if ($user_is_logged)
		{
			$session->refresh();
		}
	}

	/**
	 * Move data from root to data/ subdirectory







|







486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
		}


		$session = Session::getInstance();
		$user_is_logged = $session->isLogged(true);

		// Forcer à rafraîchir les données de la session si elle existe
		if ($user_is_logged && !headers_sent())
		{
			$session->refresh();
		}
	}

	/**
	 * Move data from root to data/ subdirectory