comments: Deal with users entering unqualified or partial urls.

People seem to be able to expect to enter www.foo.com and get away with it.
The resulting my.wiki/www.foo.com link was not ideal.

To fix it, use URI::Heuristic to expand such things into a real url. It
even looks up hostnames in the DNS if necessary.
master
Joey Hess 2008-12-26 14:07:19 -05:00
parent 0d406010ff
commit 9db06329c9
2 changed files with 12 additions and 2 deletions

View File

@ -198,8 +198,17 @@ sub preprocess {
$pagestate{$page}{meta}{author} = $params{claimedauthor}; $pagestate{$page}{meta}{author} = $params{claimedauthor};
} }
if (defined $params{url} and safeurl($params{url})) { if (defined $params{url}) {
$pagestate{$page}{meta}{authorurl} = $params{url}; my $url=$params{url};
eval q{use URI::Heuristic};
if (! $@) {
$url=URI::Heuristic::uf_uristr($url);
}
if (safeurl($url)) {
$pagestate{$page}{meta}{authorurl} = $url;
}
} }
} }
else { else {

1
debian/changelog vendored
View File

@ -4,6 +4,7 @@ ikiwiki (2.72) UNRELEASED; urgency=low
* Add deprecation warning for GlobLists, which will stop working in 3.0. * Add deprecation warning for GlobLists, which will stop working in 3.0.
* camelcase: Add camelcase_ignore setting. * camelcase: Add camelcase_ignore setting.
* googlecalendar: Add runtime deprecation warning. * googlecalendar: Add runtime deprecation warning.
* comments: Deal with users entering unqualified or partial urls.
-- Joey Hess <joeyh@debian.org> Mon, 22 Dec 2008 19:02:16 -0500 -- Joey Hess <joeyh@debian.org> Mon, 22 Dec 2008 19:02:16 -0500