pile/www/index.php
2019-11-02 15:04:19 +01:00

55 lines
1.6 KiB
PHP

<?php
require '_templates/Template.php';
require '_util/PileDB.php';
$db = new PileDB();
session_start();
$page = new Template();
if (isset($_GET["item"])) {
try {
$doc = $db->fetchDoc($_GET["item"]);
} catch (NotFoundException $e) {
http_response_code(404);
$page->text = "Document not found.";
$page->redirect = "/";
echo $page->render("full_text.php");
die(0);
}
$doc_template = new Template();
$doc_template->doc = $doc;
$selected_doc = $doc;
$content = $doc_template->render('front_doc_overview.php');
} elseif (isset($_GET["tag"])) {
$doc_list_template = new Template();
if ($_GET["tag"] == "*") {
$docs = $db->listDocs();
} elseif ($_GET["tag"] == "_") {
$docs = $db->listDocs(-1);
} else {
$tag = $db->fetchTag($_GET["tag"]);
if (!$tag) {
$tag = $db->findTag($_GET["tag"]);
}
$docs = $db->listDocs($tag["ID"]);
$selected_tag = $tag;
$doc_list_template->tag = $tag;
}
$doc_list_template->docs = $docs;
$content = $doc_list_template->render('front_doc_listing.php');
} else {
$intro_template = new Template();
$intro_template->recent_docs = $db->getRecentDocs();
$content = $intro_template->render('front_intro.php');
}
$page->doc_count = $db->getDocCount();
$page->none_count = $db->getUntaggedDocCount();
$page->tags = $db->getTags();
$page->content = $content;
$page->logged = isset($_SESSION["ID"]);
$page->selected_doc = $selected_doc;
$page->selected_tag = $selected_tag;
echo $page->render('front_wrap.php');
?>