Subversion Repositories eFlore/Applications.cel

Rev

Rev 877 | Rev 1014 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 877 Rev 892
1
<?php
1
<?php
2
/**
2
/**
-
 
3
* PHP Version 5
3
 
4
*
-
 
5
* @category  PHP
-
 
6
* @package   jrest
4
 David Delon david.delon@clapas.net 2007
7
* @author    David Delon <david.delon@clapas.net>
-
 
8
* @copyright 2010 Tela-Botanica
-
 
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
-
 
10
* @version   SVN: <svn_id>
-
 
11
* @link      /doc/jrest/
-
 
12
*/
5
 
-
 
6
 Ce logiciel est r�gi par la licence CeCILL soumise au droit fran�ais et
-
 
7
 respectant les principes de diffusion des logiciels libres. Vous pouvez
-
 
8
 utiliser, modifier et/ou redistribuer ce programme sous les conditions
-
 
9
 de la licence CeCILL telle que diffus�e par le CEA, le CNRS et l'INRIA 
-
 
10
 sur le site "http://www.cecill.info".
-
 
11
 En contrepartie de l'accessibilit� au code source et des droits de copie,
-
 
12
 de modification et de redistribution accord�s par cette licence, il n'est
-
 
13
 offert aux utilisateurs qu'une garantie limit�e.  Pour les m�mes raisons,
-
 
14
 seule une responsabilit� restreinte p�se sur l'auteur du programme,  le
-
 
15
 titulaire des droits patrimoniaux et les conc�dants successifs.
13
 
16
 
-
 
17
 A cet �gard  l'attention de l'utilisateur est attir�e sur les risques
-
 
18
 associ�s au chargement,  � l'utilisation,  � la modification et/ou au
-
 
19
 d�veloppement et � la reproduction du logiciel par l'utilisateur �tant 
-
 
20
 donn� sa sp�cificit� de logiciel libre, qui peut le rendre complexe � 
-
 
21
 manipuler et qui le r�serve donc � des d�veloppeurs et des professionnels
-
 
22
 avertis poss�dant  des  connaissances  informatiques approfondies.  Les
-
 
23
 utilisateurs sont donc invit�s � charger  et  tester  l'ad�quation  du
-
 
24
 logiciel � leurs besoins dans des conditions permettant d'assurer la
-
 
25
 s�curit� de leurs syst�mes et ou de leurs donn�es et, plus g�n�ralement, 
-
 
26
 � l'utiliser et l'exploiter dans les m�mes conditions de s�curit�. 
-
 
27
                                                                                                      
-
 
28
 Le fait que vous puissiez acc�der � cet en-t�te signifie que vous avez 
-
 
29
 pris connaissance de la licence CeCILL, et que vous en avez accept� les
14
/**
30
 termes.
-
 
31
 
-
 
32
 */
15
* NameMap.php 
33
 
16
* 
34
// in utf8
17
* in utf8
35
// out utf8
-
 
36
 
-
 
37
/*
-
 
38
 * NameMap.php  
18
* out utf8 
39
 * 
19
* 
40
 * Cas d'utilisation :
20
* Cas d'utilisation :
41
 * Service recherche d'image a partir d'un numero nomenclatural
21
* Service recherche d'image a partir d'un numero nomenclatural
42
 * 
22
* 
43
 * 1: Le service recoit un numero nomenclatural
23
* 1: Le service recoit un numero nomenclatural
44
 * 2: Le service calcul le numero taxonomique associe
24
* 2: Le service calcul le numero taxonomique associe
45
 * 3: Le service recherche une carte disponible
25
* 3: Le service recherche une carte disponible
46
 * 		A: Pas de carte disponible, generation de l'image
26
* 		A: Pas de carte disponible, generation de l'image
-
 
27
*/
47
 */
28
 
48
 
29
// TODO: externaliser ceci dans le fichier de config
49
/** Constante stockant l'URL o. sont accessible les cartes. Le %s correspond au nom du fichier.*/
30
/** Constante stockant l'URL o. sont accessible les cartes. Le %s correspond au nom du fichier.*/
50
define('EF_URL_CARTO', 'http://www.tela-botanica.org/sites/eflore/generique/images/cartes/');
31
define('EF_URL_CARTO', 'http://www.tela-botanica.org/sites/eflore/generique/images/cartes/');
51
// france_BDNFF_4.02_nt8523.png
32
// france_BDNFF_4.02_nt8523.png
52
/** Constante stockant l'URL d'appel du module chorologie*/
33
/** Constante stockant l'URL d'appel du module chorologie*/
53
define('EF_URL_CHORO', 'http://www.tela-botanica.org/eflore/BDNFF/4.02/nn/');
34
define('EF_URL_CHORO', 'http://www.tela-botanica.org/eflore/BDNFF/4.02/nn/');
54
// 182/chorologie
35
// 182/chorologie
55
 
