diff options
| author | Nils Schwabe | 2014-05-19 16:54:33 +0200 |
|---|---|---|
| committer | Nils Schwabe | 2014-05-19 16:54:33 +0200 |
| commit | cf58c1bf8213221545e9ec55b651189117fdfc17 (patch) | |
| tree | 20eaa13fa8c72607409dbc565ffcba82b4b3c71a /management-interface/api/models/Master.php | |
| parent | Add new webinterface with f3 (framework) (diff) | |
| download | masterserver-cf58c1bf8213221545e9ec55b651189117fdfc17.tar.gz masterserver-cf58c1bf8213221545e9ec55b651189117fdfc17.tar.xz masterserver-cf58c1bf8213221545e9ec55b651189117fdfc17.zip | |
Add login functionallity
Diffstat (limited to 'management-interface/api/models/Master.php')
| -rw-r--r-- | management-interface/api/models/Master.php | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/management-interface/api/models/Master.php b/management-interface/api/models/Master.php new file mode 100644 index 0000000..4ee2943 --- /dev/null +++ b/management-interface/api/models/Master.php @@ -0,0 +1,63 @@ +<?php + +class Master { + + public $view; + + public function __construct() { + $this->view = new View; + } + + public function parse($f3, $params) { + $f3->set('_title', $f3->get('title')); + + // set view if item exists + if (in_array($params['m'], $f3->get('item'))) { + if (!file_exists('views/' . $params['m'] . '.htm')) { + // if file does not exists, create a template + copy('views/template.htm', 'views/' . $params['m'] . '.htm'); + } + $f3->set('_module', $params['m']); + } elseif ($params['m'] === 'login') { + $f3->set('_module', 'login'); + } else { + $f3->set('_module', 'home'); + } + + echo $this->view->render('template/header.php'); + + echo $this->view->render('views/menu.php'); + + if (!empty($f3->get('message'))) { + echo $this->view->render('template/message.php'); + } + + echo Template::instance()->render('views/' . $f3->get('_module') . '.htm'); + + echo $this->view->render('template/footer.php'); + + } + + public function dologin($f3, $username, $password) { + if (isset($f3->get('user')[$username]) && $f3->get('user')[$username] == sha1($password)) { + $_SESSION['username'] = $username; + $f3->set('loggedin', (isset($f3->get('SESSION')['username']))?true:false); + $f3->set('username', (isset($f3->get('SESSION')['username']))?$f3->get('SESSION')['username']:'Guest'); + $this->parse($f3, array('m' => 'home')); + } else { + $f3->set('message', 'Login invalid.'); + $this->parse($f3, array('m' => 'login')); + } + } + + public function dologout($f3) { + $_SESSION = array(); + $f3->set('message', 'Logout successful'); + $f3->set('loggedin', (isset($f3->get('SESSION')['username']))?true:false); + $f3->set('username', (isset($f3->get('SESSION')['username']))?$f3->get('SESSION')['username']:'Guest'); + $this->parse($f3, array('m' => 'login')); + } + +} + +?> |
