Comment savoir quels modules sont appelés par un module_invoke_all

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour

J'ai un problème avec ubercart et le calcul du montant total.
14€ sont otés sur la page checkout/review.

Après avoir débuggé, j'ai vu que le problème venait de la fonction

function uc_order_get_total($order, $products_only = FALSE) {
  $total = 0;

  if (is_array($order->products)) {
    foreach ($order->products as $product) {
      $total += $product->price * $product->qty;
    }
  }

  if ($products_only) {
    return $total;
  }

  $total += uc_line_items_calculate($order);

  $result = module_invoke_all('order', 'total', $order, NULL);
  foreach ($result as $key => $value) {
    $total += $value;
  }

  return $total;
}

Après la ligne $result = module_invoke_all('order', 'total', $order, NULL);
J'obtiens un tableau comme celui-ci

$result[+1]='First'
$result[+2]='Second'
$result[+3]='Third'
$result[+4]='Fourth'
$result[+5]='Fifth'
$result[0]='Last'
$result[1]=-2
$result[2]=-3
$result[3]=-4
$result[5]=-5

Quand PHP passe dans le foreach, mon total est altéré de 14€ (-2+-3+-4+-5=14)

Comment puis-je savoir quel module pose problème?
Et surtout quels sont les modules invoqués ?

Merci d'avance

Forum : 
Version de Drupal : 

Avec le debugger php ça permet de voir dans quels modules on passe. J'ai réussi à trouver le problème. Il s'agissait d'une mise à jour du module date qui appelait une fonction date_order() qui n'a rien à voir avec le hook_order de ubercart.