36
 
56
class NameMap extends Cel  {
37
class NameMap extends Cel  {
57
 
38
 
58
	// TODO: voir avec David quoi faire de cette variable inutilisée
39
	// TODO: voir avec David quoi faire de cette variable inutilisée
59
	private $extendMapProductor;
40
	private $extendMapProductor;
60
 
41
 
61
	function getElement($uid){
42
	function getElement($uid){
62
 
-
 
63
		// Num nomenclatural : recherche nt 
-
 
64
	    $requete_recherche_nt = "SELECT DISTINCT b.esn_id_taxon FROM eflore_nom, eflore_nom_rang," .
-
 
65
	    " eflore_selection_nom a, eflore_selection_nom b".
-
 
66
	    " WHERE a.esn_id_nom= ".$this->proteger($uid[0]). 
-
 
67
	    " AND a.esn_id_version_projet_taxon = 25 ".
-
 
68
	    " AND a.esn_id_taxon=b.esn_id_taxon ".
-
 
69
	    " AND b.esn_ce_statut=3 ".
-
 
70
	    " AND a.esn_id_version_projet_taxon=b.esn_id_version_projet_taxon" .
-
 
71
	    " AND en_ce_rang = enrg_id_rang" .
-
 
72
	    " AND en_id_nom = b.esn_id_nom" .
-
 
73
	    " AND a.esn_id_version_projet_taxon=en_id_version_projet_nom ";
-
 
74
	     	    
-
 
75
	    $resultat_recherche_nt = $this->requeter($requete_recherche_nt);
-
 
76
		
43
 
77
		$nt = null;
-
 
78
		if (is_array($resultat_recherche_nt) && count($resultat_recherche_nt) > 0) {
-
 
79
			
-
 
-
 
44
		$nt = null;
-
 
45
 
80
		}	    
46
		if(isset($uid[0])) {
-
 
47
			$recherche_infos_taxon = new RechercheInfosTaxon($this->config);
81
 
48
			$nt = $recherche_infos_taxon->rechercherNumTaxSurNumNom($uid[0]);
82
        $nt=$resultat_recherche_nt[0]['esn_id_taxon'];
49
		}
83
        
50
        
84
        $retour = array('');
51
        $retour = array('');
85
        
52
        
86
        // si le taxon cherché existe 
53
        // si le taxon cherché existe 
87
        if ($nt) {           
54
        if ($nt) {           
88
			$file = EF_URL_CARTO."france_BDNFF_4.02_nt".$nt.".png";
55
			$file = EF_URL_CARTO."france_BDNFF_4.02_nt".$nt.".png";
89
			$file_headers = @get_headers($file);
56
			$file_headers = @get_headers($file);
90
			
57
			
91
			if ($file_headers[0] == 'HTTP/1.1 404 Not Found') {
58
			if ($file_headers[0] == 'HTTP/1.1 404 Not Found') {
92
			}
59
			}
93
			else {
60
			else {
94
				$service=EF_URL_CHORO.$uid[0].'/chorologie';
61
				$service=EF_URL_CHORO.$uid[0].'/chorologie';
95
				@get_headers($service);
62
				@get_headers($service);
96
			}
63
			}
97
			
64
			
98
			$retour = array($file);
65
			$retour = array($file);
99
        }    	    
66
        }    	    
100
 
67
 
101
		$output = json_encode($retour);
68
		$output = json_encode($retour);
-
 
69
		header("content-type: application/json");
102
		print($output);
70
		print($output);			
103
			
-
 
104
	}
71
	}
105
}
72
}
106
 
-
 
107
/* +--Fin du code ---------------------------------------------------------------------------------------+
73
/* +--Fin du code ---------------------------------------------------------------------------------------+
108
* $Log$
74
* $Log$
109
* Revision 1.1  2008-01-30 08:57:28  ddelon
75
* Revision 1.1  2008-01-30 08:57:28  ddelon
110
* fin mise en place mygwt
76
* fin mise en place mygwt
111
*
77
*
112
* Revision 1.1  2007-06-06 13:31:16  ddelon
78
* Revision 1.1  2007-06-06 13:31:16  ddelon
113
* v0.09
79
* v0.09
114
*/
80
*/
115
?>
81
?>