You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
256 lines
8.8 KiB
PHP
256 lines
8.8 KiB
PHP
<?php
|
|
/**
|
|
* Définit les autorisations du plugin Bouquinerie
|
|
*
|
|
* @plugin Bouquinerie
|
|
* @copyright 2017
|
|
* @author Peetdu
|
|
* @licence GNU/GPL
|
|
* @package SPIP\Bouquinerie\Autorisations
|
|
*/
|
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
return;
|
|
}
|
|
|
|
|
|
/**
|
|
* Fonction d'appel pour le pipeline
|
|
* @pipeline autoriser */
|
|
function bouq_autoriser() {
|
|
}
|
|
|
|
|
|
// -----------------
|
|
// Objet livres
|
|
|
|
|
|
/**
|
|
* Autorisation de voir un élément de menu (livres)
|
|
*
|
|
* @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_livres_menu_dist($faire, $type, $id, $qui, $opt) {
|
|
return true;
|
|
}
|
|
|
|
|
|
/**
|
|
* Autorisation de voir le bouton d'accès rapide de création (livre)
|
|
*
|
|
* @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_livrecreer_menu_dist($faire, $type, $id, $qui, $opt) {
|
|
return autoriser('creer', 'livre', '', $qui, $opt);
|
|
}
|
|
|
|
/**
|
|
* Autorisation de créer (livre)
|
|
*
|
|
* @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_livre_creer_dist($faire, $type, $id, $qui, $opt) {
|
|
return ($qui['statut'] == '0minirezo' and !$qui['restreint'] and sql_countsel('spip_rubriques')>0);
|
|
}
|
|
|
|
/**
|
|
* Autorisation de voir (livre)
|
|
*
|
|
* @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_livre_voir_dist($faire, $type, $id, $qui, $opt) {
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Autorisation de modifier (livre)
|
|
*
|
|
* @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_livre_modifier_dist($faire, $type, $id, $qui, $opt) {
|
|
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
}
|
|
|
|
/**
|
|
* Autorisation de supprimer (livre)
|
|
*
|
|
* @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_livre_supprimer_dist($faire, $type, $id, $qui, $opt) {
|
|
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
}
|
|
|
|
/**
|
|
* Autorisation de créer l'élément (livre) 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_creerlivredans_dist($faire, $type, $id, $qui, $opt) {
|
|
return ($id and autoriser('voir', 'rubrique', $id) and autoriser('creer', 'livre', $id));
|
|
}
|
|
|
|
|
|
/**
|
|
* Autorisation de lier/délier l'élément (livres)
|
|
*
|
|
* @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_associerlivres_dist($faire, $type, $id, $qui, $opt) {
|
|
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
}// -----------------
|
|
// Objet livres_auteurs
|
|
|
|
|
|
/**
|
|
* Autorisation de voir un élément de menu (livresauteurs)
|
|
*
|
|
* @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_livresauteurs_menu_dist($faire, $type, $id, $qui, $opt) {
|
|
return true;
|
|
}
|
|
|
|
|
|
/**
|
|
* Autorisation de voir le bouton d'accès rapide de création (livresauteur)
|
|
*
|
|
* @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_livresauteurcreer_menu_dist($faire, $type, $id, $qui, $opt) {
|
|
return autoriser('creer', 'livres_auteur', '', $qui, $opt);
|
|
}
|
|
|
|
/**
|
|
* Autorisation de créer (livresauteur)
|
|
*
|
|
* @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_livresauteur_creer_dist($faire, $type, $id, $qui, $opt) {
|
|
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
}
|
|
|
|
/**
|
|
* Autorisation de voir (livresauteur)
|
|
*
|
|
* @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_livresauteur_voir_dist($faire, $type, $id, $qui, $opt) {
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Autorisation de modifier (livresauteur)
|
|
*
|
|
* @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_livresauteur_modifier_dist($faire, $type, $id, $qui, $opt) {
|
|
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
}
|
|
|
|
/**
|
|
* Autorisation de supprimer (livresauteur)
|
|
*
|
|
* @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_livresauteur_supprimer_dist($faire, $type, $id, $qui, $opt) {
|
|
return autoriser('webmestre', '', '', $qui);
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Autorisation de lier/délier l'élément (livresauteurs)
|
|
*
|
|
* @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_associerlivresauteurs_dist($faire, $type, $id, $qui, $opt) {
|
|
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
}
|
|
|
|
/* compatibilité plugin LIM */
|
|
if (!function_exists('autoriser_rubrique_creerlivredans') AND test_plugin_actif('lim')) {
|
|
function autoriser_rubrique_creerlivredans($faire, $type, $id, $qui, $opt) {
|
|
$quelles_rubriques = lire_config('lim_rubriques/livre');
|
|
is_null($quelles_rubriques) ? $lim_rub = true : $lim_rub = !in_array($id,$quelles_rubriques);
|
|
|
|
return
|
|
$lim_rub
|
|
AND autoriser_rubrique_creerlivredans_dist($faire, $type, $id, $qui, $opt);
|
|
}
|
|
}
|