X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2dfdadf10cefea593508e85979a0dff8c1584f2f..ce731ec33fc4b30fae1f99be7476d9cb1c494fc9:/IkiWiki/Plugin/comments.pm diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 077c4776b..3cafcbe9c 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -109,7 +109,7 @@ sub htmlize { sub htmlize_pending { my %params = @_; - return sprintf(gettext("comment pending %s"), + return sprintf(gettext("this comment needs %s"), ''. gettext("moderation").''); @@ -262,6 +262,10 @@ sub sessioncgi ($$) { elsif ($do eq 'commentmoderation') { commentmoderation($cgi, $session); } + elsif ($do eq 'commentsignin') { + IkiWiki::cgi_signin($cgi, $session); + exit; + } } # Mostly cargo-culted from IkiWiki::plugin::editpage @@ -339,7 +343,7 @@ sub editcomment ($$) { if (! defined $session->param('name')) { # Make signinurl work and return here. - $form->tmpl_param(signinurl => IkiWiki::cgiurl(do => 'signin')); + $form->tmpl_param(signinurl => IkiWiki::cgiurl(do => 'commentsignin')); $session->param(postsignin => $ENV{QUERY_STRING}); IkiWiki::cgi_savesession($session); } @@ -904,28 +908,30 @@ sub match_comment ($$;@) { my $page = shift; my $glob = shift; - my $match=match_glob($page, "$glob/*", internal => 1, @_); - if ($match && exists $IkiWiki::pagesources{$page}) { - my $type=IkiWiki::pagetype($IkiWiki::pagesources{$page}); - if (defined $type && $type ne "_comment") { - return IkiWiki::FailReason->new("$page is not a comment"); - } + if (! IkiWiki::isinternal($page)) { + return IkiWiki::FailReason->new("$page is not a comment"); } - return $match; + my $type=IkiWiki::pagetype($IkiWiki::pagesources{$page}); + if (defined $type && $type ne "_comment") { + return IkiWiki::FailReason->new("$page is not a comment"); + } + + return match_glob($page, "$glob/*", internal => 1, @_); } sub match_comment_pending ($$;@) { my $page = shift; my $glob = shift; - - my $match=match_glob($page, "$glob/*", internal => 1, @_); - if ($match && $IkiWiki::pagesources{$page}) { - my $type=IkiWiki::pagetype($IkiWiki::pagesources{$page}); - if (defined $type && $type ne "_comment_pending") { - return IkiWiki::FailReason->new("$page is not a pending comment"); - } + + if (! IkiWiki::isinternal($page)) { + return IkiWiki::FailReason->new("$page is not a pending comment"); } - return $match; + my $type=IkiWiki::pagetype($IkiWiki::pagesources{$page}); + if (defined $type && $type ne "_comment_pending") { + return IkiWiki::FailReason->new("$page is not a pending comment"); + } + + return match_glob($page, "$glob/*", internal => 1, @_); } 1