23,10 → 23,13 |
private $masque; |
private $gestionBdd; |
private $bdd; |
private $parametres = array(); |
private $ressources = array(); |
|
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_departements.ini'); |
$this->conteneur->chargerConfiguration('config_votes.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
41,6 → 44,7 |
* @param array $parametres les paramètres situés après le ? dans l'url |
* */ |
public function consulter($ressources, $parametres) { |
$this->initialiserRessourcesEtParametres($ressources, $parametres); |
|
// Gestion des configuration du script |
$this->configurer(); |
59,6 → 63,10 |
return $resultat; |
} |
|
private function initialiserRessourcesEtParametres($ressources, $parametres) { |
$this->ressources = $ressources; |
$this->parametres = $parametres; |
} |
/*------------------------------------------------------------------------------- |
CONFIGURATION DU SERVICE |
--------------------------------------------------------------------------------*/ |
68,6 → 76,7 |
public function configurer() { |
$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque'); |
$this->mappingObservation = $this->conteneur->getParametre('mapping_observation'); |
$this->mappingVotes = $this->conteneur->getParametre('mapping_votes'); |
} |
|
/** |
253,12 → 262,11 |
* */ |
private function chargerVotes($images) { |
|
if (sizeof($this->imageIds) > 0) { |
$chaineImageIds = implode(',', $this->imageIds); |
|
|
$requeteVotes = 'SELECT * FROM '. |
$this->gestionBdd->formaterTable('del_image_vote'). |
'WHERE ce_image IN ('.$chaineImageIds.')'; |
'WHERE '.$this->chargerClauseWhereVotes(); |
$resultatsVotes = $this->bdd->recupererTous($requeteVotes); |
|
|
270,11 → 278,21 |
$images[$id]['votes'] = $votes[$image['id_image']]; |
} |
} |
} |
|
return $images; |
} |
|
private function chargerClauseWhereVotes() { |
if (sizeof($this->imageIds) > 0) { |
$chaineImageIds = implode(',', $this->imageIds); |
$where[] = 'ce_image IN ('.$chaineImageIds.')'; |
} |
if (isset($this->parametres['protocole'])) { |
$where[] = 'ce_protocole = '.$this->proteger($this->parametres['protocole']); |
} |
return implode(' AND ', $where); |
} |
|
/*------------------------------------------------------------------------------- |
FORMATER ET METTRE EN FORME |
--------------------------------------------------------------------------------*/ |
302,17 → 320,11 |
private function formaterVotes($votes) { |
$retour = array(); |
foreach ($votes as $vote) { |
$idImage = $vote['ce_image']; |
$id = $vote['id_vote_image']; |
$id_protocole = $vote['ce_protocole']; |
$auteur_id = $vote['ce_utilisateur']; |
$valeur = $vote['valeur_vote']; |
$date = $vote['date_vote_image']; |
|
$retour[$idImage]['valeur'] = $valeur; |
$retour[$idImage]['protocole'] = $id_protocole; |
$retour[$idImage]['auteur_id'] = $auteur_id; |
$retour[$idImage]['date'] = $auteur_id; |
$retour_vote = array(); |
foreach ($vote as $param=>$valeur) { |
$retour_vote[$this->mappingVotes[$param]] = $valeur; |
} |
$retour[$vote['ce_image']][$vote['ce_protocole']][$vote['id_vote']] = $retour_vote; |
} |
|
return $retour; |