Add discussionpage configuration setting

By adding this setting, we get both more configurability, and a minor
optimisation too, since gettext does not need to be called continually
to get the Discussion value.
master
Joey Hess 2009-08-13 21:41:33 -04:00
parent fed73d8d92
commit 830c9e59b2
8 changed files with 22 additions and 19 deletions

View File

@ -220,6 +220,13 @@ sub getsetup () {
safe => 1,
rebuild => 1,
},
discussionpage => {
type => "string",
default => gettext("Discussion"),
description => "name of Discussion pages",
safe => 1,
rebuild => 1,
},
sslcookie => {
type => "boolean",
default => 0,

View File

@ -28,14 +28,13 @@ sub preprocess (@) {
add_depends($params{page}, $params{pages});
my %broken;
my $discussion=gettext("Discussion");
foreach my $page (pagespec_match_list([keys %links],
$params{pages}, location => $params{page})) {
my %seen;
foreach my $link (@{$links{$page}}) {
next if $seen{$link};
$seen{$link}=1;
next if $link =~ /.*\/\Q$discussion\E/i && $config{discussion};
next if $link =~ /.*\/\Q$config{discussionpage}\E/i && $config{discussion};
my $bestlink=bestlink($page, $link);
next if length $bestlink;
push @{$broken{$link}}, $page;

View File

@ -229,8 +229,9 @@ sub cgi_editpage ($$) {
my $dir=$from."/";
$dir=~s![^/]+/+$!!;
if ((defined $form->field('subpage') && length $form->field('subpage')) ||
$page eq lc(gettext('Discussion'))) {
if ((defined $form->field('subpage') &&
length $form->field('subpage')) ||
$page eq lc($config{discussionpage})) {
$best_loc="$from/$page";
}
else {

View File

@ -348,9 +348,6 @@ sub preprocess_inline (@) {
}
my $template=HTML::Template->new(@params) unless $raw;
my $discussionlink=lc(gettext("Discussion"))
if $config{discussion};
foreach my $page (@list) {
my $file = $pagesources{$page};
my $type = pagetype($file);
@ -374,14 +371,14 @@ sub preprocess_inline (@) {
my $file = $pagesources{$page};
my $type = pagetype($file);
if ($config{discussion}) {
if ($page !~ /.*\/\Q$discussionlink\E$/ &&
if ($page !~ /.*\/\Q$config{discussionpage}\E$/ &&
(length $config{cgiurl} ||
exists $links{$page."/".$discussionlink})) {
exists $links{$page."/".$config{discussionpage}})) {
$template->param(have_actions => 1);
$template->param(discussionlink =>
htmllink($page,
$params{destpage},
gettext("Discussion"),
$config{discussionpage},
noimageinline => 1,
forcesubpage => 1));
}

View File

@ -23,8 +23,7 @@ sub canedit ($$) {
my $cgi=shift;
my $session=shift;
my $discussion=lc(gettext("Discussion"));
return "" if $page=~/(\/|^)\Q$discussion\E$/;
return "" if $page=~/(\/|^)\Q$config{discussionpage}\E$/;
return undef;
}

View File

@ -34,7 +34,6 @@ sub preprocess (@) {
}
my @orphans;
my $discussion=lc(gettext("Discussion"));
foreach my $page (pagespec_match_list(
[ grep { ! $linkedto{$_} && $_ ne 'index' }
keys %pagesources ],
@ -43,7 +42,7 @@ sub preprocess (@) {
# indirectly linked to a page via that page's backlinks.
next if grep {
length $_ &&
($_ !~ /\/\Q$discussion\E$/i || ! $config{discussion}) &&
($_ !~ /\/\Q$config{discussionpage}\E$/i || ! $config{discussion}) &&
bestlink($page, $_) !~ /^(\Q$page\E|)$/
} @{$links{$page}};
push @orphans, $page;

View File

@ -83,11 +83,10 @@ sub genpage ($$) {
$actions++;
}
if ($config{discussion}) {
my $discussionlink=lc(gettext("Discussion"));
if ($page !~ /.*\/\Q$discussionlink\E$/ &&
if ($page !~ /.*\/\Q$config{discussionpage}\E$/ &&
(length $config{cgiurl} ||
exists $links{$page."/".$discussionlink})) {
$template->param(discussionlink => htmllink($page, $page, gettext("Discussion"), noimageinline => 1, forcesubpage => 1));
exists $links{$page."/".$config{discussionpage}})) {
$template->param(discussionlink => htmllink($page, $page, $config{discussionpage}, noimageinline => 1, forcesubpage => 1));
$actions++;
}
}
@ -153,7 +152,7 @@ sub scan ($) {
if ($config{discussion}) {
# Discussion links are a special case since they're
# not in the text of the page, but on its template.
$links{$page}=[ $page."/".lc(gettext("Discussion")) ];
$links{$page}=[ $page."/".lc($config{discussionpage}) ];
}
else {
$links{$page}=[];

2
debian/changelog vendored
View File

@ -4,6 +4,8 @@ ikiwiki (3.141593) UNRELEASED; urgency=low
the old version, but continue. Closes: #541205
* inline: Avoid use of my $_ as it fails with older perls.
Closes: #541215
* Add discussionpage configuration setting.
* Small optimisations.
-- Joey Hess <joeyh@debian.org> Wed, 12 Aug 2009 12:25:30 -0400