45,6 → 45,7 |
public function consulter($ressources, $parametres) { |
$this->ressources = $ressources; |
$this->parametres = $parametres; |
$this->verifierParametres(); |
$this->initialiserConfiguration(); |
$resultats = ''; |
$this->traiterRessources(); |
74,6 → 75,8 |
$this->definirTable($this->version); |
} |
|
|
|
abstract function definirTable($version); |
|
|
94,28 → 97,59 |
} |
return $tableau; |
} |
|
|
//+--------------------------traitement ressources ou paramètres -------------------------------------------+ |
|
//+---- paramètres ----+ |
|
private function verifierParametres() { |
if (isset($this->parametres)) { |
$parametres_dispo = array('retour', 'retour.format', 'version.projet'); |
$parametres = array_keys($this->parametres); |
foreach ($parametres as $param) { |
if (!in_array($param, $parametres_dispo)) { |
$erreur = "Erreur : Le paramètre $param est inconnu."; |
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; |
throw new Exception($erreur, $code); |
} |
} |
} |
|
} |
|
//on n'affiche qu'une version de graphique à la fois ( la dernière ou celle demandée ) |
private function definirVersion() { |
$this->chargerVersions(); |
if( (!isset($this->parametres['version.projet']) ) || ((isset($this->parametres['version.projet']) )&& |
(($this->parametres['version.projet'] == '+') || ($this->parametres['version.projet'] == '')))){ |
if (!isset($this->parametres['version.projet']) ) { |
$this->version = $this->metadonnees[0]['version']; |
} elseif ($this->parametres['version.projet'] == '+') { |
$this->version = $this->metadonnees[0]['version']; |
} else { |
$this->version = $this->parametres['version.projet']; |
if($this->verifierVersion($this->parametres['version.projet'])) { |
$this->version = $this->parametres['version.projet']; |
}else { |
$erreur = "Erreur : La version est inconnue."; |
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; |
throw new Exception($erreur, $code); |
} |
} |
} |
|
private function verifierVersion($version){ |
$retour = false; |
foreach ($this->metadonnees as $vers) { |
if ($vers['version'] == $version ) { |
$retour = true; |
} |
} |
return $retour; |
} |
private function definirFormat() { |
if (isset($this->parametres['retour.format']) ){ |
if (preg_match("/^[0-9]+$/", $this->parametres['retour.format'])){ |
$this->largeurSVG = $this->parametres['retour.format']; |
}else { |
$erreur = "Erreur : Entrez la largeur voulue (en pixels) pour le paramètre retour.format."; |
$erreur = "Erreur : valeur inconnue. Entrez la largeur voulue (en pixels) pour le paramètre retour.format."; |
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; |
throw new Exception($erreur, $code); |
} |
125,7 → 159,7 |
|
}else { |
if (( $this->parametres['retour'] != 'image/svg+xml')&& ( $this->parametres['retour'] != 'image/png')){ |
$erreur = "Erreur : choisissez le format de retour pour le paramètre retour : image/svg%2Bxml ou image/png."; |
$erreur = "Erreur : valeur inconnue. Choisissez le format de retour pour le paramètre retour : image/svg%2Bxml ou image/png."; |
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; |
throw new Exception($erreur, $code); |
} |