19,11 → 19,17 |
|
private $imageIds = array(); |
private $conteneur; |
private $navigation; |
private $masque; |
private $gestionBdd; |
private $bdd; |
|
|
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->bdd = $this->conteneur->getBdd(); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
$this->bdd = $this->gestionBdd->getBdd(); |
} |
|
/** |
42,7 → 48,7 |
// Lancement du service |
$liaisons = $this->chargerLiaisons(); |
$total = $this->compterImages(); |
$this->conteneur->setTotal($total); |
$this->navigation->setTotal($total); |
$images = $this->chargerImage($liaisons); |
$images = $this->chargerVotes($images); |
|
135,15 → 141,16 |
* */ |
private function chargerClauseWhere() { |
$where = array(); |
|
$tableauMasque = $this->masque->getMasque(); |
// TODO : vérifier les communes et les communes avec une apostrophe |
foreach($this->conteneur->getMasque() as $idMasque => $valeurMasque) { |
if (!empty($tableauMasque)) { |
foreach($tableauMasque as $idMasque => $valeurMasque) { |
|
$idMasque = str_replace('masque.', '', $idMasque); |
switch ($idMasque) { |
// nom du masque => nom BDD |
case 'auteur' : |
$auteurId = $this->conteneur->getMasque('auteur'); |
$auteurId = $this->masque->getMasque('auteur'); |
if (is_numeric($auteurId)) { |
$where[] = ' ce_utilisateur = '.$auteurId; |
} else { |
151,7 → 158,7 |
$chaineNomPrenom = $this->getChaineNomPrenom($auteurId); |
$where[] = '((nom IN ('.$chaineNomPrenom.')) OR (prenom IN ('.$chaineNomPrenom.')))'; |
} else { |
$where[] = " courriel LIKE ".$this->proteger($this->conteneur->getMasque('auteur').'%')." "; |
$where[] = " courriel LIKE ".$this->proteger($this->masque->getMasque('auteur').'%')." "; |
} |
} |
break; |
179,8 → 186,8 |
break; |
} |
} |
} |
|
|
if (!empty($where)) { |
return ' WHERE '.implode('AND', $where); |
} else { |
197,7 → 204,7 |
private function chargerLiaisons() { |
|
$requeteLiaisons = 'SELECT SQL_CALC_FOUND_ROWS * '. |
'FROM '.$this->conteneur->getSchemaBdd().'.del_obs_images doi '. |
'FROM '.$this->gestionBdd->formaterTable('del_obs_images', 'doi'). |
'INNER JOIN del_image di '. |
'ON doi.ce_image = di.id_image '. |
'INNER JOIN del_observation dob '. |
205,7 → 212,7 |
'INNER JOIN del_utilisateur du '. |
'ON du.id_utilisateur = doi.ce_utilisateur'; |
$requeteLiaisons .= $this->chargerClauseWhere(); |
$requeteLiaisons .= $this->conteneur->getLimitSql(); |
$requeteLiaisons .= $this->gestionBdd->getLimitSql(); |
return $this->bdd->recupererTous($requeteLiaisons); |
} |
|
246,7 → 253,7 |
$chaineImageIds = implode(',', $this->imageIds); |
|
$requeteVotes = 'SELECT * FROM '. |
$this->conteneur->getSchemaBdd().'.del_vote_image '. |
$this->gestionBdd->formaterTable('del_vote_image '). |
'WHERE ce_image IN ('.$chaineImageIds.')'; |
$resultatsVotes = $this->bdd->recupererTous($requeteVotes); |
|