To create an authorisation, you only need to create the supporting functions.
function autoriser_documentation_troller_dist($faire, $type, $id, $qui, $opt) {
return false; // no trolls permitted! and no exceptions!
}
Declaring this function makes it possible to use the
autoriser('troller','documentation')
function or the
#AUTORISER{troller, documentation}
tag.
{{{New functions, but not everywhere!}}}
The
autoriser()
function, when first called, loads a pipeline with the same name. This call to the
"autoriser" pipeline is used to load the authorisation files for a template directory or a plugin.
Example
{{In a template:}}
In the
config/mes_options.php
file, we add the call to a function for our authorisations:
<?php
$GLOBALS['spip_pipeline']['autoriser'] .= "|my_authorisations";
function my_authorisations(){
include_spip('inc/my_authorisations');
}
?>
So then when the
autoriser
pipeline is called, it loads the
inc/my_authorisations.php
file. We can then create this directory and file, which contains the intended authorisation functions in its
squelettes/
directory.
{{In a plugin:}}
For a plugin, it’s almost exactly the same: you have to declare the use of the pipeline inside your
plugin.xml
:
<pipeline>
<nom>autoriser</nom>
<inclure>inc/prefixePlugin_autoriser.php</inclure>
</pipeline>
And create the file in question and absolutely make sure to add in the
pluginprefix_autoriser()
function into the file that the pipeline calls.
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
// function for the pipeline, nothing to do
function pluginprefix_autoriser(){}
// declarations of authorisations
function autoriser_documentation_troller_dist($faire, $type, $id, $qui, $opt) {
return false; // no trolls permitted! and no exceptions!
}
?>