Exemplo n.º 1
0
$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');
Exemplo n.º 2
0
//
// 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 () {