Subversion Repositories eFlore/Applications.cel

Rev

Rev 1720 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1720 Rev 1724
Line 46... Line 46...
46
    	       			"  	  eflore_naturaliste_intitule_abreviation AS auteur_bex ".
46
    	       			"  	  eflore_naturaliste_intitule_abreviation AS auteur_bex ".
47
    	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_b ".
47
    	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_b ".
48
    	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_mex ".
48
    	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_mex ".
49
    	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_m ".
49
    	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_m ".
50
    	       	     	"   , eflore_selection_nom".
50
    	       	     	"   , eflore_selection_nom".
51
    	       			" WHERE en_id_version_projet_nom = '25' AND en_nom_genre LIKE ".$this->proteger($genre.'%').
51
    	       			" WHERE en_id_version_projet_nom = '25' AND en_nom_genre LIKE ".Cel::db()->proteger($genre.'%').
52
    	       			" AND en_ce_rang > 160 " .
52
    	       			" AND en_ce_rang > 160 " .
53
    	       			" AND en_epithete_espece like ".$this->proteger($espece.'%')." AND en_ce_rang = enrg_id_rang " .
53
    	       			" AND en_epithete_espece like ".Cel::db()->proteger($espece.'%')." AND en_ce_rang = enrg_id_rang " .
54
    	       			" AND en_ce_auteur_basio_ex = auteur_bex.enaia_id_intitule_naturaliste_abrege ".
54
    	       			" AND en_ce_auteur_basio_ex = auteur_bex.enaia_id_intitule_naturaliste_abrege ".
55
    	       			" AND en_ce_auteur_basio = auteur_b.enaia_id_intitule_naturaliste_abrege  ".
55
    	       			" AND en_ce_auteur_basio = auteur_b.enaia_id_intitule_naturaliste_abrege  ".
56
    	       			" AND en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege ". 
56
    	       			" AND en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege ". 
57
    	       			" AND en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege ".
57
    	       			" AND en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege ".
58
    	       			" AND esn_id_version_projet_taxon=en_id_version_projet_nom " . 
58
    	       			" AND esn_id_version_projet_taxon=en_id_version_projet_nom " . 
Line 66... Line 66...
66
				//TODO: comprendre pourquoi à l'origine il y avait : (strlen($genre) >= 1) /*&& ($genre != '%')
66
				//TODO: comprendre pourquoi à l'origine il y avait : (strlen($genre) >= 1) /*&& ($genre != '%')
67
				// voir avec david
67
				// voir avec david
68
	            if ((strlen($genre) >= 1)) {
68
	            if ((strlen($genre) >= 1)) {
69
				    $requete_recherche = "SELECT DISTINCT en_nom_genre, en_id_nom, 0 as esn_ce_statut FROM  eflore_nom WHERE en_id_version_projet_nom = '25'" .
69
				    $requete_recherche = "SELECT DISTINCT en_nom_genre, en_id_nom, 0 as esn_ce_statut FROM  eflore_nom WHERE en_id_version_projet_nom = '25'" .
70
				    "AND en_ce_rang = 160 " .
70
				    "AND en_ce_rang = 160 " .
71
				    "AND en_nom_genre LIKE ".$this->proteger($genre.'%')." ORDER BY esn_ce_statut, en_nom_genre LIMIT 50";
71
				    "AND en_nom_genre LIKE ".Cel::db()->proteger($genre.'%')." ORDER BY esn_ce_statut, en_nom_genre LIMIT 50";
72
	            }
72
	            }
73
			}
73
			}
74
		}
74
		}
Line 75... Line 75...
75
		
75
		
