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!
}
?>