eval q{use CGI};
error($@) if $@;
my $cgi=CGI->new;
- $ENV{REMOTE_ADDR}='unknown' unless exists $ENV{REMOTE_ADDR};
# And dummy up a session object.
require IkiWiki::CGI;
if ($change->{action} eq 'change' ||
$change->{action} eq 'add') {
if (defined $page) {
- if (IkiWiki->can("check_canedit")) {
- IkiWiki::check_canedit($page, $cgi, $session);
- next;
- }
+ IkiWiki::check_canedit($page, $cgi, $session);
+ next;
}
else {
if (IkiWiki::Plugin::attachment->can("check_canattach")) {
IkiWiki::Plugin::attachment::check_canattach($session, $file, $change->{path});
+ IkiWiki::check_canedit($file, $cgi, $session);
next;
}
}
}
elsif ($change->{action} eq 'remove') {
# check_canremove tests to see if the file is present
- # on disk. This will fail is a single commit adds a
+ # on disk. This will fail when a single commit adds a
# file and then removes it again. Avoid the problem
# by not testing the removal in such pairs of changes.
# (The add is still tested, just to make sure that
if (IkiWiki::Plugin::remove->can("check_canremove")) {
IkiWiki::Plugin::remove::check_canremove(defined $page ? $page : $file, $cgi, $session);
+ IkiWiki::check_canedit(defined $page ? $page : $file, $cgi, $session);
next;
}
}