1
0
Fork 0
mirror of https://github.com/sbrl/Pepperminty-Wiki.git synced 2024-11-29 06:23:01 +00:00
Pepperminty-Wiki/modules/page-view.php

48 lines
1.6 KiB
PHP
Raw Normal View History

<?php
register_module([
"name" => "Page viewer",
2015-05-27 09:32:13 +00:00
"version" => "0.7",
"author" => "Starbeamrainbowlabs",
"description" => "Allows you to view pages. You should include this one.",
"id" => "page-view",
"code" => function() {
add_action("view", function() {
2015-05-27 09:32:13 +00:00
global $pageindex, $settings, $page, $parse_page_source;
//check to make sure that the page exists
if(!isset($pageindex->$page))
{
// todo make this intelligent so we only redirect if the user is acutally able to create the page
if($settings->editing)
{
//editing is enabled, redirect to the editing page
http_response_code(307); //temporary redirect
header("location: index.php?action=edit&newpage=yes&page=" . rawurlencode($page));
exit();
}
else
{
//editing is disabled, show an error message
http_response_code(404);
exit(page_renderer::render_main("$page - 404 - $settings->sitename", "<p>$page does not exist.</p><p>Since editing is currently disabled on this wiki, you may not create this page. If you feel that this page should exist, try contacting this wiki's Administrator.</p>"));
}
}
$title = "$page - $settings->sitename";
$content = "<h1>$page</h1>";
2015-05-27 09:32:13 +00:00
$parsing_start = microtime(true);
2015-05-27 09:32:13 +00:00
$content .= $parse_page_source(file_get_contents("$page.md"));
2015-05-27 09:32:13 +00:00
$content .= "\n\t\t<!-- Took " . (microtime(true) - $parsing_start) . " seconds to parse page source -->\n";
if(isset($_GET["printable"]) and $_GET["printable"] === "yes")
2015-05-24 20:05:45 +00:00
exit(page_renderer::render_minimal($title, $content));
else
2015-05-24 20:05:45 +00:00
exit(page_renderer::render_main($title, $content));
});
}
]);
?>