<?php /** * SoapError - Gère les erreurs SOAP * @package SoapError * @author Michael RICOIS * @copyright Scores&Decisions */ require_once 'phpmailer/class.phpmailer.php'; /** * Recupère les erreurs SOAP et les traite. * @param string $lastRequest * @param string $lastResponse * @param array $fault * @param bool $debug * @return string */ function processSoapFault($clientSoap, $fault, $tabInfo, $debug = FALSE){ global $firephp; $message = 'Request : '. htmlspecialchars($clientSoap->__getLastRequest()) . '<br/><br/>' . 'Response : '. htmlspecialchars($clientSoap->__getLastResponse()) . '<br/><br/>'; if(is_object($fault)){ }else{ foreach ($fault as $key => $value){ $message.= $key .' : '. $value . '<br/><br/>';} } $message.= '<br/>'; $message.= 'Informations de debug : <br/>'; $message.= '<pre>'; $message.= 'REQUEST : '.print_r($_REQUEST,true).'<br/><br/>'; $message.= 'SERVER : '.print_r($_REQUEST,true).'<br/><br/>'; $message.= 'SESSION : '.print_r($_SESSION,true).'<br/><br/>'; $message.= 'tabInfo : '.print_r($tabInfo,true).'<br/><br/>'; $message.= '</pre>'; if($debug == TRUE){ print '<pre>'; print $message; print '</pre>'; }else{ mailSoapFault($message); print messageSoapFault(); } } /** * Affiche un message d'erreur sympatique pour le client. * @return string */ function messageSoapFault(){ (defined('ERROR_SOAP')) ? ($message = ERROR_SOAP) : ($message = "Une erreur est survenue lors de votre requête") ; return $message; } /** * Envoi de l'erreur Soap par mail. * @param string $message * @return void */ function mailSoapFault($message){ $mail = new PHPMailer(); $mail->From = "contact@scores-decisions.com"; $mail->FromName = "Serveur SD-13408"; $mail->Host = "mail.scores-decisions.com"; $mail->Mailer = "smtp"; $mail->Subject = "Erreur SOAP - (Date :".date("d")."/".date("m")."/".date("Y").")"; $body = $message; $mail->MsgHTML($body); $mail->AddAddress(EMAIL_SUPPORTDEV, "Support"); if(!$mail->Send()) { //logSoapFault($mail->ErrorInfo); } } /** * Fonction qui enregistre les messages d'erreur dans un log. * @param string $message * @return void */ function logSoapFault($message){ echo $message; } ?>