From f3364894c1a29431fcb93e7dcd004d50e52e4b47 Mon Sep 17 00:00:00 2001
From: Nils Schwabe
Date: Tue, 20 May 2014 13:35:07 +0200
Subject: Improve login Add satellite list Add remove items for guests
---
management-interface/api/models/Master.php | 39 ++++++++++++++++++++++----
management-interface/config/global.cfg | 12 ++++++--
management-interface/css/custom.css | 2 +-
management-interface/index.php | 2 --
management-interface/template/footer.php | 6 ++++
management-interface/views/home.htm | 6 ++--
management-interface/views/login.htm | 36 ++++++++++++------------
management-interface/views/menu.php | 11 ++++----
management-interface/views/satellites.htm | 44 ++++++++++++++++++++++++++++++
management-interface/views/users.htm | 38 +++++++++++++++++++++++---
10 files changed, 154 insertions(+), 42 deletions(-)
create mode 100644 management-interface/views/satellites.htm
diff --git a/management-interface/api/models/Master.php b/management-interface/api/models/Master.php
index 4ee2943..0566b0a 100644
--- a/management-interface/api/models/Master.php
+++ b/management-interface/api/models/Master.php
@@ -32,6 +32,15 @@ class Master {
echo $this->view->render('template/message.php');
}
+ // if we want to list the users:
+ if ($f3->get('_module') === 'users') {
+ $this->tabUsers($f3);
+ } else if($f3->get('_module') === 'home') {
+ $this->tabHome($f3);
+ } else if ($f3->get('_module') === 'satellites') {
+ $this->tabSatellite($f3);
+ }
+
echo Template::instance()->render('views/' . $f3->get('_module') . '.htm');
echo $this->view->render('template/footer.php');
@@ -41,23 +50,41 @@ class Master {
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'));
+ $f3->set('loggedin', true);
+ $f3->set('username', $username);
+ $f3->reroute('@module(@m=home)');
} else {
$f3->set('message', 'Login invalid.');
- $this->parse($f3, array('m' => 'login'));
+ $f3->reroute('@module(@m=home)');
}
}
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');
+ $f3->set('loggedin', false);
+ $f3->set('username', 'Guest');
$this->parse($f3, array('m' => 'login'));
}
+ private function tabUsers($f3) {
+ $f3->set('result',$f3->get('DB')->exec('SELECT userid, username, organization, firstname, lastname, email, lastlogin FROM user'));
+ }
+
+ private function tabHome($f3) {
+ // one command is 'sh -c' and the other command is 'grep'
+ // so we need more than two commands to find the server
+ if (shell_exec('ps aux | grep "org.openslx.imagemaster.App" | wc -l') > 2) {
+ $f3->set('serverstatus', true);
+ } else {
+ $f3->set('serverstatus', false);
+ }
+ }
+
+ private function tabSatellite($f3) {
+ $f3->set('result', $f3->get('DB')->exec('SELECT organization, address, name, prefix, publickey FROM satellite'));
+ }
+
}
?>
diff --git a/management-interface/config/global.cfg b/management-interface/config/global.cfg
index eede8c9..172c19e 100644
--- a/management-interface/config/global.cfg
+++ b/management-interface/config/global.cfg
@@ -2,8 +2,14 @@
; the menu items (need to exist like views/[name].htm)
item[0]="home"
item[1]="users"
-item[2]="about"
-;item[3]="test"
+item[2]="satellites"
+item[3]="about"
+
+; specify which item is intern and needs a login
+intern[0]=false
+intern[1]=true
+intern[2]=true
+intern[3]=false
; title
title="Masterserver Management"
@@ -12,4 +18,4 @@ title="Masterserver Management"
user["nils"]="f58cf5e7e10f195e21b553096d092c763ed18b0e"
;hostname
-hostname="http://localhost/if/"
+hostname="http://132.230.4.23/if/"
diff --git a/management-interface/css/custom.css b/management-interface/css/custom.css
index 56b22d2..bd16a7e 100644
--- a/management-interface/css/custom.css
+++ b/management-interface/css/custom.css
@@ -51,7 +51,7 @@ html {
}
/* fixing in danger boxes */
-.bg-danger {
+p.bg-danger {
padding: 15px;
text-align: center;
}
diff --git a/management-interface/index.php b/management-interface/index.php
index d7d0b62..afee942 100644
--- a/management-interface/index.php
+++ b/management-interface/index.php
@@ -14,13 +14,11 @@ $f3->set('message', '');
$f3->config('config/global.cfg');
-/*
$f3->set('DB', new DB\SQL(
'mysql:host=localhost;port=3306;dbname=masterserver',
'root',
'password'
));
-*/
$f3->route('POST /do/@action',
function($f3, $params) {
diff --git a/management-interface/template/footer.php b/management-interface/template/footer.php
index be0cfea..68f8351 100644
--- a/management-interface/template/footer.php
+++ b/management-interface/template/footer.php
@@ -1,5 +1,11 @@
+
+
+
+
+