Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
416 aurelien 1
<?php
2458 jpm 2
// declare(encoding='UTF-8');
416 aurelien 3
/**
2458 jpm 4
 * Service recherche d'image a partir d'un numero nomenclatural.
5
 *
6
 * Cas d'utilisation :
7
 * 1: Le service recoit un numero nomenclatural
8
 * 2: Le service calcul le numero taxonomique associe
9
 * 3: Le service recherche une image disponible pour ce numero taxonomique
10
 * 4: Le service redimensionne l'image et la renvoie
11
 *
12
 * @internal   Mininum PHP version : 5.2
13
 * @category   CEL
14
 * @package    Services
15
 * @subpackage Images
16
 * @version    0.1
17
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
18
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
19
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
20
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
21
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
22
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
23
 */
876 aurelien 24
class NameImage extends Cel  {
416 aurelien 25
 
2458 jpm 26
	public function getElement($uid){
27
		$image = array('', '');
28
		if (isset($uid[0]) && isset($uid[1])) {
1527 aurelien 29
			$uid[0] = $uid[0] != '' ? $uid[0] : 'bdtfx';
30
			$image = $this->obtenirIllustration($uid[0], $uid[1]);
416 aurelien 31
		}
2458 jpm 32
 
33
		$this->envoyerJson($image);
34
		return true;
416 aurelien 35
	}
2458 jpm 36
 
37
	private function obtenirIllustration($referentiel_taxo, $nn) {
1527 aurelien 38
		// TODO: gérer ici les images d'autres référentiels si celles si sont disponibles
2458 jpm 39
		$retour = array('', '');
40
		if ($referentiel_taxo == 'bdtfx') {
41
			$retour = $this->effectuerRequetePhotoFlora($nn);
1527 aurelien 42
		}
43
		return $retour;
44
	}
2458 jpm 45
 
1527 aurelien 46
	private function effectuerRequetePhotoFlora($nn) {
47
		$url_photoflora = $this->config['eflore']['url_service_photoflora'];
48
		$url = $url_photoflora.'?masque.nn='.$nn.'&navigation.limite=1';
49
		$resultat = @file_get_contents($url);
50
		$resultat = json_decode($resultat);
2458 jpm 51
		if (is_object($resultat) && isset($resultat->resultats)) {
1527 aurelien 52
			$element = (array)$resultat->resultats;
53
			$element = array_pop($element);
54
			if(is_object($element)) {
55
				$image = array($element->{'binaire.href'}, $element->{'binaire.hrefmax'});
56
			} else {
2458 jpm 57
				$image = array('', '');
1527 aurelien 58
			}
59
		}
60
		return $image;
61
	}
2458 jpm 62
}