Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1063 → Rev 1097

/trunk/services/modules/0.1/observations/ListeObservations.php
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);
}