Subversion Repositories eFlore/Applications.cel

Rev

Rev 1527 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
416 aurelien 1
<?php
2
/**
892 aurelien 3
* PHP Version 5
4
*
5
* @category  PHP
6
* @package   jrest
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
*/
416 aurelien 13
 
892 aurelien 14
/**
15
* NameImage.php
16
*
17
* in : utf8
18
* out : 8859
19
*
20
* Cas d'utilisation :
21
* Service recherche d'image a partir d'un numero nomenclatural
22
*
23
* 1: Le service recoit un numero nomenclatural
24
* 2: Le service calcul le numero taxonomique associe
25
* 3: Le service recherche une image disponible pour ce numero taxonomique
26
* 4: Le service redimensionne l'image et la renvoie
27
*/
876 aurelien 28
class NameImage extends Cel  {
416 aurelien 29
 
30
	function getElement($uid){
31
 
1527 aurelien 32
		$image = array("","");
33
		if(isset($uid[0]) && isset($uid[1])) {
34
			$uid[0] = $uid[0] != '' ? $uid[0] : 'bdtfx';
35
			$image = $this->obtenirIllustration($uid[0], $uid[1]);
416 aurelien 36
		}
37
 
1426 aurelien 38
		$this->envoyerJson($image);
1014 aurelien 39
		return true;
416 aurelien 40
	}
1527 aurelien 41
 
42
	function obtenirIllustration($referentiel_taxo, $nn) {
43
		// TODO: gérer ici les images d'autres référentiels si celles si sont disponibles
44
		$retour = array("","");
45
		switch($referentiel_taxo) {
46
			case 'bdtfx':
47
				$retour = $this->effectuerRequetePhotoFlora($nn);
48
				break;
49
 
50
			default:
51
				break;
52
		}
53
		return $retour;
54
	}
55
 
56
	private function effectuerRequetePhotoFlora($nn) {
57
		$url_photoflora = $this->config['eflore']['url_service_photoflora'];
58
		$url = $url_photoflora.'?masque.nn='.$nn.'&navigation.limite=1';
59
		$resultat = @file_get_contents($url);
60
		$resultat = json_decode($resultat);
61
		if(is_object($resultat) && isset($resultat->resultats)) {
62
			$element = (array)$resultat->resultats;
63
			$element = array_pop($element);
64
			if(is_object($element)) {
65
				$image = array($element->{'binaire.href'}, $element->{'binaire.hrefmax'});
66
			} else {
67
				$image = array('','');
68
			}
69
		}
70
		return $image;
71
	}
416 aurelien 72
}
73
/* +--Fin du code ---------------------------------------------------------------------------------------+
74
* $Log$
75
* Revision 1.4  2008-11-13 11:29:12  ddelon
76
* Reecriture gwt-ext
77
*
78
* Revision 1.2  2008-01-30 08:57:28  ddelon
79
* fin mise en place mygwt
80
*
81
* Revision 1.1  2007-06-06 13:31:16  ddelon
82
* v0.09
83
*
84
*/
876 aurelien 85
?>