+ elsif ($key eq 'redir') {
+ $redirected{$page}=1;
+ my $safe=0;
+ if ($value =~ /^$config{wiki_link_regexp}$/) {
+ my $link=bestlink($page, $value);
+ if (! length $link) {
+ return "[[meta ".gettext("redir page not found")."]]";
+ }
+ if ($redirected{$link}) {
+ # TODO this is a cheap way of avoiding
+ # redir cycles, but it is really too strict.
+ return "[[meta ".gettext("redir to page that itself redirs is not allowed")."]]";
+ }
+ $value=urlto($link, $destpage);
+ $safe=1;
+ }
+ else {
+ $value=encode_entities($value);
+ }
+ my $delay=int(exists $params{delay} ? $params{delay} : 0);
+ my $redir="<meta http-equiv=\"refresh\" content=\"$delay; URL=$value\">";
+ if (! $safe) {
+ $redir=scrub($redir);
+ }
+ $meta{$page}.=$redir;
+ }