Exemple #1
0
 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);
         }
     }
 }