Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 959 → Rev 960

/trunk/services/tests/0.1/baseveg/SyntaxonsTest.php
199,8 → 199,7
foreach ($ressourcesList as $ressources) {
$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
$messageAttendu = "Les données recherchées sont introuvables.";
$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si les données recherchées sont introuvables. Voir : $url");
$this->assertEquals("Données introuvables dans la base", $retour, "Il faut indiquer si les données recherchées sont introuvables. Voir : $url");
}
$ressourcesList = array(
array('catminat:18-5.2.1.6.0-8','relations','synonymie'),
/trunk/services/modules/0.1/baseflor/InformationsBaseflor.php
485,7 → 485,7
}
public function delimiterResultatsRequete() {
$this->total_resultat = self::calculerTotalResultat(
$this->total_resultat = Informations::calculerTotalResultat(
$this->getBdd(),
$this->table,
Array(),
/trunk/services/modules/0.1/baseveg/syntaxons/SyntaxonsCommun.php
15,6 → 15,8
* @copyright 1999-2012 Tela Botanica (accueil@tela-botanica.org)
*/
 
require_once(dirname(__FILE__) . '/../../baseflor/Informations.php');
 
class SyntaxonsCommun extends Commun {
25,18 → 27,18
protected $syn;
protected $niv;
protected $limite_requete = array('depart' => 0, 'limite' => 100);
protected $requete_condition = '';
protected $requete_condition = array();
protected $total_resultat;
protected $champs_recherches = ' * ';
protected $table_version;
protected $version_projet = '+' ;
protected $cache = array();
static $cache = array();
public function __construct(Conteneur $conteneur) {
$this->Bdd = $conteneur->getBdd();
$this->syn = $this->getParametreTableauSpe('synonymes');
$this->niv = $this->getParametreTableauSpe('niveaux');
$this->syn = $this->getParametreTableauSpe('Paramètres.synonymes');
$this->niv = $this->getParametreTableauSpe('Paramètres.niveaux');
}
 
105,11 → 107,11
$ontologie = array();
$url = Config::get('url_service_base').Config::get('nom_projet').
'/ontologies/'.$code.':'.urlencode(urlencode($valeur));
if(array_key_exists($url, $this->cache)) {
$val = $this->cache[$url];
if(array_key_exists($url, self::$cache)) {
$val = self::$cache[$url];
} else {
$val = $this->consulterHref($url);
$this->cache[$url] = $val;
self::$cache[$url] = $val;
}
$ontologie['niveau.code'] = $valeur;
$ontologie['niveau.libelle'] = $val->nom;
145,9 → 147,8
protected function traiterOntologieNiveau($niveau) {
$ontologie = array();
if ( preg_match('/syn {0,1}(['.implode($this->syn).']*)( *\[.+\])*/',$niveau,$retour)) {
if ( preg_match('/syn {0,1}(['.implode('',$this->syn).']*)( *\[.+\])*/',$niveau,$retour)) {
$ontologie = $this->recupererOntologiesNiveauSyn($retour);
} else {
160,26 → 161,18
protected function assemblerLaRequete() {
$requete = ' SELECT '.$this->champs_recherches.' FROM '.$this->table.' '
.$this->retournerRequeteCondition().' '.$this->delimiterResultatsRequete();
.Informations::retournerRequeteCondition($this->requete_condition).' '.$this->delimiterResultatsRequete();
return $requete;
}
protected function calculerTotalResultat() {
$requete = 'SELECT count(*) as nombre FROM '.$this->table.' '.$this->retournerRequeteCondition();
$res = $this->getBdd()->recuperer($requete);
if ($res) {
$this->total_resultat = $res['nombre'];
} else {
$this->total_resultat = 0;
$e = 'Données introuvables dans la base';
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $e);
}
}
protected function delimiterResultatsRequete() {
$this->calculerTotalResultat();
$this->total_resultat = Informations::calculerTotalResultat(
$this->getBdd(),
$this->table,
Array(),
$this->requete_condition);
 
$requete_limite = '';
if (($this->limite_requete['depart'] <= $this->total_resultat) ){
if (($this->limite_requete['limite'] + $this->limite_requete['depart'] )
197,14 → 190,6
protected function retournerRequeteCondition() {
$condition = '';
if (empty($this->requete_condition) == false) {
$condition = ' WHERE '.implode(' AND ', $this->requete_condition);
}
return $condition;
}
 
}
?>