Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2528 Rev 2533
Line 16... Line 16...
16
		$resultat = $this->recupererTous($requete);
16
		$resultat = $this->recupererTous($requete);
17
		$this->reinitialiserTempsDerniereRequete();
17
		$this->reinitialiserTempsDerniereRequete();
18
		return $resultat;
18
		return $resultat;
19
	}
19
	}
Line 20... Line 20...
20
 
20
 
21
	public function rechercherCoordonneesSansCorrespondances() {	
21
	public function rechercherCoordonneesFrancaisesSansCorrespondances() {	
22
		$conditions = array(
22
		$conditions = array(
23
						$this->getConditionCoordonneesValides(),
23
						$this->getConditionCoordonneesValides(),
24
						$this->getConditionInfosGeoIncompletes(),
24
						$this->getConditionInfosGeoIncompletes(),
25
						$this->getConditionlimiteeALaFrance(),
25
						$this->getConditionlimiteeALaFrance(),
26
						$this->getConditionModifObsRecente()
26
						$this->getConditionModifObsRecente()
Line 27... Line 27...
27
					);
27
					);
28
		
28
		
Line 29... Line 29...
29
		return $this->rechercherCoordonnees($conditions);
29
		return $this->rechercherCoordonnees($conditions);
30
	}
30
	}
31
	
31
	
32
	public function rechercherCoordonneesSansCorrespondanceDepuisLeDebut() {
32
	public function rechercherCoordonneesFrancaisesSansCorrespondanceDepuisLeDebut() {
33
		$conditions = array(
33
		$conditions = array(
34
						$this->getConditionCoordonneesValides(),
34
						$this->getConditionCoordonneesValides(),
Line 35... Line 35...
35
						$this->getConditionInfosGeoIncompletes(),
35
						$this->getConditionInfosGeoIncompletes(),
36
						$this->getConditionlimiteeALaFrance()
36
						$this->getConditionlimiteeALaFrance()
Line -... Line 37...
-
 
37
					);
-
 
38
		
-
 
39
		return $this->rechercherCoordonnees($conditions);
-
 
40
	}
-
 
41
	
-
 
42
	public function rechercherPaysSansCorrespondance() {
-
 
43
		$conditions = array(
-
 
44
				$this->getConditionCoordonneesValides(),
-
 
45
				$this->getConditionSansPays(),
-
 
46
				$this->getConditionModifObsRecente()
-
 
47
		);
-
 
48
		
-
 
49
		return $this->rechercherCoordonnees($conditions);
-
 
50
	}
-
 
51
	
-
 
52
	public function rechercherPaysSansCorrespondanceDepuisLeDebut() {
-
 
53
		$conditions = array(
-
 
54
				$this->getConditionCoordonneesValides(),
-
 
55
				$this->getConditionSansPays()
-
 
56
		);
-
 
57
		
-
 
58
		return $this->rechercherCoordonnees($conditions);
-
 
59
	}
-
 
60
	
-
 
61
	public function rechercherToutSansCorrespondance() {
-
 
62
		$conditions = array(
-
 
63
				$this->getConditionCoordonneesValides(),
-
 
64
				'('.
-
 
65
					$this->getConditionInfosGeoIncompletes().' OR '.
-
 
66
					$this->getConditionSansPays().
-
 
67
				') ',
-
 
68
				$this->getConditionModifObsRecente()
-
 
69
		);
-
 
70
		
-
 
71
		return $this->rechercherCoordonnees($conditions);
-
 
72
	}
-
 
73
	
-
 
74
	public function rechercherSansCorrespondanceDepuisLeDebut() {
-
 
75
		$conditions = array(
-
 
76
				$this->getConditionCoordonneesValides(),
-
 
77
				'('.
-
 
78
				$this->getConditionInfosGeoIncompletes().' OR '.
-
 
79
				$this->getConditionSansPays().
Line 37... Line 80...
37
					);
80
				') '
38
		
81
		);
39
		return $this->rechercherCoordonnees($conditions);
82
		return $this->rechercherCoordonnees($conditions);
40
	}
83
	}
Line 58... Line 101...
58
						'(latitude <= 51.071667 AND latitude >= 41.316667) AND '.
