]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/attachment.pm
attachment: Add admin() pagespec to test if the uploading user is a wiki admin.
[ikiwiki.git] / IkiWiki / Plugin / attachment.pm
index 999fa4a8609c1b9f48702b3f6132e6d44a87cf71..f1a9b19394701ea82558513ecc423b451ba2ddc4 100644 (file)
@@ -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;