Pour créer une autorisation, il suffit de créer les fonctions adéquates.
function autoriser_documentation_troller_dist($faire, $type, $id, $qui, $opt) {
return false; // aucun troll permis ! non mais !
}
Déclarer cette fonction permet d’utiliser la fonction autoriser('troller','documentation')
ou la balise #AUTORISER{troller, documentation}
.
Nouvelles fonctions, mais pas n’importe où !
La fonction autoriser()
, à son premier appel, charge un pipeline du même nom. Cet appel du pipeline « autoriser » permet de charger les fichiers d’autorisations pour un dossier squelettes ou un plugin.
Exemple
Dans un squelette :
Dans le fichier config/mes_options.php
on ajoute l’appel d’une fonction pour nos autorisations :
<?php
$GLOBALS['spip_pipeline']['autoriser'] .= "|mes_autorisations";
function mes_autorisations(){
include_spip('inc/mes_autorisations');
}
?>
Ainsi lorsque le pipeline autoriser
est appelé, il charge le fichier inc/mes_autorisations.php
. On peut donc créer ce dossier et le fichier, qui contient les fonctions d’autorisations souhaitées, dans son dossier squelettes/
.
Dans un plugin :
Pour un plugin, presque de la même façon, il faut déclarer l’utilisation du pipeline dans le plugin.xml
:
<pipeline>
<nom>autoriser</nom>
<inclure>inc/prefixePlugin_autoriser.php</inclure>
</pipeline>
Et créer le fichier en question en ajoutant absolument, dans le fichier que le pipeline appelle, la fonction prefixePlugin_autoriser()
.
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
// fonction pour le pipeline, n'a rien a effectuer
function prefixePlugin_autoriser(){}
// declarations d'autorisations
function autoriser_documentation_troller_dist($faire, $type, $id, $qui, $opt) {
return false; // aucun troll permis ! non mais !
}
?>