voila pour essayer de comprendre mon erreur j'ai essayé de debugger tout ça, je me suis alors rendu compte que la fonction xoops_comment_delete me renvoyait bien "true" :-o
Ce n'est donc pas un probleme d'appel,
je vous met le code ici:
function xoops_comment_delete($module_id, $item_id)
{
if (intval($module_id) > 0 && intval($item_id) > 0) {
$comment_handler =& xoops_gethandler('comment');
$comments =& $comment_handler->getByItemId($module_id, $item_id);
if (is_array($comments)) {
$count = count($comments);
$deleted_num = array();
for ($i = 0; $i < $count; $i++) {
if (false != $comment_handler->delete($comments[$i])) {
// store poster ID and deleted post number into array for later use
$poster_id = $comments[$i]->getVar('com_uid');
if ($poster_id != 0) {
$deleted_num[$poster_id] = !isset($deleted_num[$poster_id]) ? 1 : ($deleted_num[$poster_id] + 1);
}
}
}
$member_handler =& xoops_gethandler('member');
foreach ($deleted_num as $user_id => $post_num) {
// update user posts
$com_poster = $member_handler->getUser($user_id);
if (is_object($com_poster)) {
$member_handler->updateUserByField($com_poster, 'posts', $com_poster->getVar('posts') - $post_num);
}
}
return true;
}
}
return false;
}
Par contre en plaçant des variables de débug je me suis rendu compte que le programme ne rentrait pas dans cette condition "if (false != $comment_handler->delete($comments[$i]))", je débute dans la programmation avec l'api de xoop et je ne comprend pas du tout ce que ca veux dire.
Mais le pire dans tout ca c'est qu'avec la même syntaxe les autres modules fonctionnent, alors il y a un truc qui m'échappe.
J'espère qu'avec les éléments que je vous ai donné certains pourrons me mettre sur le bon chemin.
En tout cas pour le coup moi je sèche
En remerciant d'avance ceux qui m'aiderons