X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/9db06329c98e1a390bbb6323de02dc7e2f45f1f8..92b2efd39330b7e01884f6cd2face39ab21158e2:/IkiWiki/Plugin/comments.pm

diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm
index d8318d3e3..1c4ab4895 100644
--- a/IkiWiki/Plugin/comments.pm
+++ b/IkiWiki/Plugin/comments.pm
@@ -7,7 +7,7 @@ package IkiWiki::Plugin::comments;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 use Encode;
 use POSIX qw(strftime);
 
@@ -506,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)."?updated#$location");
+
 	}
 	else {
 		IkiWiki::showform ($form, \@buttons, $session, $cgi,
@@ -601,6 +604,12 @@ sub pagetemplate (@) {
 		}
 	}
 
+	# everything below this point is only relevant to the comments
+	# themselves
+	if (!exists $commentstate{$page}) {
+		return;
+	}
+
 	if ($template->query(name => 'commentuser')) {
 		$template->param(commentuser =>
 			$commentstate{$page}{commentuser});
@@ -625,6 +634,14 @@ sub pagetemplate (@) {
 		$template->param(commentauthorurl =>
 			$commentstate{$page}{commentauthorurl});
 	}
+
+	if ($template->query(name => 'removeurl') &&
+	    IkiWiki::Plugin::remove->can("check_canremove") &&
+	    length $config{cgiurl}) {
+		$template->param(removeurl => IkiWiki::cgiurl(do => 'remove',
+			page => $page));
+		$template->param(have_actions => 1);
+	}
 }
 
 package IkiWiki::PageSpec;