Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1376 → Rev 1378

/trunk/jrest/lib/RechercheObservation.php
62,7 → 62,7
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
$requete_selection_observations .= ' ORDER BY ordre LIMIT '.$debut.','.$limite ;
 
$resultats_observations = array();
$resultats_observations = $this->requeter($requete_selection_observations);
 
186,7 → 186,17
if($valeur == "NULL") {
$sous_requete .= "(ce_zone_geo IS NULL OR ce_zone_geo = '')";
} else {
$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$valeur.'___');
if(strpos($valeur,',') !== false) {
$dpts = explode(',',$valeur);
$sous_requete .= '(';
foreach($dpts as $dpt) {
$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$dpt.'___').' OR ';
}
$sous_requete = rtrim($sous_requete,' OR ').') ';
} else {
$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$valeur.'___');
}
}
$sous_requete .= ' AND ' ;
break;
209,7 → 219,15
case 'recherche':
$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur);
$sous_requete .= ' AND ';
break;
break;
case 'date_debut':
$sous_requete .= 'date_observation >= '.$this->proteger($this->formaterEnDateMysql($valeur));
$sous_requete .= ' AND ';
break;
case 'date_fin':
$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur));
$sous_requete .= ' AND ';
break;
default:
if(trim($nom) != '')
{
228,6 → 246,14
return $sous_requete;
}
private function formaterEnDateMysql($date) {
$annee = substr($date, 6, 4);
$mois = substr($date, 3, 2);
$jour = substr($date, 0, 2);
$date = $annee . '-' . $mois . '-' . $jour;
return $date;
}
private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur) {
$valeur = str_replace("*","%",$valeur);
$valeur = $this->proteger('%'.$valeur.'%');
269,7 → 295,6
);
return $sous_requete .= $champs[$valeur]." = ".$this->proteger("");
}
}
}
?>
/trunk/jrest/services/CelWidgetExport.php
55,7 → 55,9
'commune' => 'zone_geo',
'dept' => 'departement',
'projet' => 'mots_cles',
'num_tax' => 'nt'
'num_tax' => 'nt',
'date_debut' => 'date_debut',
'date_fin' => 'date_fin'
);
/**
69,7 → 71,7
$chercheur_observations = new RechercheObservation($this->config);
$numero_page = isset($criteres['debut']) ? $criteres['debut'] : 1;
$limite = isset($criteres['limite']) ? $criteres['limite'] : 50;
$limite = isset($criteres['limite']) ? $criteres['limite'] : 10000;
unset($criteres['limite']);
unset($criteres['debut']);
102,7 → 104,9
$outstream = fopen($chemin_temp, 'r+');
$intitule_champs = array();
foreach($data as $ligne) {
//echo '<pre>'.print_r($ligne,true).'</pre>';
$ligne = array_diff_key($ligne, $this->champs_a_exclure);
//echo '<pre>'.print_r($ligne,true).'</pre>';
if(empty($intitule_champs)) {
$intitule_champs = $this->creerEntetesChamps($ligne);
fputcsv($outstream, $intitule_champs, ',', '"');