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;
}