diff options
Diffstat (limited to 'management-interface/api/models/Master.php')
-rw-r--r-- | management-interface/api/models/Master.php | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/management-interface/api/models/Master.php b/management-interface/api/models/Master.php index 0566b0a..75b76f2 100644 --- a/management-interface/api/models/Master.php +++ b/management-interface/api/models/Master.php @@ -26,23 +26,27 @@ class Master { echo $this->view->render('template/header.php'); - echo $this->view->render('views/menu.php'); + echo $this->view->render('template/menu.php'); if (!empty($f3->get('message'))) { echo $this->view->render('template/message.php'); } + + // DEBUG !!!! + echo $this->view->render('template/requestdump.php'); - // if we want to list the users: + // let the module choose what to render if ($f3->get('_module') === 'users') { - $this->tabUsers($f3); + (new Users)->tabUsers($f3); } else if($f3->get('_module') === 'home') { - $this->tabHome($f3); + (new Home)->tabHome($f3); } else if ($f3->get('_module') === 'satellites') { - $this->tabSatellite($f3); + (new Satellites)->tabSatellites($f3); + } else { + // if module is not available, display the views/_module.htm + echo Template::instance()->render('views/'.$f3->get('_module').'.htm'); } - echo Template::instance()->render('views/' . $f3->get('_module') . '.htm'); - echo $this->view->render('template/footer.php'); } @@ -55,7 +59,7 @@ class Master { $f3->reroute('@module(@m=home)'); } else { $f3->set('message', 'Login invalid.'); - $f3->reroute('@module(@m=home)'); + $f3->reroute('@module(@m=login)'); } } @@ -64,27 +68,29 @@ class Master { $f3->set('message', 'Logout successful'); $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')); + $this->parse($f3, array('m' => 'home')); } - 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); + public function saveSatellite($f3, $organization, $address, $name, $prefix, $publickey) { + // first save the satellite, then parse the site + $msg = (new Satellites)->save($f3, $organization, $address, $name, $prefix, $publickey); + if ($msg === '') { + $f3->set('action', 'done'); } else { - $f3->set('serverstatus', false); + $f3->set('message', $msg); } + $this->parse($f3, array('m' => 'satellites')); } - - private function tabSatellite($f3) { - $f3->set('result', $f3->get('DB')->exec('SELECT organization, address, name, prefix, publickey FROM satellite')); + + public function newSatellite($f3, $organization, $address, $name, $prefix, $publickey) { + // first save then parse + $msg = (new Satellites)->saveNew($f3, $organization, $address, $name, $prefix, $publickey); + if ($msg === '') { + $f3->set('action', 'done'); + } else { + $f3->set('message', $msg); + } + $this->parse($f3, array('m' => 'satellites')); } - } - ?> |