X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b9efeba972c82da706756eee51a0682018663586..8bedf14f338b96250758ab4c58a7d2ef0cf7a2af:/IkiWiki/Plugin/attachment.pm diff --git a/IkiWiki/Plugin/attachment.pm b/IkiWiki/Plugin/attachment.pm index 999fa4a86..6214df7f3 100644 --- a/IkiWiki/Plugin/attachment.pm +++ b/IkiWiki/Plugin/attachment.pm @@ -271,7 +271,7 @@ sub attachment_list ($) { #{{{ my @ret; foreach my $f (values %pagesources) { - if (! defined IkiWiki::pagetype($f) && + if (! defined pagetype($f) && $f=~m/^\Q$loc\E[^\/]+$/ && -e "$config{srcdir}/$f") { push @ret, { @@ -311,6 +311,26 @@ sub match_user ($$;@) { #{{{ } } #}}} +sub match_admin ($$;@) { #{{{ + shift; + shift; + my %params=@_; + + if (! exists $params{user}) { + return IkiWiki::FailReason->new("no user specified"); + } + + if (defined $params{user} && IkiWiki::is_admin($params{user})) { + return IkiWiki::SuccessReason->new("user is an admin"); + } + elsif (! defined $params{user}) { + return IkiWiki::FailReason->new("not logged in"); + } + else { + return IkiWiki::FailReason->new("user is not an admin"); + } +} #}}} + sub match_ip ($$;@) { #{{{ shift; my $ip=shift;