7 changed files with 103 additions and 26 deletions
@ -1,16 +0,0 @@
|
||||
<?php |
||||
if (!defined('_ECRIRE_INC_VERSION')) { |
||||
return; |
||||
} |
||||
|
||||
function contrib_article_prepa($id_controle, $id_auteur) { |
||||
|
||||
|
||||
return true; |
||||
} |
||||
|
||||
function contrib_rubrique_prefixe($id_controle, $id_auteur) { |
||||
|
||||
|
||||
return true; |
||||
} |
@ -0,0 +1,84 @@
|
||||
<?php |
||||
if (!defined('_ECRIRE_INC_VERSION')) { |
||||
return; |
||||
} |
||||
|
||||
function contrib_article_prepa($id_controle, $id_auteur, $options) { |
||||
|
||||
// Initialisation de l'erreur à chaine vide soit 'aucune erreur'. |
||||
$erreur = ''; |
||||
|
||||
return $erreur; |
||||
} |
||||
|
||||
function contrib_rubrique_plugin($id_controle, $id_auteur, $options) { |
||||
|
||||
// Initialisation de l'erreur à chaine vide soit 'aucune erreur'. |
||||
$erreur = ''; |
||||
|
||||
// Pour limiter le nombre de rubriques récupérées d'un coup, on boucle par secteur-plugin. |
||||
// -- les secteurs-plugin |
||||
include_spip('inc/contrib_rubrique'); |
||||
$secteurs_plugin = rubrique_lister_secteur_plugin(); |
||||
|
||||
// Pour limiter le nombre de rubriques récupérées, on boucle par secteur. |
||||
foreach ($secteurs_plugin as $_id_secteur) { |
||||
// -- on récupère les rubriques-plugin en excluant les rubriques-plugin sans préfixe qui peuvent exister |
||||
// sans être une erreur. |
||||
$filtres = array( |
||||
'id_secteur' => intval($_id_secteur), |
||||
'prefixe' => '!', |
||||
'profondeur' => 2 |
||||
); |
||||
$informations = array('id_rubrique', 'id_parent', 'prefixe'); |
||||
$rubriques_plugin = rubrique_repertorier($filtres, $informations); |
||||
if ($rubriques_plugin) { |
||||
include_spip('inc/svp_plugin'); |
||||
include_spip('inc/contrib_plugin'); |
||||
|
||||
foreach ($rubriques_plugin as $_rubrique) { |
||||
if ($_rubrique['prefixe']) { |
||||
// Initialisation par défaut d'une anomalie |
||||
$anomalie = array( |
||||
'id_controle' => $id_controle, |
||||
'objet' => 'rubrique', |
||||
'id_objet' => $_rubrique['id_rubrique'], |
||||
'gravite' => 'e', |
||||
'code' => '', |
||||
'statut' => 'publie', |
||||
'date' => date('Y-m-d H:i:s'), |
||||
'parametres' => serialize(array()) |
||||
); |
||||
|
||||
// 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 |
||||
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 génère une anomalie |
||||
$anomalie['code'] = 'rubplug_loc'; |
||||
} |
||||
} |
||||
} else { |
||||
// Le préfixe du plugin n'est pas connu du référentiel SVP |
||||
// - on génère une anomalie |
||||
$anomalie['code'] = 'rubplug_pfx'; |
||||
} |
||||
|
||||
// Si une anomalie a été détectée on l'ajoute dans la base |
||||
if ($anomalie['code']) { |
||||
objet_inserer('observation', null, $anomalie); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
return $erreur; |
||||
} |
@ -0,0 +1,5 @@
|
||||
nom: '<:contrib:type_controle_rubrique_plugin_nom:>' |
||||
description: '<:contrib:type_controle_rubrique_plugin_desc:>' |
||||
icone: 'rubrique-24.png' |
||||
fonction: |
||||
include: 'contrib_controle' |
@ -1,7 +0,0 @@
|
||||
nom: '<:contrib:type_controle_rubrique_prefixe_nom:>' |
||||
description: '<:contrib:type_controle_rubrique_prefixe_desc:>' |
||||
icone: 'rubrique-24.png' |
||||
fonction: |
||||
include: 'contrib_controle' |
||||
periode: 'jour' |
||||
priorite: '1' |
@ -0,0 +1,11 @@
|
||||
<?php |
||||
// This is a SPIP language file -- Ceci est un fichier langue de SPIP |
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) { |
||||
return; |
||||
} |
||||
$GLOBALS[$GLOBALS['idx_lang']] = array( |
||||
// A |
||||
'anomalie_rubplug_loc' => 'Rubrique mal placée', |
||||
'anomalie_rubplug_pfx' => 'Préfixe erroné', |
||||
); |
Loading…
Reference in new issue