Ajout tableau et fonction pour la normalisation des erreurs

This commit is contained in:
Michael RICOIS 2011-02-02 14:53:25 +00:00
parent 1ae833b22a
commit d5164577fc

View File

@ -60,6 +60,23 @@ class WsScore
'VOIRSURV' => 'Afficher les entités sous surveillances',
);
protected $listError = array(
'0900' => 'Identifiant ou mot de passe incorrect !',
'0901' => 'Accès WS non authorisé pour cette utilisateur !',
'0902' => 'Méthode non authorisée dans votre profil !',
'3000' => 'Service disponible',
'9000' => 'Service S&D indisponible',
'9001' => 'Service partenaire indisponible',
'9002' => 'Méthode provisoirement indisponible',
'9010' => 'Fichier indisponible',
'9020' => 'Requête incorrecte',
);
public function __construct()
{
define ('DATETIME', date('YmdHis'));
@ -73,6 +90,17 @@ class WsScore
$this->dbConfig = $dbConfig->db;
}
protected function sendError($code)
{
$message = 'Erreur inconnue';
if (array_key_exists($code, $listError)){
$message = $listError[$code];
}
throw new SoapFault($code,$message);
exit;
}
/**
* Enregistre l'appel utilisateur à une méthode
* @param $service
@ -115,16 +143,14 @@ class WsScore
$_SERVER['PHP_AUTH_PW'],
$_SERVER['REMOTE_ADDR']))
{
throw new SoapFault('900','Identifiant ou mot de passe incorrect !');
exit;
$this->sendError('0900');
}
}
protected function permission($perm)
{
if ( !$this->checkPerm($perm) ){
throw new SoapFault('902','Méthode non authorisée dans votre profil !');
exit;
$this->sendError('0902');
}
}
@ -138,8 +164,7 @@ class WsScore
//Vérifier que l'utilisateur à le droit accesWS (clients/utilisateurs)
$accesWs = $this->tabInfoUser['accesWS'];
if ($accesWs){
throw new SoapFault('901','Accès WS non authorisé pour cette utilisateur !');
exit;
$this->sendError('0901');
}
}