Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1633 → Rev 1634

/trunk/jrest/services/ExportXLS.php
32,6 → 32,10
*
*/
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(dirname(realpath(__FILE__))) . '/lib');
// TERM
ini_set('html_errors', 0);
ini_set('xdebug.cli_color', 2);
require_once('lib/PHPExcel/Classes/PHPExcel.php');
 
// si getNomCommun_v2 ou getNomCommun_v3 sont utilisés
/*require_once('/home/raphael/eflore/framework/framework/Framework.php');
101,7 → 105,7
$criteres['debut'] = isset($_GET['debut']) ? intval($_GET['debut']) : 0;
$criteres['limite'] = isset($_GET['limite']) ? intval($_GET['limite']) : 0;
$observations = $chercheur_observations
->rechercherObservations($params['uid'], $criteres, $criteres['debut'], $criteres['limite'])
->rechercherObservations($params['uid'], $criteres, $criteres['debut'], $criteres['limite'], TRUE)
->get();
// debug //echo ($chercheur_observations->requete_selection_observations);
194,6 → 198,8
 
foreach($inSets as $inSet) {
list($start,$end) = explode('-', $inSet . '-' . $inSet);
// ignore les ranges trop importants
if($start > 10000000 || $end > 10000000 || abs($start-$end) > 10000) continue;
$outSets = array_merge($outSets,range($start,$end));
}
$outSets = array_unique($outSets);
/trunk/jrest/lib/RechercheObservation.php
41,7 → 41,7
return $ids;
}
 
public function rechercherObservations($id_utilisateur = null, $criteres = array(), $debut = 0, $limite = 50) {
public function rechercherObservations($id_utilisateur = null, $criteres = array(), $debut = 0, $limite = 50, $are_we_safe = FALSE) {
$requete_selection_observations = 'SELECT * FROM cel_obs ';
 
if ($id_utilisateur != null) {
50,6 → 50,10
$requete_selection_observations .= 'WHERE ';
}
 
// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
// effectue $criteres = $_GET sans nettoyage préalable.
if(isset($criteres['raw']) && ! $are_we_safe) unset($criteres['raw']);
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
 
$requete_selection_observations .= $sous_requete_recherche;
242,6 → 246,10
" famille LIKE ".$valeur_protegee.
" ) AND ";
break;
case 'raw':
$sous_requete .= $valeur;
$sous_requete .= ' AND ';
break;
default:
if (trim($nom) != '') {
$sous_requete .= $nom." = ".$this->proteger($valeur) ;