]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/comments.pm
bugfixes
[ikiwiki.git] / IkiWiki / Plugin / comments.pm
index 0a808aaeff9de1fb99dbe9cb2a150517cf59c48f..93c8c4061b111cae5a2ece8bd94c5a77c7957f7f 100644 (file)
@@ -557,7 +557,7 @@ sub commentmoderation ($$) {
                my %vars=$cgi->Vars;
                my $added=0;
                foreach my $id (keys %vars) {
-                       if ($id =~ /(.*)\Q._comment(?:_pending)?\E$/) {
+                       if ($id =~ /(.*)\._comment(?:_pending)?$/) {
                                my $action=$cgi->param($id);
                                next if $action eq 'Defer' && ! $rejectalldefer;
 
@@ -621,7 +621,7 @@ sub commentmoderation ($$) {
                        id => $id,
                        view => $preview,
                }
-       } sort { $b->[1] <=> $a->[1] } comments_pending();
+       } sort { $b->[2] <=> $a->[2] } comments_pending();
 
        my $template=template("commentmoderation.tmpl");
        $template->param(
@@ -907,9 +907,9 @@ sub match_comment ($$;@) {
        my $glob = shift;
 
        my $match=match_glob($page, "$glob/*", internal => 1, @_);
-       if ($match) {
+       if ($match && exists $IkiWiki::pagesources{$page}) {
                my $type=IkiWiki::pagetype($IkiWiki::pagesources{$page});
-               if ($type ne "_comment") {
+               if (defined $type && $type ne "_comment") {
                        return IkiWiki::FailReason->new("$page is not a comment");
                }
        }
@@ -921,9 +921,9 @@ sub match_comment_pending ($$;@) {
        my $glob = shift;
 
        my $match=match_glob($page, "$glob/*", internal => 1, @_);
-       if ($match) {
+       if ($match && $IkiWiki::pagesources{$page}) {
                my $type=IkiWiki::pagetype($IkiWiki::pagesources{$page});
-               if ($type ne "_comment_pending") {
+               if (defined $type && $type ne "_comment_pending") {
                        return IkiWiki::FailReason->new("$page is not a pending comment");
                }
        }