Line 211... |
Line 211... |
211 |
'FROM cel_obs '.
|
211 |
'FROM cel_obs '.
|
212 |
(($this->etreFluxAdmin()) ? '' : 'WHERE transmission = 1 ').
|
212 |
(($this->etreFluxAdmin()) ? '' : 'WHERE transmission = 1 ').
|
213 |
'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'date_modification DESC').' '.
|
213 |
'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'date_modification DESC').' '.
|
214 |
"LIMIT $this->start,$this->limit ";
|
214 |
"LIMIT $this->start,$this->limit ";
|
Line 215... |
Line 215... |
215 |
|
215 |
|
Line 216... |
Line 216... |
216 |
$elements = $this->executerRequete($requete);
|
216 |
$elements = Cel::db()->executerRequete($requete);
|
217 |
|
217 |
|
218 |
// Création du contenu
|
218 |
// Création du contenu
|
219 |
$contenu = $this->executerService($elements);
|
219 |
$contenu = $this->executerService($elements);
|
Line 280... |
Line 280... |
280 |
$requete = rtrim($requete, 'AND ');
|
280 |
$requete = rtrim($requete, 'AND ');
|
281 |
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby :
|
281 |
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby :
|
282 |
'date_modification DESC, zone_geo ASC').' '.
|
282 |
'date_modification DESC, zone_geo ASC').' '.
|
283 |
"LIMIT $this->start,$this->limit ";
|
283 |
"LIMIT $this->start,$this->limit ";
|
Line 284... |
Line 284... |
284 |
|
284 |
|
Line 285... |
Line 285... |
285 |
$elements = $this->executerRequete($requete);
|
285 |
$elements = Cel::db()->executerRequete($requete);
|
286 |
|
286 |
|
287 |
// Création du contenu
|
287 |
// Création du contenu
|
288 |
if ($elements != false && count($elements) > 0) {
|
288 |
if ($elements != false && count($elements) > 0) {
|
Line 298... |
Line 298... |
298 |
$requete = '';
|
298 |
$requete = '';
|
299 |
foreach ($criteres as $pair) {
|
299 |
foreach ($criteres as $pair) {
|
300 |
$nom_valeur = explode("=",$pair);
|
300 |
$nom_valeur = explode("=",$pair);
|
301 |
if (sizeof($nom_valeur) != 0) {
|
301 |
if (sizeof($nom_valeur) != 0) {
|
302 |
switch ($nom_valeur[0]) {
|
302 |
switch ($nom_valeur[0]) {
|
303 |
case "ci_limite" : $this->limit = $this->bdd->quote($nom_valeur[1]); break;
|
303 |
case "ci_limite" : $this->limit = Cel::db()->quote($nom_valeur[1]); break;
|
304 |
case "commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
|
304 |
case "commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
|
305 |
foreach($mots_comment_liste as $mot_comment) {
|
305 |
foreach($mots_comment_liste as $mot_comment) {
|
306 |
$mot_comment = trim($mot_comment) ;
|
306 |
$mot_comment = trim($mot_comment) ;
|
307 |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND ';
|
307 |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote('%'.$mot_comment.'%').' AND ';
|
308 |
}
|
308 |
}
|
309 |
break;
|
309 |
break;
|
310 |
case "date_observation" :
|
310 |
case "date_observation" :
|
311 |
$nom_valeur[1] = str_replace('/', '-', $nom_valeur[1]);
|
311 |
$nom_valeur[1] = str_replace('/', '-', $nom_valeur[1]);
|
312 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) {
|
312 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) {
|
313 |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1];
|
313 |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1];
|
314 |
}
|
314 |
}
|
315 |
$requete .= $nom_valeur[0].'='.$this->bdd->quote($nom_valeur[1]).' AND '; break;
|
315 |
$requete .= $nom_valeur[0].'='.Cel::db()->quote($nom_valeur[1]).' AND '; break;
|
316 |
case "ce_zone_geo" :
|
316 |
case "ce_zone_geo" :
|
317 |
$requete .= ' ('.$nom_valeur[0].' LIKE "INSEE-C:'.$nom_valeur[1].'%") AND '; break;
|
317 |
$requete .= ' ('.$nom_valeur[0].' LIKE "INSEE-C:'.$nom_valeur[1].'%") AND '; break;
|
318 |
case "nom_ret" :
|
318 |
case "nom_ret" :
|
319 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
319 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
320 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR nom_sel LIKE "%'.
|
320 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR nom_sel LIKE "%'.
|
Line 332... |
Line 332... |
332 |
private function creerSousRequeteMotsCles($mot_cle) {
|
332 |
private function creerSousRequeteMotsCles($mot_cle) {
|
333 |
$requete = '';
|
333 |
$requete = '';
|
334 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
334 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
335 |
$mots_cles_tab = explode('OU',$mot_cle);
|
335 |
$mots_cles_tab = explode('OU',$mot_cle);
|
336 |
foreach($mots_cles_tab as $mot_cle_item) {
|
336 |
foreach($mots_cles_tab as $mot_cle_item) {
|
337 |
$requete .= '(mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
|
337 |
$requete .= '(mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') OR ';
|
338 |
}
|
338 |
}
|
339 |
$requete = '('.rtrim($requete,'OR ').') ';
|
339 |
$requete = '('.rtrim($requete,'OR ').') ';
|
340 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
340 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
341 |
$mots_cles_tab = explode('ET',$mot_cle);
|
341 |
$mots_cles_tab = explode('ET',$mot_cle);
|
342 |
foreach($mots_cles_tab as $mot_cle_item) {
|
342 |
foreach($mots_cles_tab as $mot_cle_item) {
|
343 |
$requete .= '(mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
343 |
$requete .= '(mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND ';
|
344 |
}
|
344 |
}
|
345 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
345 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
346 |
} else {
|
346 |
} else {
|
347 |
$requete = "(mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
|
347 |
$requete = "(mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') ';
|
348 |
}
|
348 |
}
|
349 |
return $requete;
|
349 |
return $requete;
|
350 |
}
|
350 |
}
|
Line 351... |
Line 351... |
351 |
|
351 |
|
352 |
private function creerSousRequeteTags($tag) {
|
352 |
private function creerSousRequeteTags($tag) {
|
353 |
$requete = '(id_observation IN (SELECT id_observation FROM cel_obs_images coi INNER JOIN cel_images ci ON coi.id_image = ci.id_image WHERE ';
|
353 |
$requete = '(id_observation IN (SELECT id_observation FROM cel_obs_images coi INNER JOIN cel_images ci ON coi.id_image = ci.id_image WHERE ';
|
354 |
$where = '';
|
354 |
$where = '';
|
355 |
if (preg_match('/.*OU.*/', $tag)) {
|
355 |
if (preg_match('/.*OU.*/', $tag)) {
|
356 |
$mots_cles_tab = explode('OU',$tag);
|
356 |
$mots_cles_tab = explode('OU',$tag);
|
357 |
foreach($mots_cles_tab as $mot_cle_item) {
|
357 |
foreach($mots_cles_tab as $mot_cle_item) {
|
358 |
$where .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
|
358 |
$where .= '(ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') OR ';
|
359 |
}
|
359 |
}
|
360 |
$where .= '('.rtrim($where,'OR ').') ';
|
360 |
$where .= '('.rtrim($where,'OR ').') ';
|
361 |
} else if (preg_match('/.*ET.*/', $tag)) {
|
361 |
} else if (preg_match('/.*ET.*/', $tag)) {
|
362 |
$mots_cles_tab = explode('ET',$tag);
|
362 |
$mots_cles_tab = explode('ET',$tag);
|
363 |
foreach($mots_cles_tab as $mot_cle_item) {
|
363 |
foreach($mots_cles_tab as $mot_cle_item) {
|
364 |
$where .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
364 |
$where .= '(ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND ';
|
365 |
}
|
365 |
}
|
366 |
$where .= '('.rtrim($where, 'AND ').') ';
|
366 |
$where .= '('.rtrim($where, 'AND ').') ';
|
367 |
} else {
|
367 |
} else {
|
368 |
$where .= "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$tag.'%').') ';
|
368 |
$where .= "(ci.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$tag.'%').') ';
|
369 |
}
|
369 |
}
|
370 |
$requete .= $where.' ))';
|
370 |
$requete .= $where.' ))';
|
371 |
return $requete;
|
371 |
return $requete;
|