Pepperminty-Wiki/modules/page-list.php

41 lines
1.2 KiB
PHP

<?php
register_module([
"name" => "Page list",
"version" => "0.6",
"author" => "Starbeamrainbowlabs",
"description" => "Adds a page that lists all the pages in the index along with their metadata.",
"id" => "page-list",
"code" => function() {
add_action("list", function() {
global $pageindex, $settings;
$sorted_pageindex = get_object_vars($pageindex);
ksort($sorted_pageindex, SORT_NATURAL);
$title = "All Pages";
$content = " <h1>$title on $settings->sitename</h1>
<table>
<tr>
<th>Page Name</th>
<th>Size</th>
<th>Last Editor</th>
<th>Last Edit Time</th>
</tr>\n";
// todo list the pages in alphabetical order
foreach($sorted_pageindex as $pagename => $pagedetails)
{
$content .= "\t\t<tr>
<td><a href='index.php?page=$pagename'>$pagename</a></td>
<td>" . human_filesize($pagedetails->size) . "</td>
<td>$pagedetails->lasteditor</td>
<td>" . human_time_since($pagedetails->lastmodified) . " <small>(" . date("l jS \of F Y \a\\t h:ia T", $pagedetails->lastmodified) . ")</small></td>
</tr>\n";
}
$content .= " </table>";
exit(page_renderer::render_main("$title - $settings->sitename", $content));
});
}
]);
?>