]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/write.mdwn
fixes and more tests
[ikiwiki.git] / doc / plugins / write.mdwn
index f808d2e1e089ac412cbabbc2a379e465ca19cbf4..1aaaf1d1e7ea7aa7e3e6371b7fbf987d735d5a9b 100644 (file)
@@ -192,6 +192,20 @@ object's "name" parameter to the authenticated user's name. Note that
 if the name is set to the name of a user who is not registered,
 a basic registration of the user will be automatically performed.
 
+### canedit
+
+       hook(type => "canedit", id => "foo", call => \&pagelocked);
+
+This hook can be used to implement arbitrary access methods to control when
+a page can be edited using the web interface (commits from revision control
+bypass it). When a page is edited, each registered canedit hook is called
+in turn, and passed the page name, a CGI object, and a session object.
+
+If edit can proceed, the hook should return "". If the edit is not allowed
+by this hook, the hook should return an error message for the user to see.
+If the hook has no opinion about whether the edit can proceed, return
+`undef`, and the next plugin will be asked to decide.
+
 ### formbuilder
 
        hook(type => "formbuilder_setup", id => "foo", call => \&formbuilder_setup);
@@ -298,10 +312,12 @@ page created from it. (Ie, it appends ".html".)
 
 Makes the specified page depend on the specified [[PageSpec]].
 
-#### `pagespec_match($$)`
+#### `pagespec_match($$;$)`
 
-Passed a page name, and a [[PageSpec]], returns true if the [[PageSpec]]
-matches the page.
+Passed a page name, a [[PageSpec]], and the location the [[PageSpec]] should
+be matched against, returns true if the [[PageSpec]] matches the page. (If
+the third parameter is not passed, relative PageSpecs will match relative to
+the top of the wiki.)
 
 #### `bestlink($$)`
 
@@ -382,6 +398,10 @@ path to the first file found.
 
 Given a time, formats it for display.
 
+#### `gettext`
+
+This is the standard gettext function, although slightly optimised.
+
 ## RCS plugins
 
 ikiwiki's support for revision control systems also uses pluggable perl