before(function($a) use ($app) { if (setup::is_installed()) { $appbox = appbox::get_instance(); if (!$appbox->need_major_upgrade()) throw new Exception_Setup_PhraseaAlreadyInstalled(); $app['upgrade'] = 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_Setup_Installer()); $app->mount('/upgrader/', new Controller_Setup_Upgrader()); $app->mount('/test', new Controller_Utils_PathFileTest()); $app->mount('/connection_test', new Controller_Utils_ConnectionTest()); $app->error(function($e) use ($app) { if ($e instanceof Exception_Setup_PhraseaAlreadyInstalled) return $app->redirect('/login'); return new Response( sprintf( 'Error %s @%s:%s' , $e->getFile() , $e->getLine() , $e->getMessage() ) , 500 ); }); return $app; });