before(function($a) use ($app) { if (\setup::is_installed()) { $appbox = \appbox::get_instance($app['Core']); if ( ! $appbox->need_major_upgrade()) { throw new \Exception_Setup_PhraseaAlreadyInstalled(); } $app['upgrade'] = true; } elseif (\setup::needUpgradeConfigurationFile()) { $connexionInc = new \SplFileInfo(__DIR__ . '/../../../../config/connexion.inc'); $configInc = new \SplFileInfo(__DIR__ . '/../../../../config/config.inc'); $configuration = \Alchemy\Phrasea\Core\Configuration::build(); $configuration->upgradeFromOldConf($configInc, $connexionInc); $app['install'] = true; } else { $app['install'] = true; } return; }); $app->get('/', function() use ($app) { if ($app['install'] === true) { return $app->redirect('/setup/installer/'); }if ($app['upgrade'] === true) { return $app->redirect('/setup/upgrader/'); } }); $app->mount('/installer/', new Controller\Installer()); $app->mount('/upgrader/', new Controller\Upgrader()); $app->mount('/test', new ControllerUtils\PathFileTest()); $app->mount('/connection_test', new ControllerUtils\ConnectionTest()); $app->error(function($e) use ($app) { if ($e instanceof \Exception_Setup_PhraseaAlreadyInstalled) { return $app->redirect('/login/'); } return new Response('Internal Server Error', 500); }); return $app; });