15,8 → 15,7 |
*/ |
|
class ListeProtocoles extends RestService { |
|
|
|
private $conteneur; |
private $navigation; |
private $masque; |
24,7 → 23,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'); |
33,10 → 32,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 |
43,20 → 42,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; |
70,12 → 69,11 |
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 { |
83,10 → 81,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') { |
94,7 → 92,7 |
break; |
} |
} |
|
|
if (!empty($erreurs)) { |
$e = 'Erreur lors de la configuration : '."\n"; |
$e .= implode("\n", $erreurs); |
101,9 → 99,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 |
112,11 → 110,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 |
131,10 → 129,10 |
} |
$protocolesRetour[$idProtocole] = $protocoleFormate; |
} |
|
|
return $protocolesRetour; |
} |
|
|
private function proteger($valeur) { |
if (is_array($valeur)) { |
return $this->bdd->protegerTableau($valeur); |