231,7 → 231,20 |
break; |
case 'masque' : |
$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque); |
break; |
break; |
case 'type' : |
if ($valeurMasque == 'adeterminer') { |
//On récupère toutes les observations qui on le tag "aDeterminer" ou qui n'ont pas de nom d'espèce |
$where[] = '(dob.mots_cles_texte = '.$this->proteger($this->conteneur->getParametre('tag_adeterminer')).' OR nom_sel IS NULL) '; |
} else if ($valeurMasque == 'aconfirmer') { |
//On récupère toutes les observations qui ne sont pas "aDeterminer" et qui ont un nom d'espèce |
$where[] = 'nom_sel is not null AND dob.mots_cles_texte NOT LIKE '.$this->proteger(self::tag_adeterminer); |
} else if ($valeurMasque == 'endiscussion') { |
//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 |
$idsObservations = $this->chargerIdsObservationsParNbCommentaires(); |
$where[] = 'dob.id_observation IN ('.$idsObservations.')'; |
} |
break; |
default: |
$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->proteger($valeurMasque); |
break; |
246,6 → 259,18 |
} |
} |
|
public function chargerIdsObservationsParNbCommentaires() { |
$requeteIdsObservations = 'SELECT ce_observation FROM `del_commentaire` GROUP BY ce_observation HAVING count(id_commentaire) > '.$this->conteneur->getParametre('nb_commentaires_discussion'); |
$listeIdsObservations = $this->bdd->recupererTous($requeteIdsObservations); |
$idsObservations = ''; |
foreach ($listeIdsObservations as $idObservation) { |
$idsObservations .= $idObservation['ce_observation'].','; |
|
} |
$idsObservations = rtrim($idsObservations, ','); |
return $idsObservations; |
} |
|
private function creerFiltreMasqueGeneral($valeurMasque) { |
//TODO: affecter d'aborder les variables, puis les tester pour les |
// ajouter à la chaine |
395,7 → 420,6 |
$requeteLiaisons .= ' GROUP BY doi.id_observation'; |
$requeteLiaisons .= ' ORDER BY '.$this->tri.' '.$this->directionTri.' '; |
$requeteLiaisons .= $this->gestionBdd->getLimitSql(); |
|
return $this->bdd->recupererTous($requeteLiaisons); |
} |
|