diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php index e020a71b78ac6e5b541fe33ccb7ce068fa5d7074..69ec29122e5dcf0430b197be636a839c5519b212 100644 --- a/ecrire/inc/modifier.php +++ b/ecrire/inc/modifier.php @@ -317,16 +317,18 @@ function revision_forum($id_forum, $c=false) { ), $c); + $t = $t["id_thread"]; + $cles = array(); + foreach (array('id_article', 'id_rubrique', 'id_syndic', 'id_breve') + as $k) { + if (isset($c[$k])) $cles[$k] = $c[$k]; + } // Modification des id_article etc // (non autorise en standard mais utile pour des crayons) // on deplace tout le thread {sauf les originaux}. - if (count($cles = array_intersect(array_keys($c), - array('id_article', 'id_rubrique', 'id_syndic', 'id_breve'))) - ) { - $thread = sql_fetsel("id_thread", "spip_forum", "id_forum=$id_forum"); - foreach ($cles as $k) - sql_updateq("spip_forum", array("$k" => $c[$k]), "id_thread=".$thread['id_thread']." AND statut!='original'"); + if ($cles) { + sql_updateq("spip_forum", $cles, "id_thread=$t AND statut!='original'"); // on n'affecte pas $r, car un deplacement ne change pas l'auteur } @@ -336,7 +338,7 @@ function revision_forum($id_forum, $c=false) { if ($r) { sql_updateq('spip_forum', array('ip'=>($GLOBALS['ip']), 'id_auteur'=>($GLOBALS['visiteur_session']['id_auteur'])),"id_forum=".sql_quote($id_forum)); - sql_update("spip_forum", array("date_thread" => "NOW()"), "id_thread=".$t['id_thread']); + sql_update("spip_forum", array("date_thread" => "NOW()"), "id_thread=".$t); } }