Line 229... |
Line 229... |
229 |
case 'commune' :
|
229 |
case 'commune' :
|
230 |
$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger(str_replace(array('-',' '), '_', $valeurMasque).'%');
|
230 |
$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger(str_replace(array('-',' '), '_', $valeurMasque).'%');
|
231 |
break;
|
231 |
break;
|
232 |
case 'masque' :
|
232 |
case 'masque' :
|
233 |
$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque);
|
233 |
$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque);
|
234 |
break;
|
234 |
break;
|
- |
|
235 |
case 'type' :
|
- |
|
236 |
if ($valeurMasque == 'adeterminer') {
|
- |
|
237 |
//On récupère toutes les observations qui on le tag "aDeterminer" ou qui n'ont pas de nom d'espèce
|
- |
|
238 |
$where[] = '(dob.mots_cles_texte = '.$this->proteger($this->conteneur->getParametre('tag_adeterminer')).' OR nom_sel IS NULL) ';
|
- |
|
239 |
} else if ($valeurMasque == 'aconfirmer') {
|
- |
|
240 |
//On récupère toutes les observations qui ne sont pas "aDeterminer" et qui ont un nom d'espèce
|
- |
|
241 |
$where[] = 'nom_sel is not null AND dob.mots_cles_texte NOT LIKE '.$this->proteger(self::tag_adeterminer);
|
- |
|
242 |
} else if ($valeurMasque == 'endiscussion') {
|
- |
|
243 |
//Si on veut les observations en discussion, on va récupérer les ids des observations dont le nombre de commentaire est supérieur à N
|
- |
|
244 |
$idsObservations = $this->chargerIdsObservationsParNbCommentaires();
|
- |
|
245 |
$where[] = 'dob.id_observation IN ('.$idsObservations.')';
|
- |
|
246 |
}
|
- |
|
247 |
break;
|
235 |
default:
|
248 |
default:
|
236 |
$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->proteger($valeurMasque);
|
249 |
$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->proteger($valeurMasque);
|
237 |
break;
|
250 |
break;
|
238 |
}
|
251 |
}
|
239 |
}
|
252 |
}
|
Line 244... |
Line 257... |
244 |
} else {
|
257 |
} else {
|
245 |
return;
|
258 |
return;
|
246 |
}
|
259 |
}
|
247 |
}
|
260 |
}
|
Line -... |
Line 261... |
- |
|
261 |
|
- |
|
262 |
public function chargerIdsObservationsParNbCommentaires() {
|
- |
|
263 |
$requeteIdsObservations = 'SELECT ce_observation FROM `del_commentaire` GROUP BY ce_observation HAVING count(id_commentaire) > '.$this->conteneur->getParametre('nb_commentaires_discussion');
|
- |
|
264 |
$listeIdsObservations = $this->bdd->recupererTous($requeteIdsObservations);
|
- |
|
265 |
$idsObservations = '';
|
- |
|
266 |
foreach ($listeIdsObservations as $idObservation) {
|
- |
|
267 |
$idsObservations .= $idObservation['ce_observation'].',';
|
- |
|
268 |
|
- |
|
269 |
}
|
- |
|
270 |
$idsObservations = rtrim($idsObservations, ',');
|
- |
|
271 |
return $idsObservations;
|
- |
|
272 |
}
|
248 |
|
273 |
|
249 |
private function creerFiltreMasqueGeneral($valeurMasque) {
|
274 |
private function creerFiltreMasqueGeneral($valeurMasque) {
|
250 |
//TODO: affecter d'aborder les variables, puis les tester pour les
|
275 |
//TODO: affecter d'aborder les variables, puis les tester pour les
|
251 |
// ajouter à la chaine
|
276 |
// ajouter à la chaine
|
252 |
$whereAuteur = $this->creerFiltreAuteur($valeurMasque);
|
277 |
$whereAuteur = $this->creerFiltreAuteur($valeurMasque);
|
Line 393... |
Line 418... |
393 |
'ON di.id_image = doi.id_image ';
|
418 |
'ON di.id_image = doi.id_image ';
|
394 |
$requeteLiaisons .= $this->chargerClauseWhere();
|
419 |
$requeteLiaisons .= $this->chargerClauseWhere();
|
395 |
$requeteLiaisons .= ' GROUP BY doi.id_observation';
|
420 |
$requeteLiaisons .= ' GROUP BY doi.id_observation';
|
396 |
$requeteLiaisons .= ' ORDER BY '.$this->tri.' '.$this->directionTri.' ';
|
421 |
$requeteLiaisons .= ' ORDER BY '.$this->tri.' '.$this->directionTri.' ';
|
397 |
$requeteLiaisons .= $this->gestionBdd->getLimitSql();
|
422 |
$requeteLiaisons .= $this->gestionBdd->getLimitSql();
|
398 |
|
- |
|
399 |
return $this->bdd->recupererTous($requeteLiaisons);
|
423 |
return $this->bdd->recupererTous($requeteLiaisons);
|
400 |
}
|
424 |
}
|
Line 401... |
Line 425... |
401 |
|
425 |
|
402 |
/**
|
426 |
/**
|