Browse Source

Ajout d'un pipeline post_affectation_plugin.

Mise à jour du fichier json categorie-plugin de tests.
Ajout du traitement des erreurs json lors de l'importation.
master
Eric Lupinacci 4 years ago
parent
commit
218efeb6a4
  1. 10
      formulaires/importer_typologie.php
  2. 12
      inc/svptype_plugin.php
  3. 3
      paquet.xml
  4. 1680
      tests/categorie-plugin.json

10
formulaires/importer_typologie.php

@ -77,6 +77,7 @@ function formulaires_importer_typologie_traiter($typologie) {
// Initialisation du retour de traitement du formulaire (message, editable).
$retour = array();
$resultat_import = false;
$erreur_json = '';
// Récupération des saisies
$vue = _request('vue_import');
@ -98,7 +99,11 @@ function formulaires_importer_typologie_traiter($typologie) {
@unlink($fichier);
// -- Décodage du contenu JSON en tableau PHP.
$liste = json_decode($contenu, true);
try {
$liste = json_decode($contenu, true);
} catch (Exception $erreur) {
$erreur_json = $erreur->getMessage();
}
// -- Importation du tableau représentant la typologie.
if ($liste) {
@ -125,7 +130,8 @@ function formulaires_importer_typologie_traiter($typologie) {
$vue
);
} else {
$retour['message_erreur'] = _T('svptype:import_message_nok');
$retour['message_erreur'] = _T('svptype:import_message_nok')
. ($erreur_json ? "(${erreur_json})" : '');
// On reste sur la page d'importation pour visualiser l'erreur.
$redirect = '';
}

12
inc/svptype_plugin.php

@ -46,6 +46,18 @@ function plugin_affecter($plugin, $id_mot, $typologie) {
);
if (sql_insertq('spip_plugins_typologies', $set) === false) {
$retour = false;
} else {
pipeline(
'post_affectation_plugin',
array(
'args' => array(
'typologie' => $typologie,
'prefixe' => $prefixe,
'id_mot' => $id_mot,
),
'data' => array()
)
);
}
return $retour;

3
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="svptype"
categorie="outil"
version="0.2.0"
version="0.2.1"
etat="test"
compatibilite="[3.3.0-dev;3.3.*]"
logo="svptype_logo-64.png"
@ -29,6 +29,7 @@
<pipeline nom="declarer_collections_svp" inclure="svptype_pipelines.php" />
<pipeline nom="post_collection_svp" inclure="svptype_pipelines.php" />
<pipeline nom="post_ressource_svp" inclure="svptype_pipelines.php" />
<pipeline nom="post_affectation_plugin" action="" />
<necessite nom="svp" compatibilite="[2.0.7;[" />
<necessite nom="mots" compatibilite="[2.11.0;[" />

1680
tests/categorie-plugin.json

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save