Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1463 → Rev 1464

/trunk/services/modules/0.1/determinations/ListeImagesDeterminationsProbables.php
199,6 → 199,37
 
return $this->bdd->recupererTous($requeteLiaisons);
}
 
private function chargerLiaisons2() {
$champs = array('di.id_observation as id_observation', 'nom_ret', 'nom_ret_nn', 'nt', 'famille', 'ce_zone_geo', 'zone_geo',
'lieudit', 'station', 'milieu', 'date_observation', 'di.mots_cles_texte as mots_cles_texte', 'di.commentaire as commentaire',
'di.mots_cles_texte as mots_cles_texte_image ', 'date_transmission', 'di.id_image as id_image', 'di.ce_utilisateur as ce_utilisateur',
'prenom', 'nom', 'courriel', 'di.nom_utilisateur', 'di.prenom_utilisateur', 'di.courriel_utilisateur', 'nom_original');
$where = array();
if(@$this->parametres['masque.protocole']) $where[] = 'ds.ce_protocole = ' . intval($this->parametres['masque.protocole']);
if(@intval($this->parametres['masque.valeur_vote_min'])) $where[] = 'moyenne >= ' . intval($this->parametres['masque.valeur_vote_min']);
 
$limite = min(intval($this->parametres['navigation.limite']), 1000);
$limite = $limite ? $limite : 10; // 0 => 10
 
$requeteLiaisons = sprintf(
'SELECT SQL_CALC_FOUND_ROWS %s ce_protocole, moyenne, nb_votes, nb_tags'
. ' FROM v_del_image di LEFT JOIN del_utilisateur du ON du.id_utilisateur = di.ce_utilisateur'
. ' LEFT JOIN del_image_stat ds ON di.id_image = ds.ce_image'
. ' WHERE %s GROUP BY id_image /* car plusieurs image pour obs, see PHP */ ORDER BY moyenne LIMIT %d, %d -- %s:%d',
 
implode(', ',$champs),
implode(' AND ', $where),
intval($this->parametres['navigation.depart']),
$limite,
__FILE__, __LINE__);
 
// GROUP BY (très couteux) car multiples observations associées à une image
// eg: 16150,16185,16245,16246,118995,129989
 
return $this->bdd->recupererTous($requeteLiaisons);
}
private function doitJoindreTableVotes() {
return ($this->tri == 'votes');