Subversion Repositories eFlore/Applications.cel

Rev

Rev 3823 | Rev 3916 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3823 Rev 3828
Line 45... Line 45...
45
		$ordre = (isset($criteres['tri']) && $criteres['tri']) ? $criteres['tri'] : '';
45
	    $ordre = (isset($criteres['tri']) && $criteres['tri']) ? $criteres['tri'] : '';
46
		unset($criteres['tri']);
46
	    unset($criteres['tri']);
47
		$direction = (isset($criteres['dir']) && $criteres['dir']) ? $criteres['dir'] : 'ASC';
47
	    $direction = (isset($criteres['dir']) && $criteres['dir']) ? $criteres['dir'] : 'ASC';
48
		unset($criteres['dir']);
48
	    unset($criteres['dir']);
49
		$imgUrlTplBase = explode('%', $this->config['settings']['celImgUrlTpl'])[0];
49
	    $imgUrlTplBase = explode('%', $this->config['settings']['celImgUrlTpl'])[0];
-
 
50
	    
50
		$debut = ($debut < 0) ? 0 : $debut;
51
	    $debut = ($debut < 0) ? 0 : $debut;
51
		$requete_recherche_images = 'SELECT ci.`id_image` as id_photo, co.guid,     
52
	    $requete_recherche_images = 'SELECT ci.`id_image` as id_photo, co.guid,     
52
`id_observation` as id_obs, `nom_sel`, `nom_sel_nn`, `zone_geo` as localisation, `latitude`, `longitude`,
53
`id_observation` as id_obs, `nom_sel`, `nom_sel_nn`, `zone_geo` as localisation, `latitude`, `longitude`,
53
 `date_observation` as date_obs, `commentaire`, `certitude`, `grade` as fiabilite, programme as projet, 
54
 `date_observation` as date_obs, `commentaire`, `certitude`, `grade` as fiabilite, programme as projet, 
54
`score_identiplante` as score_ip, `url_identiplante` as url_ip, `validation_identiplante` as est_ip_valide,
55
`score_identiplante` as score_ip, `url_identiplante` as url_ip, `validation_identiplante` as est_ip_valide,
Line 57... Line 58...
57
 `localisation_floutage`, `localisation_coherence`, `abondance`, `phenologie`, `spontaneite`, 
58
 `localisation_floutage`, `localisation_coherence`, `abondance`, `phenologie`, `spontaneite`, 
58
`type_donnees`, `biblio`, `source`, `herbier`, `determinateur`, `observateur`, `observateur_structure`,
59
`type_donnees`, `biblio`, `source`, `herbier`, `determinateur`, `observateur`, `observateur_structure`,
59
`ce_utilisateur` as id_utilisateur, `courriel_utilisateur` as mail_utilisateur, `pseudo_utilisateur` as nom_utilisateur, 
60
`ce_utilisateur` as id_utilisateur, `courriel_utilisateur` as mail_utilisateur, `pseudo_utilisateur` as nom_utilisateur, 
60
ci.`nom_original`, ci.`date_prise_de_vue` as date_photo, "Creative Commons BY-SA (2.0)" as licence, 
61
ci.`nom_original`, ci.`date_prise_de_vue` as date_photo, "Creative Commons BY-SA (2.0)" as licence, 
61
concat(`nom_sel`, " par ", `pseudo_utilisateur`, " [CC BY-SA 2.0 FR], via Tela Botanica") as attribution,
62
concat(`nom_sel`, " par ", `pseudo_utilisateur`, " [CC BY-SA 2.0 FR], via Tela Botanica") as attribution,
62
 concat("'.$imgUrlTplBase.'", lpad(ci.id_image, 9, "0"), "O") as url_photo, ci.`mots_cles_texte` as tags_photo ';
63
 concat("'.$imgUrlTplBase.'", lpad(ci.id_image, 9, "0"), "O,") as url_photo, ci.`mots_cles_texte` as tags_photo ';
Line 63... Line 64...
63
		
64
	    
64
		$requete_recherche_images .= $this->fabriquerRequeteJointureDblObs();
65
	    $requete_recherche_images .= $this->fabriquerRequeteJointureDblObs();
Line 221... Line 222...
221
					break;
222
					break;
222
				case "standard":
223
				case "standard":
223
					$sous_requete .= 'co.donnees_standard = '.Cel::db()->proteger($valeur) ;
224
				    $sous_requete .= 'co.donnees_standard = '.Cel::db()->proteger($valeur) ;
224
					$sous_requete .= ' AND ';
225
				    $sous_requete .= ' AND ';
225
					break;
226
				    break;
-
 
227
				case "referentiel":
-
 
228
				    $sous_requete .= 'co.referentiel = '.Cel::db()->proteger($valeur) ;
-
 
229
				    $sous_requete .= ' AND ';
-
 
230
				    break;
226
				case "taxon":
231
				case "taxon":
227
					$valeur = str_replace('indetermine','null',$valeur);
232
					$valeur = str_replace('indetermine','null',$valeur);
228
					$sous_requete .= ' (';
233
					$sous_requete .= ' (';
229
					$sous_requete .= 'co.nom_ret LIKE '.Cel::db()->proteger($valeur.'%') ;
234
					$sous_requete .= 'co.nom_ret LIKE '.Cel::db()->proteger($valeur.'%') ;
230
					$sous_requete .= ' OR ' ;
235
					$sous_requete .= ' OR ' ;
231
					$sous_requete .= 'co.nom_sel LIKE '.Cel::db()->proteger($valeur.'%') ;
236
					$sous_requete .= 'co.nom_sel LIKE '.Cel::db()->proteger($valeur.'%') ;
232
					$sous_requete .= ') AND ' ;
237
					$sous_requete .= ') AND ' ;
233
					break;
238
					break;
234
				case "auteur":
239
				case "auteur":
-
 
240
				    if (is_numeric($valeur)) {
235
					$sous_requete .= '(co.ce_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
241
					   $sous_requete .= 'co.ce_utilisateur = '.Cel::db()->proteger($valeur).' AND ';
-
 
242
				    } elseif (strpos($valeur, '@') !== false) {
236
								'co.courriel_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
243
				        $sous_requete .= 'co.courriel_utilisateur = '.Cel::db()->proteger($valeur).
-
 
244
								        ' AND ';
-
 
245
				    } else {
237
								'co.pseudo_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').
246
				        $sous_requete .= 'co.pseudo_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').
238
								') AND ';
247
								        ' AND ';
-
 
248
				    }
239
					break;
249
					break;
240
				case "ce_zone_geo":
250
				case "ce_zone_geo":
241
					if($valeur == "NULL") {
251
					if($valeur !== "NULL") {
-
 
252
					    $depts = explode(",", $valeur);
-
 
253
					    if (count($depts) == 1) {
242
						$sous_requete .= "(co.ce_zone_geo IS NULL OR co.ce_zone_geo = '')";
254
						  $sous_requete .= '(co.ce_zone_geo = '. Cel::db()->proteger($valeur).') ';
243
					} else {
255
					    } else {
244
						$sous_requete .= '(co.ce_zone_geo LIKE '.(is_numeric($valeur) ? Cel::db()->proteger('INSEE-C:'.$valeur.'%') : Cel::db()->proteger($valeur)).') ';
256
					        $sous_requete .= '(co.dept in ('.$valeur.')) ';
-
 
257
					    }
245
					}
258
					}
246
					break;
259
					break;
247
				case "zone_geo":
260
				case "zone_geo":
248
					if($valeur == "NULL") {
261
					if($valeur !== "NULL") {
249
						$sous_requete .= "(co.zone_geo IS NULL OR co.zone_geo = '')";
-
 
250
					} else {
-
 
251
						$sous_requete .= '(co.zone_geo = '.Cel::db()->proteger($valeur).') ';
262
						$sous_requete .= '(co.zone_geo = '.Cel::db()->proteger($valeur).') ';
252
					}
263
					}
253
					break;
264
					break;
-
 
265
				case "pays":
-
 
266
				    if($valeur !== "NULL") {
-
 
267
				        $sous_requete .= '(co.pays like '.Cel::db()->proteger($valeur.'%').') ';
-
 
268
				    }
-
 
269
				    break;
254
				case "famille":
270
				case "famille":
255
					$sous_requete .= 'co.famille = '.Cel::db()->proteger($valeur) ;
271
					$sous_requete .= 'co.famille = '.Cel::db()->proteger($valeur) ;
256
					$sous_requete .= ' AND ' ;
272
					$sous_requete .= ' AND ' ;
257
					break;
273
					break;
-
 
274
				case "programme":
-
 
275
				    if($valeur !== "NULL") {
-
 
276
				        $sous_requete .= '(co.programme = '.Cel::db()->proteger($valeur).') ';
-
 
277
				    }
-
 
278
				    break;
258
				case "tri":
279
				case "tri":
259
					break;
280
				    break;
260
				case "dir":
281
				case "dir":
261
					break;
282
				    break;
262
				default:
283
				default: