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 | |
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')
-rw-r--r-- | management-interface/api/models/Main.php | 17 | ||||
-rw-r--r-- | management-interface/api/models/Master.php | 63 | ||||
-rw-r--r-- | management-interface/api/models/Util.php | 11 |
3 files changed, 74 insertions, 17 deletions
diff --git a/management-interface/api/models/Main.php b/management-interface/api/models/Main.php deleted file mode 100644 index cca7542..0000000 --- a/management-interface/api/models/Main.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -class Main { - $view; - - function __construct() { - echo "test"; - $view = new View; - } - - function home() { - echo $view->render('views/index.php'); - } - -} - -?> 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')); + } + +} + +?> diff --git a/management-interface/api/models/Util.php b/management-interface/api/models/Util.php new file mode 100644 index 0000000..d97cfe2 --- /dev/null +++ b/management-interface/api/models/Util.php @@ -0,0 +1,11 @@ +<?php + +class Util { + + public static function firstCap($string) { + return strtoupper(substr($string, 0, 1)) . substr($string, 1, strlen($string)); + } + +} + +?> |