public function connect(SilexApplication $app) { $app['controller.prod'] = $this; $controllers = $app['controllers_factory']; $controllers->before(function (Request $request) use($app) { if (!$app['authentication']->isAuthenticated() && null !== $request->query->get('nolog')) { return $app->redirectPath('login_authenticate_as_guest'); } if (null !== ($response = $app['firewall']->requireAuthentication())) { return $response; } }); $controllers->get('/', function (Application $app) { try { \Session_Logger::updateClientInfos($app, 1); } catch (SessionNotFound $e) { return $app->redirectPath('logout'); } $cssPath = $app['root.path'] . '/www/skins/prod/'; $css = []; $cssfile = false; $finder = new Finder(); $iterator = $finder->directories()->depth(0)->filter(function (\SplFileInfo $fileinfo) { return ctype_xdigit($fileinfo->getBasename()); })->in($cssPath); foreach ($iterator as $dir) { $baseName = $dir->getBaseName(); $css[$baseName] = $baseName; } $cssfile = $app['settings']->getUserSetting($app['authentication']->getUser(), 'css'); if (!$cssfile && isset($css['000000'])) { $cssfile = '000000'; } $feeds = $app['repo.feeds']->getAllForUser($app['acl']->get($app['authentication']->getUser())); $aggregate = Aggregate::createFromUser($app, $app['authentication']->getUser()); $thjslist = ""; $queries_topics = ''; if ($app['conf']->get(['registry', 'classic', 'render-topics']) == 'popups') { $queries_topics = \queries::dropdown_topics($app['translator'], $app['locale']); } elseif ($app['conf']->get(['registry', 'classic', 'render-topics']) == 'tree') { $queries_topics = \queries::tree_topics($app['locale']); } $sbas = $bas2sbas = []; foreach ($app['phraseanet.appbox']->get_databoxes() as $databox) { $sbas_id = $databox->get_sbas_id(); $sbas['s' + $sbas_id] = ['sbid' => $sbas_id, 'seeker' => null]; foreach ($databox->get_collections() as $coll) { $bas2sbas['b' . $coll->get_base_id()] = ['sbid' => $sbas_id, 'ckobj' => ['checked' => false], 'waschecked' => false]; } } return $app['twig']->render('prod/index.html.twig', ['module_name' => 'Production', 'WorkZone' => new Helper\WorkZone($app, $app['request']), 'module_prod' => new Helper\Prod($app, $app['request']), 'cssfile' => $cssfile, 'module' => 'prod', 'events' => $app['events-manager'], 'GV_defaultQuery_type' => $app['conf']->get(['registry', 'searchengine', 'default-query-type']), 'GV_multiAndReport' => $app['conf']->get(['registry', 'modules', 'stories']), 'GV_thesaurus' => $app['conf']->get(['registry', 'modules', 'thesaurus']), 'cgus_agreement' => \databox_cgu::askAgreement($app), 'css' => $css, 'feeds' => $feeds, 'aggregate' => $aggregate, 'GV_google_api' => $app['conf']->get(['registry', 'webservices', 'google-charts-enabled']), 'queries_topics' => $queries_topics, 'search_status' => \databox_status::getSearchStatus($app), 'queries_history' => \queries::history($app, $app['authentication']->getUser()->getId()), 'thesau_js_list' => $thjslist, 'thesau_json_sbas' => json_encode($sbas), 'thesau_json_bas2sbas' => json_encode($bas2sbas), 'thesau_languages' => $app['locales.available']]); })->bind('prod'); return $controllers; }
public function indexAction(Request $request) { try { \Session_Logger::updateClientInfos($this->app, 1); } catch (SessionNotFound $e) { return $this->app->redirectPath('logout'); } $cssPath = $this->app['root.path'] . '/www/assets/prod/skins'; $css = []; $finder = new Finder(); /** @var SplFileInfo[] $iterator */ $iterator = $finder->directories()->depth(0)->filter(function (\SplFileInfo $fileinfo) { return ctype_xdigit($fileinfo->getBasename()); })->in($cssPath); foreach ($iterator as $dir) { $baseName = $dir->getBaseName(); $css[$baseName] = $baseName; } $user = $this->getAuthenticatedUser(); $cssfile = $this->getSettings()->getUserSetting($user, 'css'); if (!$cssfile && isset($css['000000'])) { $cssfile = '000000'; } $feeds = $this->getFeedRepository()->getAllForUser($this->getAclForUser()); $aggregate = Aggregate::createFromUser($this->app, $user); $thjslist = ""; $queries_topics = ''; $conf = $this->getConf(); if ($conf->get(['registry', 'classic', 'render-topics']) == 'popups') { $queries_topics = \queries::dropdown_topics($this->app['translator'], $this->app['locale']); } elseif ($conf->get(['registry', 'classic', 'render-topics']) == 'tree') { $queries_topics = \queries::tree_topics($this->app['locale']); } $sbas = $bas2sbas = []; foreach ($this->getApplicationBox()->get_databoxes() as $databox) { $sbas_id = $databox->get_sbas_id(); $sbas['s' . $sbas_id] = ['sbid' => $sbas_id, 'seeker' => null]; foreach ($databox->get_collections() as $coll) { $bas2sbas['b' . $coll->get_base_id()] = ['sbid' => $sbas_id, 'ckobj' => ['checked' => false], 'waschecked' => false]; } } $helper = new Helper\Prod($this->app, $request); /** @var \Closure $filter */ $filter = $this->app['plugin.filter_by_authorization']; $plugins = ['workzone' => $filter('workzone'), 'actionbar' => $filter('actionbar')]; return $this->render('prod/index.html.twig', ['module_name' => 'Production', 'WorkZone' => new Helper\WorkZone($this->app, $request), 'module_prod' => $helper, 'search_datas' => $helper->get_search_datas(), 'cssfile' => $cssfile, 'module' => 'prod', 'events' => $this->app['events-manager'], 'GV_defaultQuery_type' => $conf->get(['registry', 'searchengine', 'default-query-type']), 'GV_multiAndReport' => $conf->get(['registry', 'modules', 'stories']), 'GV_thesaurus' => $conf->get(['registry', 'modules', 'thesaurus']), 'cgus_agreement' => \databox_cgu::askAgreement($this->app), 'css' => $css, 'feeds' => $feeds, 'aggregate' => $aggregate, 'GV_google_api' => $conf->get(['registry', 'webservices', 'google-charts-enabled']), 'queries_topics' => $queries_topics, 'search_status' => \databox_status::getSearchStatus($this->app), 'queries_history' => \queries::history($this->app, $user->getId()), 'thesau_js_list' => $thjslist, 'thesau_json_sbas' => json_encode($sbas), 'thesau_json_bas2sbas' => json_encode($bas2sbas), 'thesau_languages' => $this->app['locales.available'], 'plugins' => $plugins]); }
/** * Returns true if application has terms of use * * @return bool */ public function hasTermsOfUse() { return '' !== \databox_cgu::getHome($this); }
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; }
public function getCgusAction(Request $request) { return $this->render('login/cgus.html.twig', array_merge(['cgus' => \databox_cgu::getHome($this->app)], $this->getDefaultTemplateVariables($request))); }