76
        if ($requete_recherche != '') {
76
        if ($requete_recherche != '') {
Line 77... Line 77...
77
        	$resultat_recherche = $this->executerRequete($requete_recherche);	
77
        	$resultat_recherche = Cel::db()->executerRequete($requete_recherche);	
78
        	
78
        	
79
        	if (is_array($resultat_recherche)) {
79
        	if (is_array($resultat_recherche)) {
80
        		foreach ($resultat_recherche as $ligne) {
80
        		foreach ($resultat_recherche as $ligne) {
Line 139... Line 139...
139
			       			"  	  eflore_naturaliste_intitule_abreviation AS auteur_bex ".
139
			       			"  	  eflore_naturaliste_intitule_abreviation AS auteur_bex ".
140
        	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_b ".
140
        	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_b ".
141
        	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_mex ".
141
        	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_mex ".
142
        	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_m ".
142
        	       			"   , eflore_naturaliste_intitule_abreviation AS auteur_m ".
143
			     " ,eflore_selection_nom a, eflore_selection_nom b".
143
			     " ,eflore_selection_nom a, eflore_selection_nom b".
144
			     " WHERE a.esn_id_nom= ".$this->proteger($numNom).
144
			     " WHERE a.esn_id_nom= ".Cel::db()->proteger($numNom).
145
			     " AND a.esn_id_version_projet_taxon = 25 ".
145
			     " AND a.esn_id_version_projet_taxon = 25 ".
146
			     " AND a.esn_id_taxon=b.esn_id_taxon ".
146
			     " AND a.esn_id_taxon=b.esn_id_taxon ".
147
			     " AND b.esn_ce_statut=3 ".
147
			     " AND b.esn_ce_statut=3 ".
148
			     " AND a.esn_id_version_projet_taxon=b.esn_id_version_projet_taxon" .
148
			     " AND a.esn_id_version_projet_taxon=b.esn_id_version_projet_taxon" .
149
			     " AND en_ce_rang = enrg_id_rang" .
149
			     " AND en_ce_rang = enrg_id_rang" .
Line 153... Line 153...
153
       			 " AND en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege ".
153
       			 " AND en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege ".
154
        	     " AND en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege ".
154
        	     " AND en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege ".
155
			     " AND a.esn_id_version_projet_taxon=en_id_version_projet_nom ";
155
			     " AND a.esn_id_version_projet_taxon=en_id_version_projet_nom ";
Line 156... Line 156...
156
 
156
 
157
		
157
		
158
		$resultat_infos_complementaires = $this->executerRequete($requete_infos_complementaires);
158
		$resultat_infos_complementaires = Cel::db()->executerRequete($requete_infos_complementaires);
Line 159... Line 159...
159
		return $resultat_infos_complementaires;
159
		return $resultat_infos_complementaires;
Line 182... Line 182...
182
                    " AND en_ce_auteur_basio = auteur_b.enaia_id_intitule_naturaliste_abrege  ".
182
                    " AND en_ce_auteur_basio = auteur_b.enaia_id_intitule_naturaliste_abrege  ".
183
                    " AND en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege ".
183
                    " AND en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege ".
184
                    " AND en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege ".
184
                    " AND en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege ".
185
                    " AND esn_id_version_projet_taxon=en_id_version_projet_nom ";
185
                    " AND esn_id_version_projet_taxon=en_id_version_projet_nom ";
Line 186... Line 186...
186
		
186
		
Line 187... Line 187...
187
		$resultat_infos_complementaires = $this->executerRequete($requete_infos_complementaires);
187
		$resultat_infos_complementaires = Cel::db()->executerRequete($requete_infos_complementaires);
188
		
188
		
Line 189... Line 189...
189
		return $resultat_infos_complementaires;
189
		return $resultat_infos_complementaires;
Line 200... Line 200...
200
			'eni_id_version_projet_nom = 25 AND '.
200
			'eni_id_version_projet_nom = 25 AND '.
201
			'(eni_id_valeur_format = 3 OR eni_id_valeur_format = 4) AND '.
201
			'(eni_id_valeur_format = 3 OR eni_id_valeur_format = 4) AND '.
202
			'eni_intitule_nom LIKE "'.$nom_saisi.'%" '.
202
			'eni_intitule_nom LIKE "'.$nom_saisi.'%" '.
203
			'ORDER BY LENGTH(eni_intitule_nom)';
203
			'ORDER BY LENGTH(eni_intitule_nom)';
Line 204... Line 204...
204
			
204
			
Line 205... Line 205...
205
			$resultat_infos_comp_sur_nom = $this->executerRequete($requete_infos_comp_sur_nom);
205
			$resultat_infos_comp_sur_nom = Cel::db()->executerRequete($requete_infos_comp_sur_nom);
206
			    
206
			    
207
	        if (is_array($resultat_infos_comp_sur_nom)) {        	
207
	        if (is_array($resultat_infos_comp_sur_nom)) {        	
208
		        foreach ($resultat_infos_comp_sur_nom as $ligne) {
208
		        foreach ($resultat_infos_comp_sur_nom as $ligne) {
Line 230... Line 230...
230
		" AND esn_ce_statut = 3 ".
230
		" AND esn_ce_statut = 3 ".
231
		" AND esn_id_version_projet_taxon = etr_id_version_projet_taxon_1 ".
231
		" AND esn_id_version_projet_taxon = etr_id_version_projet_taxon_1 ".
232
		" AND en_id_nom = esn_id_nom ".
232
		" AND en_id_nom = esn_id_nom ".
233
		" AND esn_id_version_projet_taxon=en_id_version_projet_nom  ";
233
		" AND esn_id_version_projet_taxon=en_id_version_projet_nom  ";
Line 234... Line 234...
234
				
234
				
Line 235... Line 235...
235
		$resultat_recherche_famille = $this->executerRequete($requete_famille);
235
		$resultat_recherche_famille = Cel::db()->executerRequete($requete_famille);
236
		
236
		
237
		if (!is_array($resultat_recherche_famille) || count($resultat_recherche_famille) == 0) {	
237
		if (!is_array($resultat_recherche_famille) || count($resultat_recherche_famille) == 0) {	
238
	    	$resultat_recherche_famille = array('en_ce_rang' => 'fin');
238
	    	$resultat_recherche_famille = array('en_ce_rang' => 'fin');
Line 245... Line 245...
245
	
245
	
Line 246... Line 246...
246
	public function rechercherNumTaxSurNumNom($num_nom) {
246
	public function rechercherNumTaxSurNumNom($num_nom) {
247
		
247
		
248
		$requete_num_tax = "SELECT DISTINCT b.esn_id_taxon FROM eflore_nom, eflore_nom_rang," .
248
		$requete_num_tax = "SELECT DISTINCT b.esn_id_taxon FROM eflore_nom, eflore_nom_rang," .
249
		" eflore_selection_nom a, eflore_selection_nom b".
249
		" eflore_selection_nom a, eflore_selection_nom b".
250
		" WHERE a.esn_id_nom= ".$this->proteger($num_nom). 
250
		" WHERE a.esn_id_nom= ".Cel::db()->proteger($num_nom). 
251
		" AND a.esn_id_version_projet_taxon = 25 ".
251
		" AND a.esn_id_version_projet_taxon = 25 ".
252
		" AND a.esn_id_taxon=b.esn_id_taxon ".
252
		" AND a.esn_id_taxon=b.esn_id_taxon ".
253
		" AND b.esn_ce_statut=3 ".
253
		" AND b.esn_ce_statut=3 ".
254
		" AND a.esn_id_version_projet_taxon=b.esn_id_version_projet_taxon" .
254
		" AND a.esn_id_version_projet_taxon=b.esn_id_version_projet_taxon" .
255
		" AND en_ce_rang = enrg_id_rang" .
255
		" AND en_ce_rang = enrg_id_rang" .
Line 256... Line 256...
256
		" AND en_id_nom = b.esn_id_nom" .
256
		" AND en_id_nom = b.esn_id_nom" .
Line 257... Line 257...
257
		" AND a.esn_id_version_projet_taxon=en_id_version_projet_nom ";
257
		" AND a.esn_id_version_projet_taxon=en_id_version_projet_nom ";
258
	     
258
	     
259
	    $res_num_nom = $this->executerRequete($requete_num_tax);
259
	    $res_num_nom = Cel::db()->executerRequete($requete_num_tax);
260
		
260
		
Line 267... Line 267...
267
	}
267
	}
Line 268... Line 268...
268
	
268
	
Line 269... Line 269...
269
	public function taxonEstPresentDansDepartement($num_taxon,$code_departement) {
269
	public function taxonEstPresentDansDepartement($num_taxon,$code_departement) {
270
		
270
		
271
		$requete_presence_taxon = "SELECT ecd_ce_taxon FROM eflore_zg, eflore_chorologie_donnee ".
271
		$requete_presence_taxon = "SELECT ecd_ce_taxon FROM eflore_zg, eflore_chorologie_donnee ".
272
								  "WHERE ecd_ce_taxon = ".$this->proteger($num_taxon)." ".
272
								  "WHERE ecd_ce_taxon = ".Cel::db()->proteger($num_taxon)." ".
273
								  "AND ezg_code = ".$this->proteger($code_departement)." ".
273
								  "AND ezg_code = ".Cel::db()->proteger($code_departement)." ".
274
								  "AND ecd_ce_zone_geo = ezg_id_zone_geo ". 
274
								  "AND ecd_ce_zone_geo = ezg_id_zone_geo ". 
Line 275... Line 275...
275
								  "AND ezg_id_projet_zg = ecd_ce_version_projet_zg ".
275
								  "AND ezg_id_projet_zg = ecd_ce_version_projet_zg ".
Line 276... Line 276...
276
								  "AND ecd_ce_version_projet_taxon=25";	
276
								  "AND ecd_ce_version_projet_taxon=25";	
Line 277... Line 277...
277
								  
277
								  
278
		$resultat_presence_taxon = $this->executerRequete($requete_presence_taxon);
278
		$resultat_presence_taxon = Cel::db()->executerRequete($requete_presence_taxon);
Line 287... Line 287...
287
		$nom_latin_decoupe=$nameparser->parse($identifiant_espece);
287
		$nom_latin_decoupe=$nameparser->parse($identifiant_espece);
288
		// requete sous espece (on privilegie les noms retenu cf tri par esn_ce_statut)
288
		// requete sous espece (on privilegie les noms retenu cf tri par esn_ce_statut)
289
		if (isset($nom_latin_decoupe['infra']) && $nom_latin_decoupe['infra']!="") {
289
		if (isset($nom_latin_decoupe['infra']) && $nom_latin_decoupe['infra']!="") {
290
			$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
290
			$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
291
            	" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
291
            	" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
292
            	" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".$this->proteger($nom_latin_decoupe['genus'])." " .
292
            	" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".Cel::db()->proteger($nom_latin_decoupe['genus'])." " .
293
                " AND enrg_abreviation_rang = ".$this->proteger($nom_latin_decoupe['infra_type'])." " .
293
                " AND enrg_abreviation_rang = ".Cel::db()->proteger($nom_latin_decoupe['infra_type'])." " .
294
                " AND en_epithete_infra_specifique = ".$this->proteger($nom_latin_decoupe['infra'])." " .
294
                " AND en_epithete_infra_specifique = ".Cel::db()->proteger($nom_latin_decoupe['infra'])." " .
295
                " AND esn_id_nom= en_id_nom ".
295
                " AND esn_id_nom= en_id_nom ".
296
                " AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
296
                " AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
297
                " AND en_epithete_espece =  ".$this->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " .
297
                " AND en_epithete_espece =  ".Cel::db()->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " .
298
                " ORDER BY esn_ce_statut ".
298
                " ORDER BY esn_ce_statut ".
299
                " LIMIT 1";
299
                " LIMIT 1";
300
		}
300
		}
301
		else { // espece  (on privilegie les noms retenu cf tri par esn_ce_statut)
301
		else { // espece  (on privilegie les noms retenu cf tri par esn_ce_statut)
302
			$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
302
			$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
303
				" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
303
				" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
304
				" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".$this->proteger($nom_latin_decoupe['genus'])." " .
304
				" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".Cel::db()->proteger($nom_latin_decoupe['genus'])." " .
305
				" AND enrg_abreviation_rang = 'sp.' " .
305
				" AND enrg_abreviation_rang = 'sp.' " .
306
				" AND esn_id_nom= en_id_nom ".
306
				" AND esn_id_nom= en_id_nom ".
307
				" AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
307
				" AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
308
				" AND en_epithete_espece =  ".$this->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " .
308
				" AND en_epithete_espece =  ".Cel::db()->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " .
309
				" ORDER BY esn_ce_statut ".
309
				" ORDER BY esn_ce_statut ".
310
				" LIMIT 1";
310
				" LIMIT 1";
Line 311... Line 311...
311
		
311
		
Line 312... Line 312...
312
		}
312
		}
Line 313... Line 313...
313
		
313
		
314
		$resultat = $this->executerRequete($requete);
314
		$resultat = Cel::db()->executerRequete($requete);
315
		
315
		
316
		$retour = array();
316
		$retour = array();