Browse Source

Ajout de la colonne couleur d'une rubrique et modifications associées.

master
Eric Lupinacci 3 years ago
parent
commit
12e3ffed9c
  1. 11
      README.md
  2. 6
      base/contrib_declarations.php
  3. 50
      contrib_autorisations.php
  4. 29
      inc/contrib_rubrique.php
  5. 1
      lang/contrib_fr.php
  6. 4
      prive/objets/infos/rubrique.html
  7. 0
      prive/squelettes/contenu/rubrique_edit_old.html

11
README.md

@ -173,20 +173,23 @@ Une fois la demande validée, la rubrique-carnet est muée en rubrique-plugin (m
Les rubriques-catégorie et les rubriques-plugin étant identifiées strictement par les champs ```categorie``` et ```prefixe```, il est possible de déclencher régulièrement ou à la demande (administrateurs complets) des vérifications et des mises à jour, à savoir:
* vérifier que les rubriques-plugin possèdent un préfixe existant et qu’elles sont positionnées dans la bonne catégorie;
* vérifier le titre des rubriques-catégorie et des rubriques-plugin et les mettre à jour à partir de la base SVP en profitant des traductions. Le descriptif des rubriques-plugin peut aussi être mis à jour.
* vérifier le titre des rubriques-catégorie et des rubriques-plugin et les mettre à jour à partir de la base SVP Typologie en profitant des traductions si elles existent. Le descriptif des rubriques-plugin peut aussi être mis à jour.
* vérifier que le préfixe est bien vide pour les rubriques-catégories.
# Annexe 1 - Plugins utilisés
## SVP
Pour vérifier les autorisations, réaliser les vérifications et dérouler les workflows, l’utilisation des catégories et des préfixes nécessitent que le plugin SVP soit activé, ce qui n’est pas le cas actuellement. En outre, pour construire la base complète de tous les plugins comme sur Plugins SPIP il faut:
Pour vérifier les autorisations, réaliser les vérifications et dérouler les workflows, l’utilisation des catégories et des préfixes nécessitent que le plugin SVP soit activé. En outre, pour construire la base complète de tous les plugins comme sur Plugins SPIP il faut:
1. configurer SVP dans le mode “non run-time” qui permet le chargement de l’ensemble des plugins disponibles qu’ils soient ou pas compatibles avec la version SPIP de Contrib.
1. intégrer dans la base les mêmes dépôts que sur Plugins SPIP.
En outre, le plugin SVP sera modifié et débarrassé de la gestion des catégories qui sera repris par le plugin SVP Typologie.
## SVP Typologie
En outre, le plugin SVP devra être adapté pour prendre en compte la nouvelle liste des catégories avec ses deux niveaux.
Ce plugin permettra d'externaliser complètement la gestion des catégories de plugins (et aussi des tags de plugin).
## Exclure secteur
@ -208,3 +211,5 @@ Ce plugin est utilisé pour identifier unitairement les articles d'aide du secte
Ce plugin est utilisé pour identifier le secteur-carnet et lui associer les autorisations nécessaires.
Ce plugin permettra d'externaliser complètement la gestion des catégories de plugins (et aussi des tags de plugin).

6
base/contrib_declarations.php

@ -41,6 +41,7 @@ function contrib_declarer_champs_extras($champs = array()) {
),
);
// Ajout du préfixe de plugin. La saisie est un input simple.
$champs['spip_rubriques']['prefixe'] = array(
'saisie' => 'input',
'options' => array(
@ -61,7 +62,8 @@ function contrib_declarer_champs_extras($champs = array()) {
),
);
/* $champs['spip_rubriques']['couleur'] = array(
// Ajout de la couleur de rubrique. La saisie est un input particulier (palette).
$champs['spip_rubriques']['couleur'] = array(
'saisie' => 'couleur',
'options' => array(
'nom' => 'couleur',
@ -78,7 +80,7 @@ function contrib_declarer_champs_extras($champs = array()) {
'versionner' => false,
'verifier' => array(
),
);*/
);
// Table : spip_rubriques, on initialise les champs extras de la table.
// Ajout de la catégorie de plugin. La saisie est une sélection particulière.

50
contrib_autorisations.php

