Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2445 → Rev 2446

/trunk/jrest/services/CelWidgetMapPoint.php
15,7 → 15,7
* Utilisateur = identifiant (= courriel) de l'utilisateur ou * pour tous les utilisateurs.
* Projet = mot-clé du projet
* Plusieurs mots-clés peuvent être spécifiés:
* machin ET bidule ET chose => observations ayant tous les mots-clés (intersection)
* machin ET bidule ET chose => observations ayant tous les mots-clés (intersection)
* machin OU bildule OU chose => observations ayant au moins un des mots-clés (union)
* ATTENTION
* machin ET bidule OU chose donne un résultat indéterminé pour l'instant
736,21 → 736,19
*/
private function obtenirObsLieesImg($type, $param) {
// Construction de la requête
$requete = 'SELECT DISTINCT co.id_obs, ci.ce_utilisateur AS utilisateur '.
'FROM cel_images '.
' LEFT JOIN cel_obs_images coi '.
' ON (ci.id_image = coi.id_image) '.
$requete = 'SELECT DISTINCT co.id_obs, ci.ce_utilisateur AS utilisateur '.
'FROM cel_images '.
' LEFT JOIN cel_obs AS co '.
' ON (coi.id_observation = co.id_observation) '.
' ON (ci.ce_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' ".
($type == 'date.photo' ? " AND (ci_meta_date_time LIKE ".str_replace('-', ':', $param)." OR ci_meta_date LIKE $param) " : '').
($type == 'date.ajout' ? " AND ci_meta_date_ajout LIKE $param " : '').
($type == 'date.liaison' ? " AND coi_date_liaison LIKE $param " : '').
($type == 'commentaire.meta' ? " AND ci_meta_comment LIKE $param " : '').
($type == 'commentaire.utilisateur' ? " AND ci_meta_user_comment LIKE $param " : '').
($type == 'commentaire.*' ? " AND (ci_meta_comment LIKE $param OR ci_meta_user_comment LIKE $param) " : '').
"WHERE co.transmission = '1' ".
($type == 'date.photo' ? " AND (ci.date_prise_de_vue LIKE ".str_replace('-', ':', $param).' ' : '').
($type == 'date.creation' ? " AND ci.date_creation LIKE $param " : '').
($type == 'date.liaison' ? " AND ci.date_liaison LIKE $param " : '').
($type == 'commentaire.img' ? " AND ci.commentaire LIKE $param " : '').
($type == 'commentaire.obs' ? " AND co.commentaire LIKE $param " : '').
($type == 'commentaire.*' ? " AND (co.commentaire LIKE $param OR ci.commentaire LIKE $param) " : '').
$this->construireWhereCoordonnees().
$this->construireWhereDept().
$this->construireWhereCommune().
949,7 → 947,7
private function construireWherePhotosSeulement() {
$sql = '';
if (isset($this->parametres['photos']) && $this->parametres['photos'] == 1) {
$sql = 'AND co.id_observation IN (SELECT DISTINCT id_observation FROM cel_obs_images) ';
$sql = 'AND co.id_observation IN (SELECT DISTINCT ce_observation FROM cel_images) ';
}
return $sql;
}
1024,14 → 1022,14
 
/**
* Traitement de $projet pour construction du filtre dans la requête
*
*
* projet1 ET projet2 ET projet3 => intersection
* projet1 OU projet2 OU projet3 => union
* projet1 ET projet2 OU projet3 => ATTENTION indéfini
* projet1 ET projet2 OU projet3 => ATTENTION indéfini
*/
private function getSqlWhereProjet($projet) {
$sql = null;
if (isset($projet) && !$this->etreNull($projet)) {
if (isset($projet) && !$this->etreNull($projet)) {
if (strpos($projet, ' ET ')) {
// intersection
$projets = explode(' ET ', $projet);
1096,15 → 1094,13
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, ci.ce_utilisateur AS utilisateur '.
$requete = 'SELECT DISTINCT co.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.id_image) '.
' LEFT JOIN cel_obs AS co '.
' ON (coi.id_observation = co.id_observation) '.
' INNER JOIN cel_obs AS co '.
' ON (ci.ce_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' ".
"WHERE co.transmission = '1' ".
$this->construireWhereCoordonnees().
$this->construireWhereUtilisateur().
$this->construireWhereNumTaxon().