view = new View; } public function parse($f3, $params) { $f3->set('_title', $f3->get('title')); // set view if item exists if (in_array($params['m'], $f3->get('item'))) { if (!file_exists('views/' . $params['m'] . '.htm')) { // if file does not exists, create a template copy('views/template.htm', 'views/' . $params['m'] . '.htm'); } $f3->set('_module', $params['m']); } elseif ($params['m'] === 'login') { $f3->set('_module', 'login'); } else { $f3->set('_module', 'home'); } echo $this->view->render('template/header.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'); // let the module choose what to render if ($f3->get('_module') === 'users') { (new Users)->tabUsers($f3); } else if($f3->get('_module') === 'home') { (new Home)->tabHome($f3); } else if ($f3->get('_module') === 'satellites') { (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 $this->view->render('template/footer.php'); } public function dologin($f3, $username, $password) { if (isset($f3->get('user')[$username]) && $f3->get('user')[$username] == sha1($password)) { $_SESSION['username'] = $username; $f3->set('loggedin', true); $f3->set('username', $username); $f3->reroute('@module(@m=home)'); } else { $f3->set('message', 'Login invalid.'); $f3->reroute('@module(@m=login)'); } } public function dologout($f3) { $_SESSION = array(); $f3->set('message', 'Logout successful'); $f3->set('loggedin', false); $f3->set('username', 'Guest'); $this->parse($f3, array('m' => 'home')); } 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('message', $msg); } $this->parse($f3, array('m' => 'satellites')); } 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')); } } ?>