<?php
define('GARRADIN_UPGRADE_PROCESS', true);
require_once __DIR__ . '/../../include/init.php';
if (!file_exists(GARRADIN_DB_FILE))
{
utils::redirect('/admin/install.php');
}
require_once GARRADIN_ROOT . '/include/class.db.php';
require_once GARRADIN_ROOT . '/include/class.config.php';
$config = Garradin_Config::getInstance();
$v = $config->getVersion();
if (version_compare($v, garradin_version(), '>='))
{
throw new UserException("Pas de mise à jour à faire.");
}
$db = Garradin_DB::getInstance();
echo '<!DOCTYPE html>
<meta charset="utf-8" />
<h3>Mise à jour de Garradin '.$config->getVersion().' vers la version '.garradin_version().'...</h3>';
flush();
// versions pré-0.3.0
if (!$v)
{
$db->exec('ALTER TABLE membres ADD COLUMN lettre_infos INTEGER DEFAULT 0;');
}
elseif (version_compare($v, '0.4.0', '<'))
{
$config->set('monnaie', '€');
$config->set('pays', 'FR');
$config->save();
$db->exec(file_get_contents(GARRADIN_ROOT . '/include/data/0.4.0.sql'));
// Mise en place compta
require GARRADIN_ROOT . '/include/class.compta_comptes.php';
$comptes = new Garradin_Compta_Comptes;
$comptes->importPlan();
require GARRADIN_ROOT . '/include/class.compta_categories.php';
$comptes = new Garradin_Compta_Categories;
$comptes->importCategories();
}
elseif (version_compare($v, '0.4.3', '<'))
{
$db->exec('DROP TABLE compta_exercices;');
$db->exec('
CREATE TABLE compta_exercices
-- Exercices
(
id INTEGER PRIMARY KEY,
libelle TEXT NOT NULL,
debut TEXT NOT NULL DEFAULT CURRENT_DATE,
fin TEXT NULL DEFAULT NULL,
cloture INTEGER NOT NULL DEFAULT 0
);');
require GARRADIN_ROOT . '/include/class.compta_exercices.php';
$ex = new Garradin_Compta_Exercices;
$ex->add(array('libelle' => 'Premier exercice', 'debut' => date('Y-01-01'), 'fin' => date('Y-12-31')));
}
utils::clearCaches();
$config->setVersion(garradin_version());
echo '<h4>Mise à jour terminée.</h4>
<p><a href="./">Retour</a></p>';
?>