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');