Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 287 → Rev 288

/trunk/services/modules/0.1/coste/Textes.php
40,7 → 40,7
$this->traiterParametres($parametres);
$this->traiterRessources($ressources);
if ($this->corps_http == '' && $this->entete_http == '') {
$requete = $this->assemblerLaRequete();
$requete = $this->assemblerLaRequete();
$resultat = $this->getBdd()->recupererTous($requete);
$this->testerResultat($resultat, $resultat_formate, $requete);
}
47,7 → 47,28
return $this->formerReponseHTTP($resultat_formate);
}
public function formerReponseHTTP($resultat_formate, $mime = 'application/json', $encodage= 'utf-8') {
// Si aucune erreur n'a été établie (donc un tableau de résultat a bien ete renvoyé...)
if ($this->corps_http == '' && $this->entete_http == '') {
$this->entete_http = RestServeur::HTTP_CODE_OK;
$this->corps_http = $resultat_formate;
}
if ($this->entete_http != RestServeur::HTTP_CODE_OK) {
$mime = 'text/html';
}
// Gestion du type de contenu
if (!is_null($mime) && !is_null($encodage)) {
header("Content-Type: $mime; charset=$encodage");
} else if (!is_null($mime) && is_null($encodage)) {
header("Content-Type: $mime");
}
// Envoie de l'entête
RestServeur::envoyerEnteteStatutHttp($this->entete_http);
// Envoie du corps
return $this->corps_http;
}
public function testerResultat($resultat, &$resultat_formate, $requete) {
if ($resultat == '') { //cas ou coste/services/ ou la requete comporte des erreurs
$e = 'La requête SQL formée comporte une erreur!';
99,7 → 120,18
if ($this->recherche == 'etendue') {
$id = '%'.str_replace(' ','%', $id).'%';
}
$this->requete_champ = ' t1.resource AS tag, t1.value AS num_nom, t2.value AS titre, p.body AS texte';
$this->requete_champ = 'c.id AS num_nom, i.nom_sci AS titre, t1.resource AS tag, p.body AS texte';
$this->table = array(Config::get("bdd_correspondance_bdnff").' c',
Config::get("bdd_triples").' t1',
Config::get("bdd_index").' i',
Config::get("bdd_pages").' p');
$this->requete_condition[] = 'c.num_nom ='.$this->getBdd()->proteger($id);
$this->requete_condition[] = 'c.id = i.num_nom';
$this->requete_condition[] = 'i.nom_sci = t1.value';
$this->requete_condition[] = 't1.resource = p.tag';
/*$this->requete_champ = ' t1.resource AS tag, t1.value AS num_nom, t2.value AS titre, p.body AS texte';
$this->requete_condition[] = 't1.resource LIKE '.$this->getBdd()->proteger($id);
$this->requete_condition[] = 't1.property = "num_nom"';
$this->requete_condition[] = '(t1.resource = t2.resource AND t2.property = "titre")';
107,7 → 139,7
$this->table = array(Config::get("bdd_triples").' t1',
Config::get("bdd_triples").' t2',
Config::get("bdd_pages").' p');
$this->ajouterRechercheFloue('t1.resource', $id);
$this->ajouterRechercheFloue('t1.resource', $id);*/
}
public function traiterRessourcesListe() {
158,16 → 190,16
}
foreach ($parametres as $param => $val) {
switch ($param) {
case 'retour_format' : $this->retour_format = $val; break;
case 'masque_titre' : $this->ajouterLeFiltreMasque('titre', $val); break;
case 'masque_famille' : $this->ajouterLeFiltreMasque('famille', $val); break;
case 'masque_ns' : $this->ajouterLeFiltreMasque('nom_sci', $val); break;
case 'masque_type' : $this->ajouterLeFiltreMasque('type', $val); break;
case 'masque_txt' : $this->ajouterLeFiltreMasque('texte', $val); break;
case 'masque_page' : $this->ajouterLeFiltreMasque('page',$val); break;
case 'masque_tome' : $this->ajouterLeFiltreMasque('tome',$val); break;
case 'navigation_depart': $this->limite_requete['depart'] = $val; break;
case 'navigation_limite': $this->limite_requete['limite'] = $val; break;
case 'retour.format' : $this->retour_format = $val; break;
case 'masque.titre' : $this->ajouterLeFiltreMasque('titre', $val); break;
case 'masque.famille' : $this->ajouterLeFiltreMasque('famille', $val); break;
case 'masque.ns' : $this->ajouterLeFiltreMasque('nom_sci', $val); break;
case 'masque.type' : $this->ajouterLeFiltreMasque('type', $val); break;
case 'masque.txt' : $this->ajouterLeFiltreMasque('texte', $val); break;
case 'masque.page' : $this->ajouterLeFiltreMasque('page',$val); break;
case 'masque.tome' : $this->ajouterLeFiltreMasque('tome',$val); break;
case 'navigation.depart': $this->limite_requete['depart'] = $val; break;
case 'navigation.limite': $this->limite_requete['limite'] = $val; break;
case 'recherche' : break;
default :
$e = "Erreur dans les paramètres de recherche de votre requête : </br> Le parametre $param n\'existe pas.";
286,7 → 318,6
case 'textes/id/champ' : $reponse = $this->formaterTextesIdChamp($resultat[0]); break;
default : break;
}
$reponse = json_encode($reponse);
return $reponse;
}
/trunk/services/configurations/config_coste.ini
New file
0,0 → 1,69
; Encodage : UTF-8
 
; Nom du projet
nom_projet = "coste"
 
; Nom de la base utilisée.
bdd_nom = "tb_eflore"
 
; Nom de la table principalement utilisée.
bdd_table = "coste"
 
; Nom de la table métadonnées utilisée.
bdd_table_meta = "coste_meta"
 
bdd_triples = "coste_triples"
bdd_pages = "coste_pages"
bdd_images = "coste_images_correspondance_bdnff"
bdd_correspondance_bdnff = "coste_correspondance_bdnff"
bdd_index = "coste_index"
 
; Nom de la table ontologies utilisée.
bdd_table_ontologies = "coste_ontologies"
 
; Standard utilisé pour les codes de langue
langue_source = "ISO-639-1";
 
; Standard utilisé pour les codes de zones géographiques
zone_geo_source = "INSEE-D";
 
; URL de base des services de ce projet
url_service="{ref:url_base}service:eflore:0.1/coste"
 
; URL de l'ontologie des bdnt
url_ontologie="{ref:url_base}service:eflore:0.1/eflore/ontologies/"
 
; +------------------------------------------------------------------------------------------------------+
; Config spécifique au projet
; Noms des services disponibles pour ce projet
servicesDispo = "meta-donnees,aide,noms,taxons,images,textes"
 
 
;correspondance champs bdnt pour l'affichage lors du résultat renvoyé
correspondance_champs = "
num_nom=id,
num_nom_retenu=nom_retenu.id,
num_tax_sup=tax_sup.id,
rang=rang.code,
nom_sci=nom_sci,
nom_supra_generique=nom_sci.supra_generique,
genre=nom_sci.genre,
epithete_infra_generique=nom_sci.infra_generique,
epithete_sp=nom_sci.sp,
type_epithete=nom_sci.type_epithete,
epithete_infra_sp=nom_sci.infra_sp,
cultivar_groupe=nom_sci.cultivar_groupe,
cultivar=nom_sci.cultivar,
nom_commercial=nom_sci.nom_commercial,
auteur=auteur,
annee=annee,
biblio_origine=biblio_origine,
notes=notes,
nom_addendum=nom_addendum,
homonyme=homonyme,
basionyme=basionyme.id,
nom_francais=nom_fr"
 
 
;tableau contenant tous les noms des projet et la correspondance avec le nom des champs des flores de la bdnff
noms_projets="flore_bdnff=bdtfx"