Files
oddmuse/modules/all.pl

58 lines
1.9 KiB
Perl
Raw Normal View History

2006-06-15 11:30:14 +00:00
# Copyright (C) 2006 Alex Schroeder <alex@emacswiki.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
2006-06-15 11:30:14 +00:00
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
2006-06-15 11:30:14 +00:00
use strict;
use v5.10;
AddModuleDescription('all.pl', 'All Action');
2006-06-15 11:30:14 +00:00
2015-04-10 13:31:28 +03:00
our ($q, %Action, $HomePage, $UrlProtocols);
2006-06-15 11:30:14 +00:00
$Action{all} = \&DoPrintAllPages;
our $Monolithic = 0;
2006-06-15 11:30:14 +00:00
sub DoPrintAllPages {
return if (!UserIsAdminOrError());
$Monolithic = 1; # changes ScriptLink
print GetHeader('', T('Complete Content'))
. $q->p(Ts('The main page is %s.', $q->a({-href=>'#' . $HomePage}, $HomePage)));
print $q->p($q->b(Ts('(for %s)', GetParam('lang', 0)))) if GetParam('lang', 0);
PrintAllPages(0, 0, undef, undef, AllPagesList());
2006-06-15 11:30:14 +00:00
PrintFooter();
}
*OldAllScriptLink = \&ScriptLink;
*ScriptLink = \&NewAllScriptLink;
2006-06-15 11:30:14 +00:00
sub NewAllScriptLink {
my ($action, $text, $class, $name, $title, $accesskey, $nofollow) = @_;
if ($Monolithic
and $action !~ /^($UrlProtocols)\%3a/
and $action !~ /^\%2f/
and $action !~ /=/) {
my %params;
2006-06-15 11:30:14 +00:00
$params{-href} = '#' . $action;
$params{'-class'} = $class if $class;
$params{'-name'} = $name if $name;
$params{'-title'} = $title if $title;
$params{'-accesskey'} = $accesskey if $accesskey;
$params{'-rel'} = 'nofollow' if $nofollow;
return $q->a(\%params, $text);
} else {
return OldAllScriptLink(@_);
}
}