Line 39... |
Line 39... |
39 |
'date' => 'c.date_prise_de_vue',
|
39 |
'date' => 'c.date_prise_de_vue',
|
40 |
'tag' => 'tag',
|
40 |
'tag' => 'tag',
|
41 |
'motcle' => 'tag',
|
41 |
'motcle' => 'tag',
|
42 |
'projet' => 'projet',
|
42 |
'projet' => 'projet',
|
43 |
'referentiel' => 'referentiel',
|
43 |
'referentiel' => 'referentiel',
|
44 |
'groupe_zones_geo' => 'groupe_zones_geo');
|
44 |
'groupe_zones_geo' => 'groupe_zones_geo',
|
- |
|
45 |
'standard' => 'donnees_standard'
|
- |
|
46 |
);
|
Line 45... |
Line 47... |
45 |
|
47 |
|
46 |
/**
|
48 |
/**
|
47 |
* Méthode appelée avec une requête de type GET.
|
49 |
* Méthode appelée avec une requête de type GET.
|
48 |
*/
|
50 |
*/
|
Line 430... |
Line 432... |
430 |
$criteres = $this->traiterCriteresMultiples($_GET) ;
|
432 |
$criteres = $this->traiterCriteresMultiples($_GET) ;
|
431 |
return (isset($_GET['recherche']) && $_GET['recherche'] != '') || !empty($criteres);
|
433 |
return (isset($_GET['recherche']) && $_GET['recherche'] != '') || !empty($criteres);
|
432 |
}
|
434 |
}
|
Line 433... |
Line 435... |
433 |
|
435 |
|
434 |
private function creerRequeteSansParametres() {
|
- |
|
435 |
// Première sous requete pour que le limite se fasse d'abord sur les images
|
- |
|
436 |
// et pas la jointure de toutes les tables
|
- |
|
437 |
$sous_requete = 'SELECT c.* '.
|
- |
|
438 |
'FROM cel_images_export c '.
|
- |
|
439 |
(($this->etreFluxAdmin()) ? '' : 'INNER JOIN cel_export_total b ON c.ce_observation = b.id_observation AND b.transmission = 1 ');
|
- |
|
440 |
$sous_requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'c.date_creation DESC').' '.
|
- |
|
441 |
"LIMIT $this->start,$this->limit ";
|
- |
|
442 |
|
436 |
private function creerRequeteSansParametres() {
|
443 |
// Construction de la requête
|
437 |
// Construction de la requête
|
444 |
$requete = 'SELECT *, b.mots_cles_texte AS mots_cles_texte_obs, c.mots_cles_texte AS mots_cles_texte_images, '.
|
438 |
$requete = 'SELECT *, b.mots_cles_texte AS mots_cles_texte_obs, c.mots_cles_texte AS mots_cles_texte_images, '.
|
445 |
' b.commentaire AS commentaire_obs, "" AS commentaire_img, nom_referentiel '.
|
439 |
' b.commentaire AS commentaire_obs, "" AS commentaire_img, nom_referentiel '.
|
446 |
'FROM ('.$sous_requete.') AS c '.
|
440 |
'FROM cel_images_export c '.
|
447 |
' INNER JOIN cel_export_total AS b '.
|
441 |
' left JOIN cel_export AS b '.
|
- |
|
442 |
' ON (c.ce_observation = b.id_observation) ';
|
- |
|
443 |
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'c.date_creation DESC').' '.
|
448 |
' ON (c.ce_observation = b.id_observation) AND b.ce_utilisateur = c.ce_utilisateur ';
|
444 |
"LIMIT $this->start,$this->limit ";
|
449 |
//echo $requete;
|
445 |
//echo $requete;
|
450 |
return $requete;
|
446 |
return $requete;
|
Line 451... |
Line 447... |
451 |
}
|
447 |
}
|
452 |
|
448 |
|
453 |
private function creerRequeteAvecParametres() {
|
449 |
private function creerRequeteAvecParametres() {
|
454 |
// Construction de la requête
|
450 |
// Construction de la requête
|
455 |
$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
|
451 |
$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
|
456 |
' b.commentaire as commentaire_obs, "" as commentaire_img, nom_referentiel '.
|
452 |
' b.commentaire as commentaire_obs, "" as commentaire_img, nom_referentiel '.
|
457 |
'FROM photo AS c '.
|
453 |
'FROM cel_images_export AS c '.
|
458 |
' INNER JOIN cel_export_total AS b '.
|
454 |
' INNER JOIN cel_export_total AS b '.
|
459 |
' ON (c.ce_observation = b.id_observation) '.
|
455 |
' ON (c.ce_observation = b.id_observation) '.
|
460 |
'WHERE b.ce_utilisateur = c.ce_utilisateur '.
|
456 |
'WHERE '.
|
Line 461... |
Line 457... |
461 |
(($this->etreFluxAdmin()) ? '' : 'AND b.transmission = 1 ').
|
457 |
(($this->etreFluxAdmin()) ? '' : 'AND b.transmission = 1 ').
|
462 |
' AND ';
|
458 |
' AND ';
|
Line 496... |
Line 492... |
496 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) {
|
492 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) {
|
497 |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1];
|
493 |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1];
|
498 |
}
|
494 |
}
|
499 |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote($nom_valeur[1]."%").' AND '; break;
|
495 |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote($nom_valeur[1]."%").' AND '; break;
|
500 |
case "b.ce_zone_geo" :
|
496 |
case "b.ce_zone_geo" :
|
501 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%INSEE-C:'.$nom_valeur[1].'%") AND '; break;
|
497 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%") AND '; break;
|
502 |
case "b.nom_ret" :
|
498 |
case "b.nom_ret" :
|
503 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
499 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
504 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR b.nom_sel LIKE "%'.
|
500 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR b.nom_sel LIKE "%'.
|
505 |
$nom_valeur[1].'%") AND '; break;
|
501 |
$nom_valeur[1].'%") AND '; break;
|
506 |
case "tag" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
|
502 |
case "tag" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
|
Line 586... |
Line 582... |
586 |
' OR '.
|
582 |
' OR '.
|
587 |
'b.ce_zone_geo LIKE "INSEE-C:'.$chaine_requete.'%" '.
|
583 |
'b.ce_zone_geo LIKE "INSEE-C:'.$chaine_requete.'%" '.
|
588 |
' OR '.
|
584 |
' OR '.
|
589 |
'b.ce_zone_geo LIKE "'.$chaine_requete.'%" '.
|
585 |
'b.ce_zone_geo LIKE "'.$chaine_requete.'%" '.
|
590 |
' OR '.
|
586 |
' OR '.
|
591 |
'c.user_id LIKE "'.$chaine_requete.'%" '.
|
587 |
'b.ce_utilisateur LIKE "'.$chaine_requete.'%" '.
|
592 |
' OR '.
|
588 |
' OR '.
|
593 |
'c.user_mail LIKE "'.$chaine_requete.'%" '.
|
589 |
'b.courriel_utilisateur LIKE "'.$chaine_requete.'%" '.
|
594 |
' OR '.
|
590 |
' OR '.
|
595 |
'b.mots_cles_texte LIKE "'.$chaine_requete.'%" '.
|
591 |
'b.mots_cles_texte LIKE "'.$chaine_requete.'%" '.
|
596 |
' OR '.
|
- |
|
597 |
'c.mots_cles_texte LIKE "'.$chaine_requete.'%" '.
|
- |
|
598 |
') ';
|
592 |
') ';
|
599 |
}
|
593 |
}
|
600 |
return $requete;
|
594 |
return $requete;
|
601 |
}
|
595 |
}
|