view = new View(); $this->headerView = new View(); $this->footerView = new View(); $this->request = $request; $this->template = !empty($request['action']) ? $request['action'] : 'default'; if(isset($request['action']) && $request['action'] === "login" && isset($request['username'])) $user->login($request['username'], $request['password']); if(isset($request['action']) && $request['action'] === "logout") $user->logout(); } /** * Methode zum anzeigen des Contents. * * @return String Content der Applikation. */ public function display() { global $user; $innerView = new View(); switch($this->template){ case 'login': $innerView->setTemplate('login'); $entryid = $this->request['id']; $entry = Model::getEntry($entryid); $innerView->assign('title', $entry['title']); $innerView->assign('content', $entry['content']); break; case 'profile': $innerView->setTemplate('profile'); $openvpn = new OpenVPNStatus("/home/moritz/www/openvpn-status.log"); $clientName = $user->getClients(); $hostname = searchForHostname($clientName, $openvpn->logfile); $innerView->assign('openvpn', $openvpn->logfile[$hostname]); break; case 'download': $innerView->setTemplate('download'); break; case 'label': $innerView->setTemplate('label'); $innerView->assign('label', getLabelFromId($this->request['labelId'])); break; case 'default': default: $entries = Model::getEntries(); $innerView->setTemplate('default'); } $this->headerView->setTemplate('header'); $this->footerView->setTemplate('footer'); $this->view->setTemplate('matrix'); $this->headerView->assign('title', 'MMNxVPN'); $this->headerView->assign('request', $this->request); $this->headerView->assign('labels', getLabels()); $this->view->assign('blog_title', $this->headerView->loadTemplate()); $this->view->assign('blog_footer', $this->footerView->loadTemplate()); $this->view->assign('blog_content', $innerView->loadTemplate()); return $this->view->loadTemplate(); } } ?>