Subversion Repositories eFlore/Applications.cel

Rev

Rev 3625 | Rev 3627 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3625 Rev 3626
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
	}