Add (untested) redirect page backend

This commit is contained in:
Starbeamrainbowlabs 2015-10-03 10:26:25 +01:00
parent faaa2a21ac
commit bb21686a84
1 changed files with 27 additions and 1 deletions

View File

@ -1,4 +1,30 @@
<?php
register_module([
"name" => "Redirect pages",
"version" => "0.1",
"author" => "Starbeamrainbowlabs",
"description" => "Adds support for redirect pages. Uses the same syntax that Mediawiki does.",
"id" => "feature-redirect",
"code" => function() {
register_save_preprocessor(function(&index_entry, &$pagedata) {
$matches = [];
if(preg_match("/^# ?REDIRECT ?\[\[([^\]]+)\]\]/i", $pagedata) === 1)
{
// We have found a redirect page!
// Update the metadata to reflect this.
$index_entry->redirect = true;
$index_entry->redirect_target = $matches[1];
}
else
{
// This page isn't a redirect. Unset the metadata just in case.
if(isseet($index_entry->redirect))
unset($index_entry->redirect);
if(isseet($index_entry->redirect_target))
unset($index_entry->redirect_target);
}
});
}
]);
?>