Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1333 → Rev 1334

/trunk/jrest/services/CelWidgetMap.php
647,15 → 647,15
if (isset($tag) && !$this->etreNull($tag)) {
$tag_sql = $this->getSqlWhereMotsCles($tag);
// Construction de la requĂȘte
$requete = 'SELECT DISTINCT coi.id_observation AS id_obs, coi.ce_utilisateur AS utilisateur '.
'FROM cel_images '.
$requete = 'SELECT DISTINCT coi.id_observation AS id_obs, ci.ce_utilisateur AS utilisateur '.
'FROM cel_images ci'.
' LEFT JOIN cel_obs_images coi'.
' ON (ci_id_image = coi_ce_image) '.
' LEFT JOIN cel_obs AS i '.
' ON (coi_ce_utilisateur = i.identifiant AND coi_ce_observation = i.ordre) '.
' LEFT JOIN locations AS l '.
" ON (l.name = i.location AND l.code = i.id_location) ".
"WHERE transmission = '1' ".
' ON (ci.id_image = coi.id_image) '.
' LEFT JOIN cel_obs AS co '.
' ON (coi.id_observation = co.id_observation) '.
' LEFT JOIN cel_zones_geo AS l '.
" ON (l.nom = co.zone_geo AND l.id_zone_geo = co.ce_zone_geo) ".
"WHERE transmission = '1' ".
$this->construireWhereCoordonnees().
$this->construireWhereUtilisateur().
$this->construireWhereNumTaxon().
662,7 → 662,7
$this->construireWhereNomTaxon().
$this->construireWhereProjet().
(!$this->etreNull($tag_sql) ? "AND ($tag_sql) " : '').
'ORDER BY utilisateur ASC, ordre ASC';
'ORDER BY utilisateur ASC, ci.ordre ASC';
//$this->debug[] = $requete;
//die($requete);
$elements_tag = $this->executerRequete($requete);
704,8 → 704,8
private function getSqlWhereMotsCles($tag) {
$sql = null;
$mots_cles = $this->decomposerParametreTag($tag);
$requete_projet = $this->getSqlWhereMotsClesImages($tag);
$sql = implode(" \nOR ", $requete_projet);
$requete_projet = $this->getSqlWhereMotsClesImages($mots_cles['motsClesEncodesProteges']);
$sql = $requete_projet;
//$this->debug[] = $sql;
return $sql;
}
716,7 → 716,7
private function getSqlWhereMotsClesImages($mots_cles_encodes) {
$where_mots_cles_images = array();
foreach ($mots_cles_encodes as $mot_cle_encode) {
$where_mots_cles_images[] = "ci.mots_cles_texte = $mot_cle_encode";
$where_mots_cles_images[] = "ci.mots_cles_texte LIKE $mot_cle_encode";
}
$where_mots_cles_images = implode(' OR ', $where_mots_cles_images);
return $where_mots_cles_images;
723,6 → 723,7
}
private function decomposerParametreTag($tags) {
$mots_cles = array('type' => null, 'motsCles' => null, 'motsClesEncodesProteges' => null);
if (preg_match('/.+OU.+/', $tags)) {
$mots_cles['type'] = 'OR';
735,8 → 736,9
}
foreach ($mots_cles['motsCles'] as $mot) {
$mots_cles['motsClesEncodesProteges'][] = $this->bdd->quote($mot);
$mots_cles['motsClesEncodesProteges'][] = $this->bdd->quote('%'.$mot.'%');
}
//print_r($mots_cles); exit;
$this->debug[] = $mots_cles;
return $mots_cles;
}