* @author Jean-Pascal MILCENT * @author Aurelien PERONNET * @license GPL v3 * @license CECILL v2 * @copyright 1999-2014 Tela Botanica */ class ListeProtocoles { private $conteneur; private $navigation; private $bdd; private $mapping = array(); public function __construct(Conteneur $conteneur = null) { $this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; $this->navigation = $conteneur->getNavigation(); $this->bdd = $this->conteneur->getBdd(); } public function consulter() { // Gestion des configuration du script $this->mapping = $this->conteneur->getParametreTableau('protocoles.mapping'); $protocoles = $this->chargerProtocoles(); $protocoles = $this->formaterProtocoles($protocoles); $this->navigation->setTotal(count($protocoles)); $resultat = new ResultatService(); $resultat->corps = array( 'entete' => $this->navigation->getEntete(), 'resultats' => $protocoles); return $resultat; } private function chargerProtocoles() { $requete = 'SELECT * FROM del_image_protocole -- '.__FILE__.' : '.__LINE__; return $this->bdd->recupererTous($requete); } private function formaterProtocoles($protocoles) { $protocolesRetour = array(); foreach ($protocoles as $protocole) { $protocoleFormate = array(); $idProtocole = $protocole['id_protocole']; foreach($protocole as $champProtocole => $valeur) { if (isset($this->mapping[$champProtocole])) { $protocoleFormate[$this->mapping[$champProtocole]] = $valeur; } } $protocolesRetour[$idProtocole] = $protocoleFormate; } return $protocolesRetour; } }