public function process() { session_start(); $aclang = $this->getallheaders(); $this->log->Info("Serving request: " . implode(",", $aclang)); $pageId = $this->determinePage(); if ($pageId == "") { $this->log->Info("PageId is null, redirecting to entry.php?t=dashboard&type=duplicate"); header('Location: ' . $this->urlRewrite->r('entry.php?t=dashboard&type=duplicate')); } else { $this->log->Info("PageId " . $pageId); $lang = $this->determineLanguage(); $textResources = new TextResources($lang); $serverContext = str_replace('/entry.php', '', $_SERVER['SCRIPT_NAME']); $pageContext = new PageContext($pageId, $textResources, $lang, $serverContext); $twigVars = array('host' => "http://" . $_SERVER['HTTP_HOST'], 'textResources' => $textResources, 'pageContext' => $pageContext); $twigTemplate = $pageId; $render = true; $controller = null; switch ($pageId) { case 'login': $controller = new LoginController(); $twigTemplate = 'login'; break; case 'dashboard': $controller = new DashboardController(); $twigTemplate = 'dashboard'; break; case 'manageAlbums': $controller = new ManageAlbumsController(); $twigTemplate = 'manageAlbums'; break; case 'service': $controller = new ServiceController(); break; } if (isset($controller)) { $vars = $controller->process($this->urlRewrite); $render = $vars['render']; $twigVars = array_merge($twigVars, $vars); } $twigVars = array_merge($twigVars, array('config' => $GLOBALS['config'], 'userLoggedIn' => isset($_SESSION['user']))); if (isset($_SESSION['user'])) { $twigVars = array_merge($twigVars, array('user' => $_SESSION['user'])); } if ($render === true) { echo $this->twig->render('page/' . $twigTemplate . '.twig', $twigVars); } } }