From 4ad021c4c93606bb1377232ffef146d70c7264fb Mon Sep 17 00:00:00 2001 From: Pierre Date: Wed, 12 Feb 2020 00:40:48 +0100 Subject: [PATCH] =?UTF-8?q?des=20complications=20li=C3=A9es=20=C3=A0=20la?= =?UTF-8?q?=20gestion=20de=20plusieurs=20groupes=20de=20mots=20issue=20de?= =?UTF-8?q?=20fip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/editer_post.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/formulaires/editer_post.php b/formulaires/editer_post.php index c5c6d58..1d9b8b2 100644 --- a/formulaires/editer_post.php +++ b/formulaires/editer_post.php @@ -162,6 +162,7 @@ function formulaires_editer_post_traiter_dist($id_article = 0, $redirect = ''){ // maj des mots fermes $T_id_groupe = sql_allfetsel('id_groupe','spip_groupes_mots','grigri!="tags"'); $T_id_groupe = array_column($T_id_groupe,'id_groupe'); + $T_ids_mots = array(); foreach ($T_id_groupe as $id_groupe) { $from = array( @@ -177,14 +178,22 @@ function formulaires_editer_post_traiter_dist($id_article = 0, $redirect = ''){ $ids_mots = sql_allfetsel('M.id_mot AS id_mot', $from, $where); $ids_mots = array_column($ids_mots, 'id_mot'); - $coches = _request('id_emplacements'); - - $associer = array_diff($coches, $ids_mots); - $dissocier = array_diff($ids_mots, $coches); + foreach($ids_mots as $id_mot){ + $T_ids_mots[] = $id_mot; + } + } + + $coches = _request('id_emplacements'); + + if (count($coches)){ + $associer = array_diff($coches, $T_ids_mots); + $dissocier = array_diff($T_ids_mots, $coches); objet_associer(array('mot' => $associer),array('article' => intval($id_article))); objet_dissocier(array('mot' => $dissocier), array('article' => intval($id_article))); - + } + else{ + objet_dissocier(array('mot' => $T_ids_mots), array('article' => intval($id_article))); } include_spip('action/editer_objet');