use Parvula\Core\Parvula; if (!defined('ROOT')) { exit; } $apiDefaultPageSerializer = Config::apiDefaultPageSerializer(); $parvula = new Parvula(new $apiDefaultPageSerializer()); // // Public API // // 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) {
} // Check if template exists (must have index.html) $baseTemplate = TMPL . Config::get('template'); if (!is_readable($baseTemplate . '/index.html')) { die("Error - Template is not readable"); } Asset::setBasePath(Parvula::getRelativeURIToRoot() . $baseTemplate); $parvula = new Parvula(); $page = $parvula->getPage($pagename); // 404 if (false === $page) { header(' ', true, 404); // Set header to 404 $page = $parvula->getPage(Config::errorPage()); if (false === $page) { // Juste print simple 404 if there is no 404 page die('404 - Page ' . htmlspecialchars($page) . ' not found'); } } try { $view = new View(TMPL . Config::get('template')); // Assign some variables $view->assign(array('baseUrl' => Parvula::getRelativeURIToRoot(), 'templateUrl' => Asset::getBasePath(), 'parvula' => $parvula, 'pages' => function () use($parvula) { return $parvula->getPages(); }, 'site' => $config, 'meta' => $page, 'content' => $page->content)); // Show index template echo $view('index'); } catch (Exception $e) { exceptionHandler($e); } });