101
						'(latitude <= 51.071667 AND latitude >= 41.316667) AND '.
59
					 	'(longitude <= 9.513333 AND longitude >= -5.140278) '.
102
					 	'(longitude <= 9.513333 AND longitude >= -5.140278) '.
60
					 ') ';
103
					 ') ';
61
		return $condition;
104
		return $condition;
62
	}
105
	}
-
 
106
		
-
 
107
	private function getConditionSansPays() {
-
 
108
		$condition = '(pays IS NULL OR pays = "XX" OR pays = "")';
-
 
109
		return $condition;
-
 
110
	}
Line 63... Line 111...
63
	
111
	
64
	private function getConditionCoordonneesValides() {
112
	private function getConditionCoordonneesValides() {
65
		$condition = '(latitude IS NOT NULL AND longitude IS NOT NULL '.
113
		$condition = '(latitude IS NOT NULL AND longitude IS NOT NULL '.
66
					 ' AND latitude != 0 AND latitude != "" '.
114
					 ' AND latitude != 0 AND latitude != "" '.
Line 91... Line 139...
91
		$codeInseeP = $this->proteger('INSEE-C:'.$coordonnees['code_insee']);
139
		$codeInseeP = $this->proteger('INSEE-C:'.$coordonnees['code_insee']);
92
		$nomP = $this->proteger($coordonnees['nom']);
140
		$nomP = $this->proteger($coordonnees['nom']);
Line 93... Line 141...
93
		
141
		
94
		$update = "UPDATE cel_obs ".
142
		$update = "UPDATE cel_obs ".
-
 
143
			"SET ".
95
			"SET ".
144
				"pays = 'FR', ".
96
				"code_insee_calcule = ".$codeP.", ".
145
				"code_insee_calcule = ".$codeP.", ".
97
				"ce_zone_geo = ".$codeInseeP.", ".
146
				"ce_zone_geo = ".$codeInseeP.", ".
98
		    	"zone_geo = IF(zone_geo = '' OR zone_geo = NULL, ".$nomP.", zone_geo) ".
147
		    	"zone_geo = IF(zone_geo = '' OR zone_geo = NULL, ".$nomP.", zone_geo) ".
99
			"WHERE ".
148
			"WHERE ".
100
			" latitude = ".$this->proteger($coordonnees['latitude'])." ".
149
			" latitude = ".$this->proteger($coordonnees['latitude'])." ".
101
			" AND longitude = ".$this->proteger($coordonnees['longitude'])." ";
150
			" AND longitude = ".$this->proteger($coordonnees['longitude'])." ";
102
		$this->requeter($update);
151
		$this->requeter($update);
103
		$this->reinitialiserTempsDerniereRequete();
152
		$this->reinitialiserTempsDerniereRequete();
-
 
153
	}
-
 
154
	
-
 
155
	public function modifierPays($coordonnees) {		
-
 
156
		$codePaysP = $this->proteger($coordonnees['code_pays']);
-
 
157
		$nomP = $this->proteger($coordonnees['nom']);
-
 
158
		
-
 
159
		$update = "UPDATE cel_obs ".
-
 
160
				"SET ".
-
 
161
				"pays = ".$codePaysP.", ".
-
 
162
				"zone_geo = IF(zone_geo = '' OR zone_geo = NULL, ".$nomP.", zone_geo) ".
-
 
163
				"WHERE ".
-
 
164
				" latitude = ".$this->proteger($coordonnees['latitude'])." ".
-
 
165
				" AND longitude = ".$this->proteger($coordonnees['longitude'])." ";
-
 
166
		$this->requeter($update);
-
 
167
		$this->reinitialiserTempsDerniereRequete();
Line 104... Line 168...
104
	}
168
	}
105
 
169
 
106
	// Il peut se passer assez de temps sans qu'aucune requete ne soit effectuée
170
	// Il peut se passer assez de temps sans qu'aucune requete ne soit effectuée
107
	// (cas d'un grand nombre d'enregistrements à la suite pour lesquels on ne trouve
171
	// (cas d'un grand nombre d'enregistrements à la suite pour lesquels on ne trouve