Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 847 | Rev 940 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 847 Rev 937
Line 332... Line 332...
332
			$url = Config::get('url_service_base').Config::get('nom_projet').'/'.$service.'/'.$val.'?version.projet='.ltrim($this->version_projet, 'v');
332
			$url = Config::get('url_service_base').Config::get('nom_projet').'/'.$service.'/'.$val.'?version.projet='.ltrim($this->version_projet, 'v');
333
		}
333
		}
334
		return $url;
334
		return $url;
335
	}
335
	}
Line -... Line 336...
-
 
336
 
-
 
337
	static function s_ajouterHref($service, $val, $version_projet = '') {
-
 
338
		// http://tela-botanica.org/service:eflore:0.1/[projet]/[version_projet]/[service]/[ressource]:[valeur]
-
 
339
		return Config::get('url_service_base').Config::get('nom_projet').'/'.$service.'/'.$val . ($version_projet != '+') ? ('?version.projet='.ltrim($version_projet, 'v')) : '';
-
 
340
	}
336
 
341
 
337
	public function ajouterHrefAutreProjet($service, $ressource, $valeur, $projet = null, $param = null) {
342
	public function ajouterHrefAutreProjet($service, $ressource, $valeur, $projet = null, $param = null) {
338
		//on enleve les GA et Co, les meta ou les "_"
343
		//on enleve les GA et Co, les meta ou les "_"
339
		$this->transliterer($service, $valeur);
344
		$this->transliterer($service, $valeur);
340
		//on définit les nom des projets, des services et des ressources de l'url (dans les méta-donnees)
345
		//on définit les nom des projets, des services et des ressources de l'url (dans les méta-donnees)
Line 356... Line 361...
356
		$param = ($param) ? "?".$param : "";
361
		$param = ($param) ? "?".$param : "";
357
		$url = Config::get('url_service_base').$projet.'/'.$service.'/'.$ressource.$valeur.$param;
362
		$url = Config::get('url_service_base').$projet.'/'.$service.'/'.$ressource.$valeur.$param;
358
		return $url;
363
		return $url;
359
	}
364
	}
Line -... Line 365...
-
 
365
 
-
 
366
	static function s_ajouterHrefAutreProjet($service, $ressource, $valeur, $projet = null, $param = null) {
-
 
367
		//on enleve les GA et Co, les meta ou les "_"
-
 
368
		self::s_transliterer($service, $valeur);
-
 
369
		//on définit les nom des projets, des services et des ressources de l'url (dans les méta-donnees)
-
 
370
		$tab = array(
-
 
371
			'langue' 			  => array('service' => 'langues', 'projet' => 'iso-639-1', 'ressource' => ''),
-
 
372
			'couverture_spatiale' => array('service' => 'zone-geo', 'projet' => 'iso-3166-1', 'ressource' => ''),
-
 
373
			'type' 				  => array('service' => 'ontologies', 'projet' => 'eflore', 'ressource' => 'contactType:'),
-
 
374
			'datum' 			  => array('service' => 'ontologies', 'projet' => 'eflore', 'ressource' => 'datum:')
-
 
375
		);
-
 
376
		if (array_key_exists($service, $tab)) {
-
 
377
			extract($tab[$service]);
-
 
378
		} else {
-
 
379
			if (strpos(Config::get('nom_projet'), 'bd') === 0 && $projet == null) {
-
 
380
				$projet 		= 'bdnt';
-
 
381
				$service 		= 'ontologies';
-
 
382
				$ressource 		= '';
-
 
383
			}
-
 
384
		}
-
 
385
		$param = ($param) ? "?".$param : "";
-
 
386
		$url = Config::get('url_service_base').$projet.'/'.$service.'/'.$ressource.$valeur.$param;
-
 
387
		return $url;
-
 
388
	}
360
 
389
 
361
	/**Permet de consulter une url et retourne le résultat ou une erreur
390
	/**Permet de consulter une url et retourne le résultat ou une erreur
362
	 * @param $url	 */
391
	 * @param $url	 */
363
	public function consulterHref($url) {
392
	public function consulterHref($url) {
364
		$res = $this->getRestClient()->consulter($url);
393
		$res = $this->getRestClient()->consulter($url);
Line 385... Line 414...
385
		} elseif (strrpos($service, 'datum') !== false) {
414
		} elseif (strrpos($service, 'datum') !== false) {
386
			$service = 'datum';
415
			$service = 'datum';
387
		}
416
		}
388
	}
417
	}
Line -... Line 418...
-
 
418
 
-
 
419
	static function s_transliterer(&$service, &$val) {
-
 
420
		if (preg_match('/^.+:(.+)$/', $val, $match)) {
-
 
421
			$val = $match[1];
-
 
422
		}
-
 
423
		$service = str_replace(array('_Ga','_Co','_meta'), '', $service);
-
 
424
		if ($service == 'rang') {
-
 
425
			$ressource = 'rangTaxo';
-
 
426
		} elseif (preg_match('/^(statut)(?:_|-)([^_-]+)$/', $service, $match)) {
-
 
427
			$service = $match[1].ucfirst($match[2]);
-
 
428
		} elseif (strrpos($service, 'datum') !== false) {
-
 
429
			$service = 'datum';
-
 
430
		}
-
 
431
	}
389
 
432
 
390
	// prend en arguments la valeur de la recherche, les résultats approchés, le paramétre recherche
433
	// prend en arguments la valeur de la recherche, les résultats approchés, le paramétre recherche
391
	// retourne le tableau trié en fonction de la ressemblance entre le résultat approché et la valeur recherchée
434
	// retourne le tableau trié en fonction de la ressemblance entre le résultat approché et la valeur recherchée
392
	public function trierRechercheFloue($nom_demande, $tab_approchee, $nom) {
435
	public function trierRechercheFloue($nom_demande, $tab_approchee, $nom) {
393
		$trie = '';
436
		$trie = '';
Line 422... Line 465...
422
		foreach ($tableauPartiel as $champ) {
465
		foreach ($tableauPartiel as $champ) {
423
			if (strpos($champ, '=') === false) {
466
			if (strpos($champ, '=') === false) {
424
				$tableau[] = $champ;
467
				$tableau[] = $champ;
425
			} else {
468
			} else {
426
				list($cle, $val) = explode('=', $champ);
469
				list($cle, $val) = explode('=', $champ);
-
 
470
				$tableau[$cle] = $val;
-
 
471
			}
-
 
472
		}
-
 
473
		return $tableau;
-
 
474
	}
-
 
475
 
-
 
476
	static function s_recupererTableauConfig($param) {
-
 
477
		$tableau = array();
-
 
478
		$tableauPartiel = array_map('trim', explode(',', Config::get($param)));
-
 
479
		foreach ($tableauPartiel as $champ) {
-
 
480
			if (strpos($champ, '=') === false) {
-
 
481
				$tableau[] = $champ;
-
 
482
			} else {
-
 
483
				list($cle, $val) = explode('=', $champ);
427
				$tableau[$cle] = $val;
484
				$tableau[$cle] = $val;
428
			}
485
			}
429
		}
486
		}
430
		return $tableau;
487
		return $tableau;
431
	}
488
	}