]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
factor out check_canedit calls from check_canremove
authorJoey Hess <joey@kitenet.net>
Mon, 30 Aug 2010 19:58:42 +0000 (15:58 -0400)
committerJoey Hess <joey@kitenet.net>
Mon, 30 Aug 2010 19:58:42 +0000 (15:58 -0400)
IkiWiki/Plugin/remove.pm

index 95f148183cba558be65a95a9687992293d122839..4b527993ba96b2c26095352cc613d935eee8416c 100644 (file)
@@ -42,9 +42,6 @@ sub check_canremove ($$$) {
                error(sprintf(gettext("%s is not a file"), $file));
        }
        
                error(sprintf(gettext("%s is not a file"), $file));
        }
        
-       # Must be editable.
-       IkiWiki::check_canedit($page, $q, $session);
-
        # If a user can't upload an attachment, don't let them delete it.
        # This is sorta overkill, but better safe than sorry.
        if (! defined pagetype($pagesources{$page})) {
        # If a user can't upload an attachment, don't let them delete it.
        # This is sorta overkill, but better safe than sorry.
        if (! defined pagetype($pagesources{$page})) {
@@ -121,6 +118,7 @@ sub removal_confirm ($$@) {
        my @pages=@_;
 
        foreach my $page (@pages) {
        my @pages=@_;
 
        foreach my $page (@pages) {
+               IkiWiki::check_canedit($page, $q, $session);
                check_canremove($page, $q, $session);
        }
 
                check_canremove($page, $q, $session);
        }
 
@@ -198,6 +196,7 @@ sub sessioncgi ($$) {
                        # and that the user is allowed to edit(/remove) it.
                        my @files;
                        foreach my $page (@pages) {
                        # and that the user is allowed to edit(/remove) it.
                        my @files;
                        foreach my $page (@pages) {
+                               IkiWiki::check_canedit($page, $q, $session);
                                check_canremove($page, $q, $session);
                                
                                # This untaint is safe because of the
                                check_canremove($page, $q, $session);
                                
                                # This untaint is safe because of the