1
0
Fork 0
mirror of https://github.com/sbrl/Pepperminty-Wiki.git synced 2024-11-22 04:23:01 +00:00
Pepperminty-Wiki/modules/feature-redirect.php

37 lines
1.4 KiB
PHP
Raw Normal View History

<?php
2015-10-03 09:26:25 +00:00
register_module([
"name" => "Redirect pages",
"version" => "0.3",
2015-10-03 09:26:25 +00:00
"author" => "Starbeamrainbowlabs",
"description" => "Adds support for redirect pages. Uses the same syntax that Mediawiki does.",
"id" => "feature-redirect",
"code" => function() {
global $settings;
register_save_preprocessor(function(&$index_entry, &$pagedata) {
2015-10-03 09:26:25 +00:00
$matches = [];
if(preg_match("/^# ?REDIRECT ?\[\[([^\]]+)\]\]/i", $pagedata, $matches) === 1)
2015-10-03 09:26:25 +00:00
{
//error_log("matches: " . var_export($matches, true));
2015-10-03 09:26:25 +00:00
// 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.
2015-10-04 13:04:42 +00:00
if(isset($index_entry->redirect))
2015-10-03 09:26:25 +00:00
unset($index_entry->redirect);
2015-10-04 13:04:42 +00:00
if(isset($index_entry->redirect_target))
2015-10-03 09:26:25 +00:00
unset($index_entry->redirect_target);
}
});
// Register a help section
add_help_section("25-redirect", "Redirect Pages", "<p>$settings->sitename supports redirect pages. To create a redirect page, enter something like <code># REDIRECT [[pagename]]</code> on the first line of the redirect page's content. This <em>must</em> appear as the first line of the page, with no whitespace before it. You can include content beneath the redirect if you want, too (such as a reason for redirecting the page).</p>");
2015-10-03 09:26:25 +00:00
}
]);
?>