des complications liées à la gestion de plusieurs groupes de mots issue de fip

This commit is contained in:
Pierre 2020-02-12 00:40:48 +01:00
parent bf30d984a0
commit 4ad021c4c9

View file

@ -162,6 +162,7 @@ function formulaires_editer_post_traiter_dist($id_article = 0, $redirect = ''){
// maj des mots fermes // maj des mots fermes
$T_id_groupe = sql_allfetsel('id_groupe','spip_groupes_mots','grigri!="tags"'); $T_id_groupe = sql_allfetsel('id_groupe','spip_groupes_mots','grigri!="tags"');
$T_id_groupe = array_column($T_id_groupe,'id_groupe'); $T_id_groupe = array_column($T_id_groupe,'id_groupe');
$T_ids_mots = array();
foreach ($T_id_groupe as $id_groupe) { foreach ($T_id_groupe as $id_groupe) {
$from = array( $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 = sql_allfetsel('M.id_mot AS id_mot', $from, $where);
$ids_mots = array_column($ids_mots, 'id_mot'); $ids_mots = array_column($ids_mots, 'id_mot');
foreach($ids_mots as $id_mot){
$T_ids_mots[] = $id_mot;
}
}
$coches = _request('id_emplacements'); $coches = _request('id_emplacements');
$associer = array_diff($coches, $ids_mots); if (count($coches)){
$dissocier = array_diff($ids_mots, $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_associer(array('mot' => $associer),array('article' => intval($id_article)));
objet_dissocier(array('mot' => $dissocier), 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'); include_spip('action/editer_objet');