public function connect(Application $app) { $controllers = $app['controllers_factory']; $app['login.controller'] = $this; $controllers->before(function (Request $request) use($app) { if ($request->getPathInfo() == $app->path('homepage')) { return; } }); // Displays the homepage $controllers->get('/', 'login.controller:login')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } if (null !== $request->query->get('postlog')) { // if isset postlog parameter, set cookie and log out current user // then post login operation like getting baskets from an invit session // could be done by Session_handler authentication process $params = []; if (null !== ($redirect = $request->query->get('redirect'))) { $params = ['redirect' => ltrim($redirect, '/')]; } $response = $app->redirectPath('logout', $params); $response->headers->setCookie(new Cookie('postlog', 1)); return $response; } })->bind('homepage'); // Authentication end point $controllers->post('/authenticate/', 'login.controller:authenticate')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_authenticate'); // Guest access end point $controllers->match('/authenticate/guest/', 'login.controller:authenticateAsGuest')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_authenticate_as_guest')->method('GET|POST'); // Authenticate with an AuthProvider $controllers->get('/provider/{providerId}/authenticate/', 'login.controller:authenticateWithProvider')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_authentication_provider_authenticate'); // AuthProviders callbacks $controllers->get('/provider/{providerId}/callback/', 'login.controller:authenticationCallback')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_authentication_provider_callback'); // Logout end point $logoutController = $controllers->get('/logout/', 'login.controller:logout')->bind('logout'); $app['firewall']->addMandatoryAuthentication($logoutController); // Registration end point ; redirects to classic registration or AuthProvider registration $controllers->get('/register/', 'login.controller:displayRegisterForm')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_register'); // Classic registration end point $controllers->match('/register-classic/', 'login.controller:doRegistration')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_register_classic'); // Provide a JSON serialization of registration fields configuration $controllers->get('/registration-fields/', function (PhraseaApplication $app, Request $request) { return $app->json($app['registration.fields']); })->bind('login_registration_fields'); // Unlocks an email address that is currently locked $controllers->get('/register-confirm/', 'login.controller:registerConfirm')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_register_confirm'); // Displays a form to send an account unlock email again $controllers->get('/send-mail-confirm/', 'login.controller:sendConfirmMail')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_send_mail'); // Forgot password end point $controllers->match('/forgot-password/', 'login.controller:forgotPassword')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_forgot_password'); // Renew password end point $controllers->match('/renew-password/', 'login.controller:renewPassword')->before(function (Request $request) use($app) { if (null !== ($response = $app['firewall']->requireNotAuthenticated())) { return $response; } })->bind('login_renew_password'); // Displays Terms of use $controllers->get('/cgus', function (PhraseaApplication $app, Request $request) { return $app['twig']->render('login/cgus.html.twig', array_merge(['cgus' => \databox_cgu::getHome($app)], self::getDefaultTemplateVariables($app))); })->bind('login_cgus'); $controllers->get('/language.json', 'login.controller:getLanguage')->bind('login_language'); return $controllers; }
/** * Returns true if application has terms of use * * @return bool */ public function hasTermsOfUse() { return '' !== \databox_cgu::getHome($this); }
public function getCgusAction(Request $request) { return $this->render('login/cgus.html.twig', array_merge(['cgus' => \databox_cgu::getHome($this->app)], $this->getDefaultTemplateVariables($request))); }