SPIP dispose d’une fonction extensible
autoriser()
permettant de vérifier des autorisations. Cette fonction admet 5 arguments. Seul le premier est indispensable, les autres étant optionnels.
autoriser($faire, $type, $id, $qui, $opt);
La fonction renvoie
true
ou
false
en fonction de l’autorisation demandée et de l’auteur connecté (ou l’auteur demandé). Voici à quoi correspondent les différents arguments :
-*
$faire
correspond à l’action demandée. Par exemple « modifier » ou « voir »,
-*
$type
sert à donner généralement le type d’objet, par exemple « auteur » ou « article »,
-*
$id
sert à donner l’identifiant de l’objet demandé, par exemple « 8 »,
-*
$qui
permet de demander une autorisation pour un auteur particulier. Non renseigné, ce sera l’auteur connecté. On peut donner comme argument à
$qui
un
id_auteur
. Cette variable sera remplie avec toutes les informations, sous forme de tableau, concernant l’auteur désigné,
-*
$opt
est un tableau d’option, généralement vide. Lorsqu’une autorisation nécessite de passer des arguments supplémentaires, ils sont mis dans ce tableau.
Dans
$qui
on trouve notamment le statut de l’auteur. Ce statut peut avoir les valeurs suivantes :
| {{Administrateur}} | {{Rédacteur}} | {{Visiteur}} | {{Poubelle}} |
| 0minirezo | 1comite | 6forum | 5poubelle |
Exemple
if (autoriser('modifier','article',$id_article)) {
// ... actions
}