diff options
author | Nils Schwabe | 2014-05-20 13:35:07 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-05-20 13:35:07 +0200 |
commit | f3364894c1a29431fcb93e7dcd004d50e52e4b47 (patch) | |
tree | e3ee7f63bb578728def1f108ec739be9254ec063 /management-interface/api | |
parent | Add login functionallity (diff) | |
download | masterserver-f3364894c1a29431fcb93e7dcd004d50e52e4b47.tar.gz masterserver-f3364894c1a29431fcb93e7dcd004d50e52e4b47.tar.xz masterserver-f3364894c1a29431fcb93e7dcd004d50e52e4b47.zip |
Improve login
Add satellite list
Add remove items for guests
Diffstat (limited to 'management-interface/api')
-rw-r--r-- | management-interface/api/models/Master.php | 39 |
1 files changed, 33 insertions, 6 deletions
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')); + } + } ?> |