Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1646 Rev 1696
Line 51... Line 51...
51
		$this->mettreAJourDonneesStructures();
51
		$this->mettreAJourDonneesStructures();
52
		$this->afficherResultatScript();
52
		$this->afficherResultatScript();
53
	}
53
	}
Line 54... Line 54...
54
	
54
	
55
	private function recupererStructures() {
55
	private function recupererStructures() {
56
		$this->bdd->requeter("USE ".Config::get("bdd_nom_coel"));
56
		$this->bdd->requeter("USE ".Config::get("tables.bdd_nom_coel"));
57
		$requete =
57
		$requete =
58
		"SELECT cs_id_structure, cs_nom, cs_code_postal, cs_ville ".
58
		"SELECT cs_id_structure, cs_nom, cs_code_postal, cs_ville ".
59
		"FROM ".Config::get("table_structures_coel")." ".
59
		"FROM ".Config::get("tables.table_structures_coel")." ".
60
		"WHERE (cs_latitude IS NULL OR cs_latitude='0' OR Length(Trim(cs_latitude)) = 0) ".
60
		"WHERE (cs_latitude IS NULL OR cs_latitude='0' OR Length(Trim(cs_latitude)) = 0) ".
61
		"AND (cs_longitude IS NULL OR cs_longitude='0' OR Length(Trim(cs_longitude)) = 0) ".
61
		"AND (cs_longitude IS NULL OR cs_longitude='0' OR Length(Trim(cs_longitude)) = 0) ".
62
		"AND cs_ce_truk_pays='2654' ORDER BY cs_ville;";
62
		"AND cs_ce_truk_pays='2654' ORDER BY cs_ville;";
63
		$this->structures = $this->bdd->recupererTous($requete);
63
		$this->structures = $this->bdd->recupererTous($requete);
Line 85... Line 85...
85
	private function recupererCommunes($departements) {
85
	private function recupererCommunes($departements) {
86
		foreach ($departements as $index => $codeDepartement) {
86
		foreach ($departements as $index => $codeDepartement) {
87
			$departements[$index] = "'$codeDepartement'";
87
			$departements[$index] = "'$codeDepartement'";
88
		}
88
		}
89
		$listeDepartements = implode(',', $departements);
89
		$listeDepartements = implode(',', $departements);
90
		$this->bdd->requeter("USE ".Config::get("bdd_nom_floradata"));
90
		$this->bdd->requeter("USE ".Config::get("tables.bdd_nom_floradata"));
91
		$requete = "SELECT code, nom, wgs84_latitude, wgs84_longitude FROM ".Config::get("table_communes")." ".
91
		$requete = "SELECT code, nom, wgs84_latitude, wgs84_longitude FROM ".Config::get("tables.table_communes")." ".
92
		"ORDER BY code;";
92
		"ORDER BY code;";
93
		$communes = $this->bdd->recupererTous($requete);
93
		$communes = $this->bdd->recupererTous($requete);
94
		// reorganiser le tableau en series des tableaux contenant les communes par departement
94
		// reorganiser le tableau en series des tableaux contenant les communes par departement
95
		$communes[0]['recherche'] = self::transformerChainePourRecherche($communes[0]['nom']);
95
		$communes[0]['recherche'] = self::transformerChainePourRecherche($communes[0]['nom']);
96
		$communesDepartement = array($communes[0]);
96
		$communesDepartement = array($communes[0]);
Line 207... Line 207...
207
		}
207
		}
208
		return $structure;
208
		return $structure;
209
	}
209
	}
Line 210... Line 210...
210
	
210
	
211
	private function mettreAJourDonneesStructures() {
211
	private function mettreAJourDonneesStructures() {
212
		$this->bdd->requeter("USE ".Config::get("bdd_nom_coel"));
212
		$this->bdd->requeter("USE ".Config::get("tables.bdd_nom_coel"));
213
		$updates = array();
213
		$updates = array();
214
		// pour faire une seule requete de mise a jour, on va pas utiliser l'ordre UPDATE qui n'accepte
214
		// pour faire une seule requete de mise a jour, on va pas utiliser l'ordre UPDATE qui n'accepte
215
		// qu'une seule condition, mais l'ordre INSERT en rajoutant a la fin ON DUPLICATE KEY UPDATE
215
		// qu'une seule condition, mais l'ordre INSERT en rajoutant a la fin ON DUPLICATE KEY UPDATE
216
		// avec les correspondances au niveau des codes postaux et villes
216
		// avec les correspondances au niveau des codes postaux et villes
Line 219... Line 219...
219
				$updates[] = "({$structure['cs_id_structure']},'{$structure['cs_code_postal']}',".
219
				$updates[] = "({$structure['cs_id_structure']},'{$structure['cs_code_postal']}',".
220
					$this->bdd->proteger($structure['cs_ville']).",'{$structure['latitude']}',".
220
					$this->bdd->proteger($structure['cs_ville']).",'{$structure['latitude']}',".
221
					"'{$structure['longitude']}')";
221
					"'{$structure['longitude']}')";
222
			} 
222
			} 
223
		}
223
		}
224
		$sql = "INSERT INTO ".Config::get("table_structures_coel")." (cs_id_structure, cs_code_postal, ".
224
		$sql = "INSERT INTO ".Config::get("tables.table_structures_coel")." (cs_id_structure, cs_code_postal, ".
225
		"cs_ville, cs_latitude, cs_longitude) VALUES ".implode(",", $updates)." ".
225
		"cs_ville, cs_latitude, cs_longitude) VALUES ".implode(",", $updates)." ".
226
		"ON DUPLICATE KEY UPDATE cs_code_postal=VALUES(cs_code_postal), cs_ville=VALUES(cs_ville), ".
226
		"ON DUPLICATE KEY UPDATE cs_code_postal=VALUES(cs_code_postal), cs_ville=VALUES(cs_ville), ".
227
		"cs_latitude=VALUES(cs_latitude), cs_longitude=VALUES(cs_longitude);";
227
		"cs_latitude=VALUES(cs_latitude), cs_longitude=VALUES(cs_longitude);";
228
		$this->bdd->requeter($sql);
228
		$this->bdd->requeter($sql);
229
	}
229
	}