Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Regard whitespace Rev 1099 → Rev 1100

/trunk/services/modules/0.1/chorodep/Observations.php
195,7 → 195,7
case 'masque.valeur' : $this->presenceChorologie = $valeur; break;
case 'retour.format' : $this->retour_format = $valeur; break;
case 'navigation.depart' : $this->ajouterLimiteDepart($valeur); break;
case 'navigation.limite' : $this->limite_requete['limite'] = $valeur; break;
case 'navigation.limite' : if ($valeur !== '') $this->limite_requete['limite'] = $valeur; break;
case 'recherche' : break;
case 'version.projet' : break;
default : $p = 'Erreur dans les paramètres de recherche de votre requête : '.
305,8 → 305,15
$requete_contr = "SELECT * FROM chorodep_contributeurs_v$version WHERE ".$condition;
}
/**
* @param type $id un offset ou une combinaison de la forme "num_nom:departement"
*/
public function ajouterLimiteDepart($id) {
if ($id !== '') {
// $id est de la forme nn:dept - wtf ? en plus ça marche pas, le lien
// "href.suivant" génère du caca d'oie
$d = explode(":", $id);
if (count($d) == 2) {
$this->limite_requete['depart'] = 0;
$this->limite_requete['dept'] = $d[1];
if (!isset($this->parametres['masque.determination.nn'])) {
324,7 → 331,12
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $i);
}
}
} else {
// $id est un simple offset
$this->limite_requete['depart'] = $id;
}
}
}
// +-------------------------------------------------------------------------------------------------------------------+
public function retournerResultatFormate($resultat) {
389,6 → 401,10
$this->table_retour = array();
}
//on remplit la table $table_retour_json['entete']
// Mode moderne rétrocompatible : les départ sont toujours de simples offsets
if (strpos($this->limite_requete['depart'], ':') === false) {
$id = $this->limite_requete['depart'] + $this->limite_requete['limite'];
}
//formuler les urls precedentes et suivantes affichées dans l'entete du resultat
$url = $this->formulerUrlObs($id, $num, '/observations');
if ($url['precedent'] != '') { $this->table_entete['href.precedent'] = $url['precedent']; }
692,6 → 708,11
*/
public function recupererLesLimitesPrecedentesObs($suivant) {
$url_precedente = '';
// tentative de fonctionnement normal
if (strpos($this->limite_requete['depart'], ':') === false && $this->limite_requete['depart'] != 0) {
$departPrec = max(0, $this->limite_requete['depart'] - $this->limite_requete['limite']);
$url_precedente = "&navigation.depart=$departPrec&navigation.limite=" . $this->limite_requete['limite'];
}
if (isset($this->table_param['navigation_depart'])) { // si on utilise un parametre de départ
// si l'adresse d'appel de la page est inférieur au départ
$regex = '/http:\/\/.*\/service:eflore:0.1\/chorodep\/observations\?.*navigation.depart=(.*\:[0-9]*).*/';