X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/678d467a4080dd549f2b6f276f963eac384e1b4f..14a79751e34b211d33337d212937f598668a74a7:/IkiWiki/Plugin/comments.pm diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index c9c7b2ed4..1c10417c3 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -198,8 +198,17 @@ sub preprocess { $pagestate{$page}{meta}{author} = $params{claimedauthor}; } - if (defined $params{url} and safeurl($params{url})) { - $pagestate{$page}{meta}{authorurl} = $params{url}; + if (defined $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 { @@ -497,7 +506,10 @@ sub sessioncgi ($$) { error($conflict) if defined $conflict; # Jump to the new comment on the page. - IkiWiki::redirect($cgi, urlto($page, undef, 1)."#$location"); + # The trailing question mark tries to avoid broken + # caches and get the most recent version of the page. + IkiWiki::redirect($cgi, urlto($page, undef, 1)."#$location?updated"); + } else { IkiWiki::showform ($form, \@buttons, $session, $cgi,