Autorisaties maken of overschrijven

Om een autorisatie te maken hoef je slechts de ondersteunende functies aan te maken.

function autoriser_documentation_troller_dist($faire, $type, $id, $qui, $opt) {
	return false; // geen trollen toegelaten! en geen uitzonderingen!
}

Het declareren van deze functie maakt het mogelijk om de functie autoriser('troller','documentation') of het baken #AUTORISER{troller, documentation} te gebruiken.

Nieuwe functies, maar niet overal!

Wanneer de functie autoriser() voor het eerst wordt opgeroepen, laadt ze een pipeline met dezelfde naam. Dze oproep van de "autoriser" pipeline wordt gebruikt om het autorisatiebestand voor een skelettenmap of een plug-in te laden.

Voorbeeld

In een skelet:
In het bestand config/mes_options.php voegen we de oproep naar een functie voor onze autorisaties toe:

<?php
$GLOBALS['spip_pipeline']['autoriser'] .= "|mijn_autorisaties";
 
function mijn_autorisaties(){
	include_spip('inc/mijn_autorisaties');
}
?>

Dus wanneer de autoriser pipeline wordt aangeroepen, laadt het het bestand inc/mijn_autorisaties.php. We kunnen nu deze map en dit bestand aanmaken wat de bedoelde autorisatiefuncties bevat in de map squelettes/.

In een plug-in:
Voor een plug-in is het nagenoeg hetzelfde: je moet het gebruik van de pipeline declareren in het bestand plugin.xml :

<pipeline>
	<nom>autoriser</nom>
	<inclure>inc/prefixPlugin_autoriser.php</inclure>
</pipeline>

En je maakt het bestand in kwestie en zorgt ervoor dat de functie
pluginprefix_autoriser() is opgenomen in het bestand dat de pipeline aanroept.

<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
 
// functie voor de pipeline, niets te doen
function pluginprefix_autoriser(){}
 
// declaraties van de autorisaties
function autoriser_documentation_troller_dist($faire, $type, $id, $qui, $opt) {
	return false; // geen trollen toegelaten! en geen uitzonderingen!
}
?>

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands