Subversion Repositories eFlore/Applications.cel

Rev

Rev 3809 | Rev 3818 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3809 Rev 3817
Line 36... Line 36...
36
			$image['id_observation'] = $this->obtenirInformationsObservationsAssociees($image['ce_utilisateur'],$image['id_image']);
36
			$image['id_observation'] = $this->obtenirInformationsObservationsAssociees($image['ce_utilisateur'],$image['id_image']);
37
			$retour[] = $image ;
37
			$retour[] = $image ;
38
		}
38
		}
39
		return $retour;
39
		return $retour;
40
	}
40
	}
-
 
41
	
-
 
42
	
-
 
43
	// redéfinis en 2020, affiche toutes les infos images et obs à partir d'un join pour n'avoir que les images liées à une obs
-
 
44
	public function rechercherImagesJoinObservation($id_utilisateur = null, $criteres = array(), $debut = 0 , $limite = 50) {
-
 
45
	    $ordre = (isset($criteres['tri']) && $criteres['tri']) ? $criteres['tri'] : '';
-
 
46
	    unset($criteres['tri']);
-
 
47
	    $direction = (isset($criteres['dir']) && $criteres['dir']) ? $criteres['dir'] : 'ASC';
-
 
48
	    unset($criteres['dir']);
-
 
49
	    
-
 
50
	    $debut = ($debut < 0) ? 0 : $debut;
-
 
51
	    $requete_recherche_images = 'SELECT ci.*, co.* ';
-
 
52
	    
-
 
53
	    $requete_recherche_images .= $this->fabriquerRequeteJointureDblObs();
-
 
54
	    $requete_recherche_images .= ($id_utilisateur != null) ? 'AND co.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
-
 
55
	    
-
 
56
	    
-
 
57
	    $sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
-
 
58
	    $requete_recherche_images .= $sous_requete_recherche;
-
 
59
	    
-
 
60
	    if (!empty($ordre)) {
-
 
61
	        $requete_recherche_images .= ' ORDER BY '.$ordre.' '.$direction;
-
 
62
	    }
-
 
63
	    $requete_recherche_images .= ' LIMIT '.$debut.','.$limite;
-
 
64
	    
-
 
65
	    $resultats_images = array();
-
 
66
	    $resultats_images = Cel::db()->requeter($requete_recherche_images);
-
 
67
	    
-
 
68
	    return $resultats_images;
-
 
69
	}
Line 41... Line 70...
41
 
70
 
42
	public function rechercherImages($id_utilisateur = null, $criteres = array(), $debut = 0 , $limite = 50) {
71
	public function rechercherImages($id_utilisateur = null, $criteres = array(), $debut = 0 , $limite = 50) {
43
		$ordre = (isset($criteres['tri']) && $criteres['tri']) ? $criteres['tri'] : '';
72
		$ordre = (isset($criteres['tri']) && $criteres['tri']) ? $criteres['tri'] : '';
44
		unset($criteres['tri']);
73
		unset($criteres['tri']);
Line 97... Line 126...
97
			'LEFT JOIN cel_export_total co '.
126
			'LEFT JOIN cel_export_total co '.
98
				'ON ci.ce_observation = co.id_observation '.
127
				'ON ci.ce_observation = co.id_observation '.
99
			'WHERE 1 ';
128
			'WHERE 1 ';
100
		return $requete;
129
		return $requete;
101
	}
130
	}
-
 
131
	
-
 
132
	private function fabriquerRequeteJointureDblObs() {
-
 
133
	    $requete = 'FROM cel_images_export ci '.
-
 
134
	   	    'JOIN cel_export_total co '.
-
 
135
	   	    'ON ci.ce_observation = co.id_observation '.
-
 
136
	   	    'WHERE 1 ';
-
 
137
	    return $requete;
-
 
138
	}
Line 102... Line 139...
102
 
139
 
103
	public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
140
	public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
104
		$requete = 'SELECT ce_observation FROM cel_images_export WHERE id_image = '.$id_image;
141
		$requete = 'SELECT ce_observation FROM cel_images_export WHERE id_image = '.$id_image;
Line 168... Line 205...
168
					break;
205
					break;
169
				case "transmission":
206
				case "transmission":
170
					$sous_requete .= 'co.transmission = '.Cel::db()->proteger($valeur) ;
207
					$sous_requete .= 'co.transmission = '.Cel::db()->proteger($valeur) ;
171
					$sous_requete .= ' AND ';
208
					$sous_requete .= ' AND ';
172
					break;
209
					break;
-
 
210
				case "standard":
-
 
211
				    $sous_requete .= 'co.donnees_standard = '.Cel::db()->proteger($valeur) ;
-
 
212
				    $sous_requete .= ' AND ';
-
 
213
				    break;
173
				case "taxon":
214
				case "taxon":
174
					$valeur = str_replace('indetermine','null',$valeur);
215
					$valeur = str_replace('indetermine','null',$valeur);
175
					$sous_requete .= ' (';
216
					$sous_requete .= ' (';
176
					$sous_requete .= 'co.nom_ret LIKE '.Cel::db()->proteger($valeur.'%') ;
217
					$sous_requete .= 'co.nom_ret LIKE '.Cel::db()->proteger($valeur.'%') ;
177
					$sous_requete .= ' OR ' ;
218
					$sous_requete .= ' OR ' ;