summaryrefslogtreecommitdiffstats
path: root/management-interface/api
diff options
context:
space:
mode:
authorNils Schwabe2014-05-19 16:54:33 +0200
committerNils Schwabe2014-05-19 16:54:33 +0200
commitcf58c1bf8213221545e9ec55b651189117fdfc17 (patch)
tree20eaa13fa8c72607409dbc565ffcba82b4b3c71a /management-interface/api
parentAdd new webinterface with f3 (framework) (diff)
downloadmasterserver-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.php17
-rw-r--r--management-interface/api/models/Master.php63
-rw-r--r--management-interface/api/models/Util.php11
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));
+ }
+
+}
+
+?>