improve escaping of wikilinks and preprocessor directives
The old method failed for '[' x 3.
parent
767bf9c483
commit
15269fed64
|
@ -610,7 +610,7 @@ sub add_page (@) { #{{{
|
|||
my $template=template($feed->{template}, blind_cache => 1);
|
||||
$template->param(title => $params{title})
|
||||
if defined $params{title} && length($params{title});
|
||||
$template->param(content => htmlescape(htmlabs($params{content},
|
||||
$template->param(content => wikiescape(htmlabs($params{content},
|
||||
defined $params{base} ? $params{base} : $feed->{feedurl})));
|
||||
$template->param(name => $feed->{name});
|
||||
$template->param(url => $feed->{url});
|
||||
|
@ -637,11 +637,9 @@ sub add_page (@) { #{{{
|
|||
}
|
||||
} #}}}
|
||||
|
||||
sub htmlescape ($) { #{{{
|
||||
sub wikiescape ($) { #{{{
|
||||
# escape accidental wikilinks and preprocessor stuff
|
||||
my $html=shift;
|
||||
$html=~s/(?<!\\)\[\[/\\\[\[/g;
|
||||
return $html;
|
||||
return encode_entities(shift, '\[\]');
|
||||
} #}}}
|
||||
|
||||
sub urlabs ($$) { #{{{
|
||||
|
|
|
@ -5,6 +5,7 @@ use warnings;
|
|||
use strict;
|
||||
use IkiWiki 2.00;
|
||||
use Encode;
|
||||
use HTML::Entities;
|
||||
|
||||
sub import { #{{{
|
||||
hook(type => "getsetup", id => "recentchanges", call => \&getsetup);
|
||||
|
@ -163,7 +164,7 @@ sub store ($$$) { #{{{
|
|||
if (ref $change->{message}) {
|
||||
foreach my $field (@{$change->{message}}) {
|
||||
if (exists $field->{line}) {
|
||||
$field->{line} =~ s/(?<!\\)\[\[/\\\[\[/g;
|
||||
$field->{line} = encode_entities($field->{line}, '\[\]');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ package IkiWiki::Plugin::recentchangesdiff;
|
|||
use warnings;
|
||||
use strict;
|
||||
use IkiWiki 2.00;
|
||||
use HTML::Entities;
|
||||
|
||||
my $maxlines=200;
|
||||
|
||||
|
@ -39,7 +40,7 @@ sub pagetemplate (@) { #{{{
|
|||
$diff=join("", @lines);
|
||||
}
|
||||
# escape links and preprocessor stuff
|
||||
$diff =~ s/(?<!\\)\[\[/\\\[\[/g;
|
||||
$diff = encode_entities($diff, '\[\]');
|
||||
$template->param(diff => $diff);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ ikiwiki (2.71) UNRELEASED; urgency=low
|
|||
* htmlbalance: New plugin contributed by Simon McVittie.
|
||||
* Change deb dependencies to list Text::Markdown before markdown (really
|
||||
this time).
|
||||
* Improve escaping of wikilinks and preprocessor directives in content
|
||||
produced by aggregate and recentchanges.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Mon, 17 Nov 2008 14:02:10 -0500
|
||||
|
||||
|
|
Loading…
Reference in New Issue