#PHP [(#INCLURE{fond=fabrique/entetes/php,env, description=Définit les autorisations du plugin #ENV{paquet/nom}, package=Autorisations})] /* * Un fichier d'autorisations permet de regrouper * les fonctions d'autorisations de votre plugin */ /** * Fonction d'appel pour le pipeline * @pipeline autoriser */ function [(#PREFIXE)]_autoriser(){} /* Exemple function autoriser_[(#PREFIXE)]_configurer_dist($faire, $type, $id, $qui, $opt) { // type est un objet (la plupart du temps) ou une chose. // autoriser('configurer', '_[(#PREFIXE)]') => $type = '[(#PREFIXE)]' // au choix return autoriser('webmestre', $type, $id, $qui, $opt); // seulement les webmestres return autoriser('configurer', '', $id, $qui, $opt); // seulement les administrateurs complets return $qui['statut'] == '0minirezo'; // seulement les administrateurs (même les restreints) // ... } */ [ (#SET{type,#TYPE|fabrique_type_autorisation})][ (#SET{objet,#OBJET|fabrique_type_autorisation}) ]// ----------------- // Objet [(#OBJET)] [ /** * Autorisation de voir un élément de menu \(#GET{objet}\) * * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_#GET{objet}_menu_dist($faire, $type, $id, $qui, $opt){ return true; }(#VAL{menu_edition}|in_any{#VALEUR{boutons}})] [ /** * Autorisation de voir le bouton d'accès rapide de création \(#GET{type}\) * * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_#GET{type}creer_menu_dist($faire, $type, $id, $qui, $opt){ return autoriser('creer', ['(#TYPE)'], '', $qui, $opt); }(#VAL{outils_rapides}|in_any{#VALEUR{boutons}})] /** * Autorisation de créer \(#GET{type}\) *[(#SET{creer,[(#AUTORISATIONS|fabrique_code_autorisation_defaut{objet_creer})]})] * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_#GET{type}_creer_dist($faire, $type, $id, $qui, $opt) {[ return \([(#GET{creer})] AND sql_countsel('spip_rubriques')>0\);(#VALEUR|champ_present{id_rubrique}|oui)][ return #GET{creer};(#VALEUR|champ_present{id_rubrique}|non)] } /** * Autorisation de voir \(#GET{type}\) * * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_#GET{type}_voir_dist($faire, $type, $id, $qui, $opt) { return [(#AUTORISATIONS|fabrique_code_autorisation_defaut{objet_voir})]; } /** * Autorisation de modifier \(#GET{type}\) * * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_#GET{type}_modifier_dist($faire, $type, $id, $qui, $opt) { return [(#AUTORISATIONS|fabrique_code_autorisation_defaut{objet_modifier})]; } /** * Autorisation de supprimer \(#GET{type}\) * * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_#GET{type}_supprimer_dist($faire, $type, $id, $qui, $opt) { return [(#AUTORISATIONS|fabrique_code_autorisation_defaut{objet_supprimer})]; } /** * Autorisation de créer l'élément \(#GET{type}\) dans une rubrique * * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_rubrique_creer#GET{type}dans_dist($faire, $type, $id, $qui, $opt) { return ($id AND autoriser('voir','rubrique', $id) AND autoriser('creer','[(#TYPE)]', $id)); } /** * Autorisation de lier/délier l'élément \(#GET{objet}\) * * @param string $faire Action demandée * @param string $type Type d'objet sur lequel appliquer l'action * @param int $id Identifiant de l'objet * @param array $qui Description de l'auteur demandant l'autorisation * @param array $opt Options de cette autorisation * @return bool true s'il a le droit, false sinon **/ function autoriser_associer#GET{objet}_dist($faire, $type, $id, $qui, $opt) { return [(#AUTORISATIONS|fabrique_code_autorisation_defaut{associerobjet})]; } ?>