@ -112,3 +112,53 @@ function autoriser_rubrique_modifierextra_prefixe($faire, $type, $id, $qui, $opt
return $autoriser;
}
/**
* Autorisation de modifier le champ extra couleur d'un secteur.
* Il faut :
* - être un webmestre,
* - que la rubrique ait une profondeur égale à 0 (secteur),
* - que le secteur ne soit ni un secteur-carnet, ni un secteur-apropos, ni un secteur-galaxie.
*
* @param $faire
* L'action se nomme modifierextra
* @param $type
* Le type est toujours rubrique.
* @param $id
* Id de la rubrique concernée.
* @param $qui
* L'auteur connecté
* @param $options
* Contient le contexte de la saisie mais n'est pas utilisé.
*
* @return bool
*/
function autoriser_rubrique_modifierextra_couleur($faire, $type, $id, $qui, $opt) {
// Par défaut la modification est interdite.
$autoriser = false;
// Seuls les webmestres peuvent configurer le préfixe d'une rubrique-plugin.
if (autoriser('webmestre')) {
if ($id_rubrique = intval($id)) {
// On vérifie si la rubrique est dans un secteur à exclure (non plugin).
// - le carnet wiki
// - le secteur apropos
// - le secteur galaxie
include_spip('inc/contrib_rubrique');
if (!rubrique_dans_secteur_apropos($id_rubrique)
and !rubrique_dans_secteur_carnet($id_rubrique)
and !rubrique_dans_secteur_galaxie($id_rubrique)) {
// On vérifie la profondeur de la rubrique qui ne peut-être que 0 (secteur).
$profondeur = rubrique_lire_profondeur($id_rubrique);
if (($profondeur !== null)
and ($profondeur == 0)) {
$autoriser = true;
}
}
}
}
return $autoriser;
}

29
inc/contrib_rubrique.php

@ -86,26 +86,6 @@ function rubrique_determiner_type($id_rubrique) {
return $types[$id_rubrique];
}
function rubrique_determiner_couleur($categorie) {
static $couleurs = array(
'activite' => 'bd87c0',
'administration' => '09b2a3',
'auteur' => '1310b2',
'communication' => 'acbd70',
'contenu' => 'b22ba4',
'date' => '471bb2',
'developpement' => 'dfb811',
'interactivite' => '50699b',
'interface-publique' => '40dd5d',
'media' => 'de175f',
'navigation' => 'b26714'
);
$couleur = (!$categorie or empty($couleurs[$categorie])) ? 'b9274d' : $couleurs[$categorie];
return $couleur;
}
/**
* 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
@ -213,10 +193,15 @@ function rubrique_dans_secteur_plugin($id_rubrique) {
* Liste des id des secteurs-pllugin ou tableau vide.
*/
function rubrique_lister_secteur_plugin() {
// On sélectionne les rubriques de profndeur nulle et ayant une catégorie.
$from = 'spip_rubriques';
$where = array('profondeur=0', 'categorie!=' . sql_quote(''));
$where = array(
'profondeur=0',
'categorie!=' . sql_quote('')
);
if ($secteurs = sql_allfetsel('id_rubrique', $from, $where)) {
$secteurs = array_map('reset', $secteurs);
$secteurs = array_column($secteurs, 'id_rubrique');
}
return $secteurs;

1
lang/contrib_fr.php

@ -28,5 +28,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// R
'rubrique_prefixe_generer_label' => 'Générer les préfixes',
'rubrique_couleur_label' => 'Couleur de la rubrique',
'plugin_categorie_changer_label' => 'Passer les catégories en v2',
);

4
prive/objets/infos/rubrique.html

@ -9,8 +9,8 @@
[(#ID_RUBRIQUE|rubrique_dans_secteur_plugin|oui)
[(#SET{categorie_secteur, #ID_RUBRIQUE|rubrique_lire_secteur|rubrique_lire_categorie})]
<div class="numero">
[(#PREFIXE|?{<:svp:label_prefixe:>, <:svptype:categorie_identifiant_label:>})&nbsp;:]
<p class="plugin">[<span class="[couleur_(#GET{categorie_secteur})]">(#PREFIXE|sinon{#CATEGORIE})</span>]</p>
[(#PROFONDEUR|=={2}|?{<:svp:label_prefixe:>, <:svptype:categorie_identifiant_label:>})&nbsp;:]
<p class="plugin">[<span class="[couleur_(#GET{categorie_secteur})]">(#PROFONDEUR|=={2}|?{#PREFIXE, #CATEGORIE})</span>]</p>
</div>
]

0
prive/squelettes/contenu/rubrique_edit.html → prive/squelettes/contenu/rubrique_edit_old.html

Loading…
Cancel
Save