Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2356 → Rev 2357

/trunk/jrest/services/CelStatistiqueTxt.php
69,9 → 69,9
 
private function construireRequeteListeUtilisateurNbrePhoto() {
$select = 'SELECT co.courriel_utilisateur, COUNT(DISTINCT ci.id_image) AS nbre ';
$from = 'FROM cel_obs co '.
' LEFT JOIN cel_obs_images coi ON (coi.id_observation = co.id_observation) '.
' LEFT JOIN cel_images ci ON (coi.id_image = ci.id_image) ';
$from = 'FROM cel_obs AS co '.
' LEFT JOIN cel_obs_images AS coi ON (coi.id_observation = co.id_observation) '.
' LEFT JOIN cel_images AS ci ON (coi.id_image = ci.id_image) ';
$where = 'WHERE transmission = 1 ';
$groupBy = 'GROUP BY co.courriel_utilisateur ';
$orderBy = 'ORDER BY nbre DESC ';
93,12 → 93,8
$filtres[] = "nom_ret LIKE $taxon ";
}
if (isset($tag)) {
$limitation = $this->construireWhereTags();
if ($limitation != null) {
$filtres[] = $limitation;
} else {
$zero_images = true;
}
$tagP = Cel::db()->quote("%$tag%");
$filtres[] = "ci.mots_cles_texte LIKE $tagP ";
}
$where .= ((count($filtres) > 0) ? 'AND '.implode(' AND ', $filtres) : '');
 
109,42 → 105,10
$limitSql = str_replace('150', $limit, $limitSql);
}
}
if ($zero_images) {
$requete = null;
} else {
$requete = $select.$from.$where.$groupBy.$orderBy.$limitSql;
//echo $requete;
}
$requete = $select.$from.$where.$groupBy.$orderBy.$limitSql;
return $requete;
}
 
private function construireWhereTags() {
$where = null;
if (isset($this->parametres['tag'])) {
$tag = $this->parametres['tag'];
$tag_encode = Cel::db()->quote($this->encoderMotCle(trim($tag)));
 
// Construction de la requête
$requete = 'SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire '.
'FROM cel_mots_cles_images '.
"WHERE cmc_id_mot_cle_general = $tag_encode ";
$elements = Cel::db()->requeter($requete);
 
if ($elements != false && count($elements) > 0) {
// Pré-construction du where de la requête
$tpl_where = '(ci_meta_mots_cles LIKE "%%%s%%" AND ci_ce_utilisateur = %s )';
$requete_where = array();
foreach ($elements as $occurence) {
$requete_where[] = sprintf($tpl_where, $occurence['cmc_id_mot_cle_utilisateur'], Cel::db()->quote($occurence['cmc_id_proprietaire']));
}
$where = ' ('.implode(" \nOR ", $requete_where).') ';
} else {
$this->debug[] = "Aucune image ne correspond à ce mot clé.";
}
}
return $where;
}
 
private function getListeTaxonsNbrePhotos() {
$requete = $this->construireRequeteListeTaxonNbrePhoto();