summaryrefslogtreecommitdiffstats
path: root/management-interface/api
diff options
context:
space:
mode:
authorNils Schwabe2014-05-20 13:35:07 +0200
committerNils Schwabe2014-05-20 13:35:07 +0200
commitf3364894c1a29431fcb93e7dcd004d50e52e4b47 (patch)
treee3ee7f63bb578728def1f108ec739be9254ec063 /management-interface/api
parentAdd login functionallity (diff)
downloadmasterserver-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.php39
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'));
+ }
+
}
?>