$adminConf = (require DATA . 'admin.conf.php'); if ($adminConf['password'] === "_Your_Password_") { die('You MUST change the default password in `' . DATA . 'admin.conf.php`.'); } $view = new View(ADMIN . 'view'); $view->assign('baseUrl', Parvula::getRelativeURIToRoot()); $view->assign('templateUrl', Parvula::getRelativeURIToRoot() . TMPL . Config::get('template')); // Check password if (isset($_POST, $_POST['password'])) { if ($_POST['password'] === $adminConf['password']) { if (session_id() === '') { session_id(uniqid()); session_start(); } $_SESSION['id'] = uidSession(); $_SESSION['login'] = true; // Post/Redirect/Get pattern header("Location: ./", true, 303); } else { $view->assign('notice', true); } } if (true === isParvulaAdmin()) { $parvula = new Parvula(); $pagesList = $parvula->listPages(true); $view->assign('pagesList', $pagesList); $view->assign('_page', 'admin'); } else { $view->assign('_page', 'login'); } echo $view('base');
// // Page object $router->get('/pages/::name', function ($req) use($parvula) { echo $parvula->getPage($req->params->name); }); // Array<Page> of Pages $router->get('/pages', function ($req) use($parvula) { echo json_encode($parvula->getPages()); }); // // Admin API // if (true === isParvulaAdmin()) { // List of pages. Array<string> of pages paths $router->get('/pageslist', function ($req) use($parvula) { echo json_encode($parvula->listPages()); }); // Delete page $router->delete('/pages/:name', function ($req) use($parvula) { echo json_encode($parvula->deletePage($req->params->name)); }); // Save page $router->put('/pages/:name', function ($req) use($parvula, $apiDefaultPageSerializer) { if (!isset($req->params->name) || trim($req->params->name) === '') { return false; } $page = Page::pageFactory($req->body); echo json_encode($parvula->setPage($page, $req->params->name, new $apiDefaultPageSerializer())); }); // Logout $router->any('/logout', function () {