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 @@ + + + + + diff --git a/management-interface/views/home.htm b/management-interface/views/home.htm index 229e427..f2cadd0 100644 --- a/management-interface/views/home.htm +++ b/management-interface/views/home.htm @@ -1,8 +1,10 @@
-

{{ strtoupper(@_module) }}

-

Hello {{ @username }}

+

Hello {{ @username }}!

+ +

Status of server is: onlineoffline

+
diff --git a/management-interface/views/login.htm b/management-interface/views/login.htm index f447cb8..d283f45 100644 --- a/management-interface/views/login.htm +++ b/management-interface/views/login.htm @@ -1,22 +1,20 @@ - -
-

Already logged in.

-
+ + +

Already logged in.

+
+ + + +
+
-
- -
- -
-
-
diff --git a/management-interface/views/menu.php b/management-interface/views/menu.php index 9ef4068..d010119 100644 --- a/management-interface/views/menu.php +++ b/management-interface/views/menu.php @@ -8,17 +8,18 @@ - +