From: Florent Bruneau Date: Sun, 12 Dec 2010 20:49:06 +0000 (+0100) Subject: Produce errors in case of RPC failures. X-Git-Tag: core/1.1.2~18^2~3 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=e10ca15e8c617074740e5e7868e3eb8e3d69e883;p=platal.git Produce errors in case of RPC failures. Signed-off-by: Florent Bruneau --- diff --git a/classes/xmlrpcclient.php b/classes/xmlrpcclient.php index c359730..bcd4e23 100644 --- a/classes/xmlrpcclient.php +++ b/classes/xmlrpcclient.php @@ -107,6 +107,13 @@ class XmlrpcClient if ($this->bt) { $this->bt->stop(); } + if (is_null($answer)) { + Platal::page()->trigError("L'accès aux listes de diffusion n'est pas disponible actuellement."); + $this->bt->update(0, "Connection failed"); + return null; + } + Platal::assert(starts_with($answer, 'HTTP/1.0 200 OK'), "HTTP Error:\n" . $answer, + "Une erreur est survenue lors de l'accès aux listes de diffusion."); $result = $this->find_and_decode_xml($answer); if ($this->bt) { if (is_array($result) && isset($result['faultCode'])) { @@ -114,6 +121,10 @@ class XmlrpcClient } else { $this->bt->update(count($result)); } + } else { + Platal::assert(!is_array($result) && isset($result['faultCode']), + "RPC Error:\n" . $result['faultString'], + "Une erreur est survenue lors de l'accès aux listes de diffusion."); } if (is_array($result) && isset($result['faultCode'])) {