]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/attachment.mdwn
add mimetype checking
[git.ikiwiki.info.git] / doc / plugins / attachment.mdwn
index a038659870126c79feef333704f23f4f5a2d4a4b..01816cd5c70d9d51b9f29f20d4b10bc91f958f00 100644 (file)
@@ -22,13 +22,14 @@ Bear in mind that if you let anyone upload a particular kind of file
 
 To provide a way to combat these abuses, the wiki admin can specify a
 [[ikiwiki/PageSpec]] on their preferences page, to control what types of
-attachments can be uploaded. The regular [[ikiwiki/PageSpec]] syntax is
-expanded with additional tests.
+attachments can be uploaded, and by whom. The regular [[ikiwiki/PageSpec]]
+syntax is expanded with additional tests.
 
-For example, to limit arbitrary files to 50 kilobtes, but allow
-larger mp3 files to be uploaded, a test like this could be used:
+For example, to limit arbitrary files to 50 kilobytes, but allow
+larger mp3 files to be uploaded by joey, a test like this could be
+used:
   
-       (*.mp3 and maxsize(15mb)) or (* and maxsize(50kb))
+       (user(joey) and *.mp3 and mimetype(audio/mpeg) and maxsize(15mb)) or (!ispage() and maxsize(50kb))
 
 The following additional tests are available:
 
@@ -41,3 +42,29 @@ The following additional tests are available:
 * minsize(size)
 
   Tests whether the attachment is no smaller than the specified size.
+
+* ispage()
+
+  Tests whether the attachment will be treated by ikiwiki as a wiki page.
+  (Ie, if it has an extension of ".mdwn", or of any other enabled page
+  format).
+
+  So, if you don't want to allow wiki pages to be uploaded as attachments,
+  use `!ispage()` ; if you only want to allow wiki pages to be uploaded
+  as attachments, use `ispage()`.
+
+* user(username)
+
+  Tests whether the attachment is being uploaded by a user with the
+  specified username. If openid is enabled, an openid can also be put here.
+
+* ip(address)
+
+  Tests whether the attacment is being uploaded from the specified IP
+  address.
+
+* mimetype(foo/bar)
+
+  If the [[cpan File::MimeInfo::Magic]] perl module is installed, this
+  allows checking the mime type of the attachment. You can include a glob
+  in the type, for example `mimetype(image/*)`.