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(); |
|