234 lines
7.7 KiB
PHP
234 lines
7.7 KiB
PHP
<?php
|
|
/**
|
|
* Définit les autorisations du plugin podcast
|
|
*
|
|
* @plugin podcast
|
|
* @copyright 2021
|
|
* @author chankalan,vcalame
|
|
* @licence GNU/GPL
|
|
* @package SPIP\Podcast\Autorisations
|
|
*/
|
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
return;
|
|
}
|
|
|
|
|
|
/*
|
|
* Un fichier d'autorisations permet de regrouper
|
|
* les fonctions d'autorisations de votre plugin
|
|
*/
|
|
|
|
/**
|
|
* Fonction d'appel pour le pipeline
|
|
* @pipeline autoriser */
|
|
function podcast_autoriser() {
|
|
}
|
|
|
|
|
|
/* Exemple
|
|
function autoriser_podcast_configurer_dist($faire, $type, $id, $qui, $opt) {
|
|
// type est un objet (la plupart du temps) ou une chose.
|
|
// autoriser('configurer', '_podcast') => $type = 'podcast'
|
|
// 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)
|
|
// ...
|
|
}
|
|
*/
|
|
|
|
// -----------------
|
|
// Objet podcasts
|
|
|
|
|
|
/**
|
|
* Autorisation de voir un élément de menu (podcasts)
|
|
*
|
|
* @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_podcasts_menu_dist($faire, $type, $id, $qui, $opt) {
|
|
return true;
|
|
}
|
|
|
|
|
|
/**
|
|
* Autorisation de voir (podcasts)
|
|
*
|
|
* @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_podcasts_voir_dist($faire, $type, $id, $qui, $opt) {
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Autorisation de voir (podcast)
|
|
*
|
|
* @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_podcast_voir_dist($faire, $type, $id, $qui, $opt) {
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Autorisation de créer (podcast)
|
|
*
|
|
* @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_podcast_creer_dist($faire, $type, $id, $qui, $opt) {
|
|
return in_array($qui['statut'], array('0minirezo', '1comite'));
|
|
}
|
|
|
|
/**
|
|
* Autorisation de modifier (podcast)
|
|
*
|
|
* @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_podcast_modifier_dist($faire, $type, $id, $qui, $opt) {
|
|
return in_array($qui['statut'], array('0minirezo', '1comite'));
|
|
}
|
|
|
|
/**
|
|
* Autorisation de supprimer (podcast)
|
|
*
|
|
* @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_podcast_supprimer_dist($faire, $type, $id, $qui, $opt) {
|
|
return in_array($qui['statut'], array('0minirezo', '1comite'));
|
|
}
|
|
|
|
|
|
/**
|
|
* Autorisation de créer l'élément (podcast) 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_creerpodcastdans_dist($faire, $type, $id, $qui, $opt) {
|
|
return ($id and autoriser('voir', 'articles', $id) and autoriser('creer', 'podcast'));
|
|
}
|
|
// -----------------
|
|
// 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 podcasts
|
|
*
|
|
* @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_podcast_creerchapitredans_dist($faire, $type, $id, $qui, $opt) {
|
|
return ($id and autoriser('voir', 'podcasts', $id) and autoriser('creer', 'chapitre'));
|
|
}
|