| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- class Controller {
- private $request = null;
- private $template = '';
- private $view = null;
- private $headerView = null;
- private $footerView = null;
- /**
- * Konstruktor, erstellet den Controller.
- *
- * @param Array $request Array aus $_GET & $_POST.
- */
- public function __construct($request) {
- global $user;
- $this->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', getLabelById($this->request['labelId']));
- $documentView = new View();
- $documentView->setTemplate('documentlist');
- $innerView->assign('documentlist', $documentView->loadTemplate());
- 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();
- }
- }
- ?>
|