23,6 → 23,7 |
private $parametres = array(); |
|
private $mapping = array(); |
private $erreurs = array(); |
|
public function __construct(Conteneur $conteneur) { |
$this->conteneur = $conteneur; |
48,13 → 49,27 |
} |
|
private function verifierParametres() { |
$erreurs = array(); |
|
if (!isset($this->parametres['observation'])) { |
$erreurs[] = "Impossible d'ajouter un commentaire sans identifiant d'observation (paramètre 'observation')."; |
$this->erreurs[] = "Impossible d'ajouter un commentaire sans identifiant d'observation (paramètre 'observation')."; |
} |
|
if (!isset($this->parametres['auteur.id'])) { |
$this->verifierParamsAuteurAnonyme(); |
} |
|
$this->verifierParamsNonVide(); |
|
if (isset($this->parametres['nom_sel_nn']) && !isset($this->parametres['nom_referentiel'])) { |
$this->erreurs[] = "Si le paramètre «nom_sel_nn» est présent, le paramètre «nom_referentiel» doit l'être aussi."; |
} |
|
if (!empty($this->erreurs)) { |
$msg = "Erreur de configuration :\n".implode("\n\n", $this->erreurs); |
throw new Exception($msg, RestServeur::HTTP_CODE_MAUVAISE_REQUETE); |
} |
} |
|
private function verifierParamsAuteurAnonyme() { |
$paramsAuteur = array('auteur.nom', 'auteur.prenom', 'auteur.courriel'); |
$paramsAuteurManquant = array(); |
foreach ($paramsAuteur as $param) { |
62,22 → 77,21 |
$paramsAuteurManquant[] = $param; |
} |
} |
|
if (!empty($paramsAuteurManquant)) { |
$msgAuteurTpl = "Si le parametre 'auteur.id' n'est pas utilisé, il est nécessaire d'indiquer les ". |
"nom (paramètre 'auteur.nom'), prénom (paramètre 'auteur.prenom') et courriel ". |
"(paramètre 'auteur.courriel') de l'auteur.\nLes paramètres suivant sont abscents : %s\n"; |
$erreurs[] = sprintf($msgAuteurTpl, implode(', ', $paramsAuteurManquant)); |
$this->erreurs[] = sprintf($msgAuteurTpl, implode(', ', $paramsAuteurManquant)); |
} |
} |
|
if (isset($this->parametres['nom_sel']) && trim($this->parametres['nom_sel']) == '' ) { |
$erreurs[] = "S'il est présent le paramètre «nom_sel» ne peut pas être vide."; |
private function verifierParamsNonVide() { |
$paramsNonVide = array('nom_sel', 'nom_referentiel', 'nom_sel_nn'); |
foreach ($paramsNonVide as $param) { |
if (isset($this->parametres[$param]) && trim($this->parametres[$param]) == '' ) { |
$this->erreurs[] = "S'il est présent le paramètre «$param» ne peut pas être vide."; |
} |
|
//TODO : Gérer le cas d'une proposition |
if (!empty($erreurs)) { |
$msg = "Erreur de configuration :\n".implode("\n\n", $erreurs); |
throw new Exception($msg, RestServeur::HTTP_CODE_MAUVAISE_REQUETE); |
} |
} |
|