$statut), sql_in("id_forum", $id_messages) ." AND statut = '$old'");
$id_messages = array_map('reset',sql_allfetsel("id_forum", "spip_forum", sql_in("id_parent", $id_messages)));
}
// Notifier de la publication du message, s'il etait 'prop'
if ($old=='prop' AND $statut=='publie') {
if ($notifications = charger_fonction('notifications', 'inc')) {
$notifications('forumvalide', $id_forum);
}
}
// mettre a jour la date du thread
// si publie, ou que tout le thread est prive,
// mettre la date du thread a 'maintenant' (date de publi du message)
// sinon prendre la date_heure du dernier message public
// c'est imparfait dans le cas ou les crayons ont ete utilises pour modifier ce message entre temps
// car la date_thread aurait cette derniere date alors que pas le message
// mais c'est au mieux de ce que l'on peut faire quand on depublie un SPAM ou supprime un message
if ($statut=='publie' OR $old=='publie') {
if ($statut=='publie'
OR !($date_thread = sql_getfetsel("date_heure", "spip_forum", "statut='publie' AND id_thread=".$row['id_thread'], "", "date_heure DESC","0,1"))){
$date_thread = date('Y-m-d H:i:s');
}
sql_updateq("spip_forum", array("date_thread" => $date_thread), "id_thread=".$row['id_thread']);
}
// invalider les pages comportant ce forum
include_spip('inc/invalideur');
include_spip('inc/forum');
$index_forum = calcul_index_forum($row['id_article'], $row['id_breve'], $row['id_rubrique'], $row['id_syndic']);
suivre_invalideur("id='id_forum/$index_forum'");
// Reindexation du thread (par exemple)
pipeline('post_edition',
array(
'args' => array(
'table' => 'spip_forum',
'id_objet' => $id_forum,
'action' => 'instituer',
),
'data' => null
)
);
}
?>