$type = 'chapitre' // 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) // ... } */ // restreindre les champs 'array(...)' sur les articles qui portent la composition 'emission' restreindre_extras('article', array( 'podcast_sommaire', 'podcast_code', 'podcast_duree', 'podcast_mp3', 'podcast_ogg', 'podcast_transcription', 'podcast_personnes', 'podcast_references', 'podcast_galeriephotos', 'podcast_musique', 'drupal_guid', 'drupal_pubdate' 'description_rss' ), 'emission', 'composition'); restreindre_extras('article', array( 'chronique' ), 'chronique', 'composition'); // ----------------- // Objet chapitres /** * Autorisation de voir (chapitres) * * @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_chapitres_voir_dist($faire, $type, $id, $qui, $opt) { return true; } /** * Autorisation de voir (chapitre) * * @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_chapitre_voir_dist($faire, $type, $id, $qui, $opt) { return true; } /** * Autorisation de créer (chapitre) * * @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_chapitre_creer_dist($faire, $type, $id, $qui, $opt) { return in_array($qui['statut'], array('0minirezo', '1comite')); } /** * Autorisation de modifier (chapitre) * * @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_chapitre_modifier_dist($faire, $type, $id, $qui, $opt) { return in_array($qui['statut'], array('0minirezo', '1comite')); } /** * Autorisation de supprimer (chapitre) * * @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_chapitre_supprimer_dist($faire, $type, $id, $qui, $opt) { return in_array($qui['statut'], array('0minirezo', '1comite')); } /** * Autorisation de créer l'élément (chapitre) dans un articles * * @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_article_creerchapitredans_dist($faire, $type, $id, $qui, $opt) { return ($id and autoriser('voir', 'articles', $id) and autoriser('creer', 'chapitre')); }