X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/912521ef0711204965aa2319d41c7741bd3f4f4c..9974bd669ab3b895dfd9696eb9ca1ab7c6fc9d00:/doc/plugins/write.mdwn diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 6c475024a..1aaaf1d1e 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -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($$)`