Browse Source

Corriger les controles sur les rubriques et ajout du résultat pour le controle des pllugins sans catégorie.

master
Eric Lupinacci 3 years ago
parent
commit
42adbb070f
  1. 32
      ezcheck/controles/contrib_controle.php
  2. 7
      ezcheck/controles/contrib_plugin_categorie.html

32
ezcheck/controles/contrib_controle.php

@ -4,9 +4,13 @@ if (!defined('_ECRIRE_INC_VERSION')) {
}
/**
* 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).
*
* @param $id_controle
* @param $id_auteur
* @param $options
*
* @return string
*/
function contrib_rubrique_plugin($id_controle, $id_auteur, $options) {
@ -93,9 +97,13 @@ function contrib_rubrique_plugin($id_controle, $id_auteur, $options) {
}
/**
* Ce contrôle permet d'identifier les catégories racine ou feuille qui ne possèdent pas de rubrique
* correspondante dans le site.
*
* @param $id_controle
* @param $id_auteur
* @param $options
*
* @return string
*/
function contrib_rubrique_categorie($id_controle, $id_auteur, $options) {
@ -105,11 +113,12 @@ function contrib_rubrique_categorie($id_controle, $id_auteur, $options) {
// Récupération de tous les types de plugin de la typologie 'categorie' avec leur identifiant et leur
// profondeur
$typologie = 'categorie';
include_spip('inc/svptype_type_plugin');
$categories = type_plugin_repertorier(
'categorie',
$typologie,
array(),
array('identifiant', 'profondeur')
array('identifiant', 'profondeur', 'id_mot')
);
// On boucle sur chacune des catégories en recherchant dans les rubriques si il en existe une dont le champ
@ -128,13 +137,12 @@ function contrib_rubrique_categorie($id_controle, $id_auteur, $options) {
array('categorie' => $_categorie['identifiant']),
array('id_rubrique')
);
$rubriques = array_column($rubriques, 'id_rubrique');
if (count($rubriques) != 1) {
// C'est forcément une erreur. On détermine le préfixe de l'erreur en fonction de la profondeur
// du type de plugin (0 ou 1)
$prefixe_anomalie = $_categorie['profondeur'] == 0
? 'rubcat0'
: 'rubcat1';
$prefixe_anomalie = "rubcat{$_categorie['profondeur']}";
// Suivant que la rubrique est introuvable ou que plusieurs rubriques ont la même catégorie on complète
// le code de l'anomalie
@ -142,10 +150,20 @@ function contrib_rubrique_categorie($id_controle, $id_auteur, $options) {
. '_'
. (!$rubriques ? 'abs' : 'exc');
// On complète la description de l'anomalie et on la crée.
// On complète la description de l'anomalie avec l'objet et les paramètres
// et on la crée.
$anomalie['objet'] = $_categorie['identifiant'];
$anomalie['url_objet'] = parametre_url(
parametre_url(
generer_url_ecrire('type_plugin'),
'typologie',
$typologie
),
'id_mot',
$_categorie['id_mot']
);
if ($rubriques) {
$anomalie['parametres'] = array('rubriques' => $rubriques);
$anomalie['parametres'] = array('rubriques' => implode(', ', $rubriques));
}
observation_ajouter('anomalie', $id_controle, $anomalie);
}

7
ezcheck/controles/contrib_plugin_categorie.html

@ -0,0 +1,7 @@
[(#REM) <!-- Liste des plugins n'ayant aucune affectation pour la typologie concernée --> ]
[(#SET{filtre, #VAL{categorie}|plugin_elaborer_condition})]
<INCLURE{fond=prive/objets/liste/plugins,
where=#GET{filtre},
par=prefixe,
env, ajax} />
Loading…
Cancel
Save