get rid of the [postcomment] hack
authorJoey Hess <joey@kodama.kitenet.net>
Fri, 12 Dec 2008 20:05:26 +0000 (15:05 -0500)
committerJoey Hess <joey@kodama.kitenet.net>
Fri, 12 Dec 2008 20:05:26 +0000 (15:05 -0500)
I think that using a flag variable is sorta cleaner.

(This is untested.)

IkiWiki/Plugin/comments.pm

index 8d333f05f9afa6ded382589489019b9231fdad04..0de7a67436c709cd351536abbd4988e14af994e3 100644 (file)
@@ -15,6 +15,8 @@ use constant PREVIEW => "Preview";
 use constant POST_COMMENT => "Post comment";
 use constant CANCEL => "Cancel";
 
+my $postcomment;
+
 sub import { #{{{
        hook(type => "checkconfig", id => 'comments',  call => \&checkconfig);
        hook(type => "getsetup", id => 'comments',  call => \&getsetup);
@@ -383,7 +385,11 @@ sub sessioncgi ($$) { #{{{
                        $page));
        }
 
-       IkiWiki::check_canedit($page . "[postcomment]", $cgi, $session);
+       # Set a flag to indicate that we're posting a comment,
+       # so that postcomment() can tell it should match.
+       $postcomment=1;
+       IkiWiki::check_canedit($page, $cgi, $session);
+       $postcomment=0;
 
        my $editcontent = $form->field('editcontent') || '';
        $editcontent =~ s/\r\n/\n/g;
@@ -603,7 +609,7 @@ sub match_postcomment ($$;@) {
        my $page = shift;
        my $glob = shift;
 
-       unless ($page =~ s/\[postcomment\]$//) {
+       if (! $postcomment) {
                return IkiWiki::FailReason->new("not posting a comment");
        }
        return match_glob($page, $glob);