You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
5.4 KiB
174 lines
5.4 KiB
<?php |
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) { |
|
return; |
|
} |
|
|
|
// fonction pour le pipeline, n'a rien a effectuer |
|
function svptype_autoriser() { |
|
} |
|
|
|
/** |
|
* Autorisation minimale d'accès à toutes les pages ds SVP Typologie. |
|
* |
|
* Par défaut, seuls les administrateurs complets sont autorisés à utiliser le plugin. |
|
* Cette autorisation est à la base de la plupart des autres autorisations du plugin. |
|
* |
|
* @param $faire |
|
* @param $type |
|
* @param $id |
|
* @param $qui |
|
* @param $options |
|
* |
|
* @return bool |
|
*/ |
|
function autoriser_typologie_dist($faire, $type, $id, $qui, $options) { |
|
return autoriser('defaut'); |
|
} |
|
|
|
/** |
|
* Autorisation de supprimer un type de plugin. |
|
* |
|
* Un type de plugin est un mot-cle technique pouvant être arborescent ou pas ce qui implique de vérifier : |
|
* - l'autorisation minimale de typologie |
|
* - l'autorisation de suppression d'un mot (plugin mots) |
|
* - l'autorisation de suppression d'un mots arborescents, ie pas d'enfant (plugin mots arborescents) |
|
* - le type n'est pas encore affecté à un plugin |
|
* |
|
* @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_typeplugin_supprimer_dist($faire, $type, $id, $qui, $opt) { |
|
// Initialisation de l'autorisation |
|
$autoriser = false; |
|
|
|
// Vérification préalable de l'autorisation de suppression d'un 'mot' |
|
// qui combine déjà celle du plugin mots et celle du plugin mots arborescents. |
|
if ( |
|
autoriser('supprimer', 'mot', $id, $qui, $opt) |
|
and autoriser('typologie') |
|
) { |
|
include_spip('inc/svptype_mot'); |
|
$id_mot = (int) $id; |
|
$id_groupe = mot_lire_groupe($id_mot); |
|
if (groupe_est_typologie_plugin($id_groupe)) { |
|
// Le mot est un type de plugin, il faut vérifier : |
|
// -- que le type ne doit avoir aucune affectation de plugins car on sait que c'est une feuille |
|
$where = [ |
|
'id_groupe=' . $id_groupe, |
|
'id_mot=' . $id_mot |
|
]; |
|
if (!sql_countsel('spip_plugins_typologies', $where)) { |
|
$autoriser = true; |
|
} |
|
} |
|
} |
|
|
|
return $autoriser; |
|
} |
|
|
|
/** |
|
* Autorisation de modifier un type de plugin. |
|
* |
|
* Un type de plugin est un mot-cle technique pouvant être arborescent ou pas ce qui implique de vérifier : |
|
* - l'autorisation minimale de typologie |
|
* - l'autorisation de modification d'un mot (plugin mots) |
|
* |
|
* @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_typeplugin_modifier_dist($faire, $type, $id, $qui, $opt) { |
|
// Initialisation de l'autorisation |
|
$autoriser = false; |
|
|
|
// Vérification préalable de l'autorisation standard du plugin 'mots'. |
|
if ( |
|
autoriser('modifier', 'mot', $id, $qui, $opt) |
|
and autoriser('typologie') |
|
) { |
|
$autoriser = true; |
|
} |
|
|
|
return $autoriser; |
|
} |
|
|
|
/** |
|
* Autorisation de créer un type de plugin. |
|
* |
|
* Un type de plugin est un mot-cle technique pouvant être arborescent ou pas ce qui implique de vérifier : |
|
* - l'autorisation minimale de typologie |
|
* - l'autorisation de création d'un mot (plugin mots) |
|
* |
|
* @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. Contient le groupe de mots dans lequel créer le mot. |
|
* |
|
* @return bool true s'il a le droit, false sinon |
|
**/ |
|
function autoriser_typeplugin_creer_dist($faire, $type, $id, $qui, $opt) { |
|
// Initialisation de l'autorisation |
|
$autoriser = false; |
|
|
|
// Vérification préalable de l'autorisation standard du plugin 'mots'. |
|
if ( |
|
autoriser('creer', 'mot', $id, $qui, $opt) |
|
and autoriser('typologie') |
|
) { |
|
$autoriser = true; |
|
} |
|
|
|
return $autoriser; |
|
} |
|
|
|
/** |
|
* Autorisation, pour un plugin, de lui affecter un type de plugin, de lui supprimer ou de lui modifier |
|
* une affectation existante. |
|
* |
|
* L'autorisation est générique et ne dépend pas du plugin concerné : |
|
* - l'autorisation minimale de typologie soit les administrateurs complets. |
|
* |
|
* @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. Contient le groupe de mots dans lequel créer le mot. |
|
* |
|
* @return bool true s'il a le droit, false sinon |
|
**/ |
|
function autoriser_plugin_affecter_dist($faire, $type, $id, $qui, $opt) { |
|
// Initialisation de l'autorisation |
|
$autoriser = autoriser('typologie'); |
|
|
|
return $autoriser; |
|
} |
|
|
|
/** |
|
* Autorisation d'affichage du menu d'accès à gestion des typologies de plugin (page=svptype_typologie). |
|
* Il faut être autorisé à utiliser le plugin. |
|
* |
|
* @param $faire |
|
* @param $type |
|
* @param $id |
|
* @param $qui |
|
* @param $options |
|
* |
|
* @return bool |
|
*/ |
|
function autoriser_typologie_menu_dist($faire, $type, $id, $qui, $options) { |
|
// Initialisation de l'autorisation |
|
$autoriser = autoriser('typologie'); |
|
|
|
return $autoriser; |
|
}
|
|
|