before(function () use ($app) { return $app['firewall']->requireSetup($app); }); $app->get('/', function(SilexApp $app) { if ($app['browser']->isMobile()) { return $app->redirect("/login/?redirect=lightbox"); } elseif ($app['browser']->isNewGeneration()) { return $app->redirect("/login/?redirect=prod"); } else { return $app->redirect("/login/?redirect=client"); } }); $app->get('/robots.txt', function(SilexApp $app) { if ($app['phraseanet.registry']->get('GV_allow_search_engine') === true) { $buffer = "User-Agent: *\n" . "Allow: /\n"; } else { $buffer = "User-Agent: *\n" . "Disallow: /\n"; } return new Response($buffer, 200, array('Content-Type' => 'text/plain')); })->bind('robots'); $app->mount('/feeds/', new RSSFeeds()); $app->mount('/account/', new Account()); $app->mount('/login/', new Login()); $app->mount('/developers/', new Developers()); $app->mount('/lightbox/', new Lightbox()); $app->mount('/admin/', new Root()); $app->mount('/admin/dashboard', new Dashboard()); $app->mount('/admin/collection', new Collection()); $app->mount('/admin/databox', new Databox()); $app->mount('/admin/databoxes', new Databoxes()); $app->mount('/admin/setup', new Setup()); $app->mount('/admin/sphinx', new Sphinx()); $app->mount('/admin/connected-users', new ConnectedUsers()); $app->mount('/admin/publications', new Publications()); $app->mount('/admin/users', new Users()); $app->mount('/admin/fields', new Fields()); $app->mount('/admin/subdefs', new Subdefs()); $app->mount('/admin/description', new Description()); $app->mount('/admin/tests/connection', new ConnectionTest()); $app->mount('/admin/tests/pathurl', new PathFileTest()); return $app; }, isset($environment) ? $environment: null );