Skip to content

@return inc_envoyer_mail : bool vs array

La déclaration de inc_envoyer_mail indique @return: bool , mais cette fonction (et donc facteur_envoyer_mail qui est également sensé renvoyer un bool, et donc $facteur->Send) retourne parfois, avec mailjet du moins, un tableau associatif ayant une seule clé 'Sent' valant elle même un tableau. Par exemple :

[ 0 => [
      Email => unemail@truc.ext
      MessageID => 288230402268336594
      MessageUUID => e9c53de1-150d-412d-b443-0b653b70d827
 ],
 1 => [
      Email => autremail@truc.ext
      MessageID => 1152921530725460000
      MessageUUID => fe4e1d65-ce3a-4a03-96d8-84e99c0821fa
    ]
 ]

En remontant sur plusieurs générations le code des fonctions héritées déclarant un @return bool, on arrive à sendAlertIfNeeded qui @return mixed ce qu'il a reçu, à savoir un tableau,

Send contient en effet (entre autres cas plus ou moins similaires) :

if (isset($res['Sent']) AND count($res['Sent'])){
   return $this->sendAlertIfNeeded($res);
}

Il faudrait donc corriger les @return types de toutes ces fonctions, en array|bool... ainsi que dans la dist ?

Modification effectuée par JLuc