2015-09-19 09:19:56 +00:00
< ? php
register_module ([
" name " => " Page deleter " ,
2015-09-22 13:34:18 +00:00
" version " => " 0.6 " ,
2015-09-19 09:19:56 +00:00
" author " => " Starbeamrainbowlabs " ,
" description " => " Adds an action to allow administrators to delete pages. " ,
" id " => " page-delete " ,
" code " => function () {
add_action ( " delete " , function () {
2015-09-22 13:34:18 +00:00
global $pageindex , $settings , $env ;
2015-09-19 09:19:56 +00:00
if ( ! $settings -> editing )
{
2015-09-22 13:34:18 +00:00
exit ( page_renderer :: render_main ( " Deleting $env->page - error " , " <p>You tried to delete $env->page , but editing is disabled on this wiki.</p>
2015-09-19 09:19:56 +00:00
< p > If you wish to delete this page , please re - enable editing on this wiki first .</ p >
2015-09-22 13:34:18 +00:00
< p >< a href = 'index.php?page=$env->page' > Go back to $env -> page </ a >.</ p >
2015-09-19 09:19:56 +00:00
< p > Nothing has been changed .</ p > " ));
}
2015-09-22 13:34:18 +00:00
if ( ! $env -> is_admin )
2015-09-19 09:19:56 +00:00
{
2015-09-22 13:34:18 +00:00
exit ( page_renderer :: render_main ( " Deleting $env->page - error " , " <p>You tried to delete $env->page , but you are not an admin so you don't have permission to do that.</p>
2015-09-19 09:19:56 +00:00
< p > You should try < a href = 'index.php?action=login' > logging in </ a > as an admin .</ p > " ));
}
if ( ! isset ( $_GET [ " delete " ]) or $_GET [ " delete " ] !== " yes " )
{
2015-09-22 13:34:18 +00:00
exit ( page_renderer :: render_main ( " Deleting $env->page " , " <p>You are about to <strong>delete</strong> $env->page . You can't undo this!</p>
< p >< a href = 'index.php?action=delete&page=$env->page&delete=yes' > Click here to delete $env -> page .</ a ></ p >
< p >< a href = 'index.php?action=view&page=$env->page' > Click here to go back .</ a > " ));
2015-09-19 09:19:56 +00:00
}
2015-09-22 13:39:59 +00:00
$page = $env -> page ;
2015-09-19 09:19:56 +00:00
unset ( $pageindex -> $page ); //delete the page from the page index
file_put_contents ( " ./pageindex.json " , json_encode ( $pageindex , JSON_PRETTY_PRINT )); //save the new page index
2015-09-22 13:34:18 +00:00
unlink ( " ./ $env->page .md " ); //delete the page from the disk
2015-09-19 09:19:56 +00:00
2015-09-22 13:34:18 +00:00
exit ( page_renderer :: render_main ( " Deleting $env->page - $settings->sitename " , " <p> $env->page has been deleted. <a href='index.php'>Go back to the main page</a>.</p> " ));
2015-09-19 09:19:56 +00:00
});
}
]);
?>