From e1ba137317f3b35bdfa90b37659d9005e4c253f2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 25 Sep 2008 16:49:30 -0400 Subject: attachment: Add admin() pagespec to test if the uploading user is a wiki admin. --- IkiWiki/Plugin/attachment.pm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'IkiWiki/Plugin') diff --git a/IkiWiki/Plugin/attachment.pm b/IkiWiki/Plugin/attachment.pm index 999fa4a86..f1a9b1939 100644 --- a/IkiWiki/Plugin/attachment.pm +++ b/IkiWiki/Plugin/attachment.pm @@ -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; -- cgit v1.2.3