15,7 → 15,8 |
*/ |
|
class ListeProtocoles extends RestService { |
|
|
|
private $conteneur; |
private $navigation; |
private $masque; |
23,7 → 24,7 |
protected $bdd; |
private $parametres = array(); |
private $ressources = array(); |
|
|
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_mapping_votes.ini'); |
32,10 → 33,10 |
$this->gestionBdd = $conteneur->getGestionBdd(); |
$this->bdd = $this->gestionBdd->getBdd(); |
} |
|
|
/** |
* Méthode principale de la classe. |
* Lance la récupération des protocoles dans la base et les place dans un objet ResultatService |
* Lance la récupération des protocoles dans la base et les place dans un objet ResultatService |
* pour l'afficher. |
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2) |
* @param array $parametres les paramètres situés après le ? dans l'url |
42,20 → 43,20 |
* */ |
public function consulter($ressources, $parametres) { |
$this->initialiserRessourcesEtParametres($ressources, $parametres); |
|
|
// Gestion des configuration du script |
$this->configurer(); |
$this->verifierConfiguration(); |
|
|
$protocoles = $this->chargerProtocoles(); |
$protocoles = $this->formaterProtocoles($protocoles); |
$this->navigation->setTotal(count($protocoles)); |
|
|
$resultat = new ResultatService(); |
$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $protocoles); |
return $resultat; |
} |
|
|
private function initialiserRessourcesEtParametres($ressources, $parametres) { |
$this->ressources = $ressources; |
$this->parametres = $parametres; |
69,11 → 70,12 |
private function configurer() { |
$this->mappingVotes = $this->conteneur->getParametre('mapping_votes'); |
} |
|
|
/** |
* Vérifier que le service est bien configuré |
* Vérifier que le service est bien configuré |
* */ |
private function verifierConfiguration() { |
|
if (empty($this->mappingVotes)) { |
$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_votes] ou celui-ci est vide ;'; |
} else { |
81,10 → 83,10 |
foreach ($champsMappingVotes as $champ) { |
if (!isset($this->mappingVotes[$champ])) { |
$erreurs[] = '- le mapping du champ "'.$champ.'" pour les votes est manquant ;'; |
} |
} |
} |
} |
|
|
$parametres_autorises = array('navigation.depart', 'navigation.limite'); |
foreach ($this->parametres as $cle => $valeur) { |
if($cle != 'navigation.depart' && $cle != 'navigation.limite') { |
92,7 → 94,7 |
break; |
} |
} |
|
|
if (!empty($erreurs)) { |
$e = 'Erreur lors de la configuration : '."\n"; |
$e .= implode("\n", $erreurs); |
99,9 → 101,9 |
throw new Exception($e, RestServeur::HTTP_CODE_ERREUR); |
} |
} |
|
|
/*------------------------------------------------------------------------------- |
CHARGEMENT DES PROTOCOLES |
CHARGEMENT DES PROTOCOLES |
--------------------------------------------------------------------------------*/ |
/** |
* Chargement depuis la bdd de tous les protocoles ainsi que leur descriptif |
110,11 → 112,11 |
$requeteProtocoles = 'SELECT * FROM del_image_protocole'; |
return $this->bdd->recupererTous($requeteProtocoles); |
} |
|
|
/*------------------------------------------------------------------------------- |
FORMATER ET METTRE EN FORME |
--------------------------------------------------------------------------------*/ |
|
|
/** |
* Formater les protocoles |
* @param array $protocoles les protocoles |
129,10 → 131,10 |
} |
$protocolesRetour[$idProtocole] = $protocoleFormate; |
} |
|
|
return $protocolesRetour; |
} |
|
|
private function proteger($valeur) { |
if (is_array($valeur)) { |
return $this->bdd->protegerTableau($valeur); |