Browse Source

Deux contrôles suplémentaires et modification du controle des rubriques-plugin

master
Eric Lupinacci 3 years ago
parent
commit
860e77263c
  1. 32
      ezcheck/controles/contrib_controle.php
  2. 5
      ezcheck/controles/contrib_plugin_categorie.yaml
  3. 5
      ezcheck/controles/contrib_rubrique_categorie.yaml
  4. 6
      ezcheck/dashboards/contrib.yaml
  5. 1
      inc/contrib_rubrique.php
  6. 5
      lang/contrib_fr.php

32
ezcheck/controles/contrib_controle.php

@ -3,6 +3,12 @@ if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* @param $id_controle
* @param $id_auteur
* @param $options
* @return string
*/
function contrib_article_prepa($id_controle, $id_auteur, $options) {
// Initialisation de l'erreur à chaine vide soit 'aucune erreur'.
@ -43,20 +49,34 @@ function contrib_rubrique_plugin($id_controle, $id_auteur, $options) {
if ($rubriques_plugin) {
foreach ($rubriques_plugin as $_rubrique) {
if ($_rubrique['prefixe']) {
// Pour chaque rubrique-plugin on vérifie que :
// - le préfixe est bien référencé dans SVP
// - la catégorie d'appartenance est correcte.
if ($id_plugin = plugin_lire($_rubrique['prefixe'], 'id_plugin')) {
// On lit la catégorie du plugin telle que configurée dans la typologie
// - si elle n'est positionnée on ne renvoie aucune erreur car c'est un autre contrôle qui s'en occupe
// - si elle n'est pas positionnée on ne renvoie aucune erreur car c'est un autre contrôle
// qui s'en occupe
if ($categorie_plugin = plugin_lire_categorie($_rubrique['prefixe'])) {
// On lit la catégorie de la rubrique parent
$categorie_parent = rubrique_lire($_rubrique['id_parent'], 'categorie');
if ($categorie_parent != $categorie_plugin) {
// La rubrique-plugin est mal positionnée dans l'arborescence
// On lit la catégorie de la rubrique parent de la rubrique en cours
// - si elle est vide on ne renvoie pas d'erreur car c'est un autre contrôle qui s'en
// occupe.
if (
($categorie_parent = rubrique_lire($_rubrique['id_parent'], 'categorie'))
and ($categorie_parent != $categorie_plugin)
) {
// La rubrique-plugin est mal positionnée dans l'arborescence alors que la rubrique
// correspondant à la catégorie de rattachement du plugin existe.
// - on génère une anomalie
$anomalie['code'] = 'rubplug_loc';
// On en profite pour stocker dans les paramètres de l'anomalie la rubrique
// auquel elle devrait être rattachée (elle est forcément unique).
$where = array(
'categorie=' . sql_quote($categorie_plugin)
);
if ($id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques', $where)) {
$anomalie['parametres'] = array('id_parent' => $id_rubrique);
}
}
}
} else {

5
ezcheck/controles/contrib_plugin_categorie.yaml

@ -0,0 +1,5 @@
nom: '<:contrib:type_controle_plugin_categorie_nom:>'
description: '<:contrib:type_controle_plugin_categorie_desc:>'
icone: 'plugin-24.png'
fonction:
include: 'contrib_controle'

5
ezcheck/controles/contrib_rubrique_categorie.yaml

@ -0,0 +1,5 @@
nom: '<:contrib:type_controle_rubrique_categorie_nom:>'
description: '<:contrib:type_controle_rubrique_categorie_desc:>'
icone: 'rubrique-24.png'
fonction:
include: 'contrib_controle'

6
ezcheck/dashboards/contrib.yaml

@ -14,4 +14,10 @@ groupes:
identifiant: 'rubrique'
nom: '<:contrib:groupe_contrib_rubrique_nom:>'
controles:
- 'contrib_rubrique_categorie'
- 'contrib_rubrique_plugin'
-
identifiant: 'plugin'
nom: '<:contrib:groupe_contrib_plugin_nom:>'
controles:
- 'contrib_plugin_categorie'

1
inc/contrib_rubrique.php

@ -71,7 +71,6 @@ function rubrique_lire($id_rubrique, $informations = array()) {
*
* @api
*
* @param string $typologie Typologie concernée : categorie, tag...
* @param array $filtres Liste des couples (champ, valeur) ou tableau vide.
* @param array $informations Identifiant d'un champ ou de plusieurs champs de la description d'un type de plugin.
* Si l'argument est vide, la fonction renvoie les descriptions complètes.

5
lang/contrib_fr.php

@ -25,6 +25,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// D
'groupe_contrib_article_nom' => 'Articles',
'groupe_contrib_plugin_nom' => 'Plugins',
'groupe_contrib_rubrique_nom' => 'Rubriques',
// L
@ -46,6 +47,10 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// T
'type_controle_article_prepa_nom' => 'Articles en cours de rédaction',
'type_controle_article_prepa_desc' => 'Les articles sont classés par année, des plus anciens aux plus récents.',
'type_controle_plugin_categorie_nom' => 'Plugins sans catégorie',
'type_controle_plugin_categorie_desc' => 'Ce contrôle permet de lister les plugins non encore affectés à une catégorie.',
'type_controle_rubrique_categorie_nom' => 'Rubriques-catégorie en erreur',
'type_controle_rubrique_categorie_desc' => 'Ce contrôle permet d\'identifier les catégories racine ou feuille qui ne possèdent pas de rubrique correspondante dans le site.',
'type_controle_rubrique_plugin_nom' => 'Rubriques-plugin en erreur',
'type_controle_rubrique_plugin_desc' => 'Ce contrôle permet d\'identifier les rubriques-plugin dont le préfixe est erroné (non référencé par SVP) ou celles qui sont mal positionnées dans l\'arborescence (la catégorie de la rubrique parent n\'est pas celle du plugin).',
);

Loading…
Cancel
Save