|
|
|
@ -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); |
|
|
|
|
} |
|
|
|
|