Browse Source

Ajustement des fonctions d'API

master
Eric Lupinacci 3 years ago
parent
commit
87a0c2c000
  1. 7
      contrib_autorisations.php
  2. 55
      inc/contrib_rubrique.php
  3. 5
      saisies/rubrique_categorie.html

7
contrib_autorisations.php

@ -40,9 +40,10 @@ function autoriser_rubrique_modifierextra_categorie($faire, $type, $id, $qui, $o
// - le carnet wiki
// - le secteur apropos
include_spip('inc/contrib_rubrique');
if (!rubrique_est_apropos($id_rubrique)
and !rubrique_est_carnet($id_rubrique)) {
// On vérifie la profondeur de la rubrique qui ne peut-être que 0 ou 1.
if (!rubrique_dans_secteur_apropos($id_rubrique)
and !rubrique_dans_secteur_carnet($id_rubrique)) {
// On vérifie la profondeur de la rubrique qui ne peut-être que 0 ou 1
// et si 1, on vérifie que la rubrique parent a une catégorie non vide.
$profondeur = rubrique_lire_profondeur($id_rubrique);
if (($profondeur !== null)
and ($profondeur < 2)) {

55
inc/contrib_rubrique.php

@ -74,7 +74,18 @@ function rubrique_lire_categorie($id_rubrique) {
}
function rubrique_est_apropos($id_rubrique) {
/**
* Vérifie que la rubrique concernée fait bien partie du secteur-apropos.
* Le secteur-apropos est déterminé par la configuration du secteur exclus dans
* le plugin Exclure Secteur.
*
* @param int $id
* Id de la rubrique concernée.
*
* @return bool
* True si la rubrique fait partie du secteur-apropos, false sinon.
*/
function rubrique_dans_secteur_apropos($id_rubrique) {
$est_apropos = false;
@ -89,7 +100,18 @@ function rubrique_est_apropos($id_rubrique) {
}
function rubrique_est_carnet($id_rubrique) {
/**
* Vérifie que la rubrique concernée fait bien partie du secteur-carnet.
* Le secteur-carnet est déterminé par la configuration de l'espace wiki dans le plugin
* Autorité.
*
* @param int $id
* Id de la rubrique concernée.
*
* @return bool
* True si la rubrique fait partie du secteur-carnet, false sinon.
*/
function rubrique_dans_secteur_carnet($id_rubrique) {
$est_carnet = false;
@ -102,3 +124,32 @@ function rubrique_est_carnet($id_rubrique) {
return $est_carnet;
}
/**
* Vérifie que la rubrique concernée fait bien partie d'un secteur-plugin.
* Il suffit de vérifier que le secteur a bien une catégorie non vide.
*
* @param int $id
* Id de la rubrique concernée.
*
* @return bool
* True si la rubrique fait partie d'un secteur-plugin, false sinon.
*/
function rubrique_dans_secteur_plugin($id_rubrique) {
static $est_plugin = array();
if (!isset($est_plugin[$id_rubrique])) {
$est_plugin[$id_rubrique] = false;
$select = array('categorie');
$where = array('id_rubrique=' . intval($id_rubrique));
$categorie = sql_getfetsel($select, 'spip_rubriques', $where);
if ($categorie) {
$est_plugin[$id_rubrique] = true;
}
}
return $est_plugin[$id_rubrique];
}

5
saisies/rubrique_categorie.html

@ -1,10 +1,11 @@
[(#REM)
### /!\ Saisie des catégories d'un plugin ###
### /!\ Saisie du champ extra categorie pour une rubrique ###
Paramètres :
- nom : name du select
- class : classe(s) css ajoutes au select
- l'environnement de la rubrique
]
[(#REM) Déterminer les data en fonction du contexte ]
@ -18,7 +19,7 @@
<B_categories>
<select name="#ENV{nom}" id="champ_#ENV{nom}"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"] >
[<option value=""[ (#ENV{categorie}|non)selected="selected"]>
(#ENV{option_intro})
(#ENV{option_intro}|et{#PROFONDEUR|=={0}}|oui)
</option>]
<BOUCLE_categories(DATA) {source table, #GET{data}}>
[(#SET{value, [(#CLE|is_string|?{#CLE, #VALEUR})]})]

Loading…
Cancel
Save