Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 575 Rev 599
Line 95... Line 95...
95
		$widget['squelette'] = 'carte_defaut';
95
		$widget['squelette'] = 'carte_defaut';
Line 96... Line 96...
96
		
96
		
97
		if (isset($dept)) {
97
		if (isset($dept)) {
98
			// si on veut afficher les limites départemmentales on va compter et chercher les noms de fichiers
98
			// si on veut afficher les limites départemmentales on va compter et chercher les noms de fichiers
99
			$fichiersKml = $this->chercherFichierKml($dept);
99
			$fichiersKml = $this->chercherFichierKml($dept);
100
			foreach ($fichiersKml as $dossier => $kml){
100
			foreach ($fichiersKml as $kml => $dossier){
101
				$url_limites_communales = sprintf($this->config['carto']['limitesCommunaleUrlTpl'], $dossier, $kml);
101
				$url_limites_communales = sprintf($this->config['carto']['limitesCommunaleUrlTpl'], $dossier, $kml);
102
				$widget['donnees']['url_limites_communales'][] = $url_limites_communales;
102
				$widget['donnees']['url_limites_communales'][] = $url_limites_communales;
103
			}
103
			}
Line 142... Line 142...
142
		return $taxons;
142
		return $taxons;
143
	}
143
	}
Line 144... Line 144...
144
	
144
	
145
	private function chercherFichierKml($dept){
145
	private function chercherFichierKml($dept){
-
 
146
		$chemins = explode(',', $this->config['carto']['communesKmzChemin']);
-
 
147
		$departements = explode(',', $dept);// plrs code de départements peuvent être demandés séparés par des virgules
146
		$chemins = explode(',', $this->config['carto']['communesKmzChemin']);
148
		$departements_trouves = array();
147
		$fichiers = array(); 
149
		$fichiers = array();
148
		foreach ($chemins as $dossier_chemin) {
150
		foreach ($chemins as $dossier_chemin) {
149
			if ($dossier_ressource = opendir($dossier_chemin)) {
151
			if ($dossier_ressource = opendir($dossier_chemin)) {
150
				while ($element = readdir($dossier_ressource)) {
152
				while ($element = readdir($dossier_ressource)) {
-
 
153
					if ($element != '.' && $element != '..') {
-
 
154
						foreach ($departements as $departement) {
-
 
155
							$nom_dossier = basename($dossier_chemin);
151
					if ($element != '.' && $element != '..') {
156
							if (!isset($departements_trouves[$departement]) || $departements_trouves[$departement] == $nom_dossier) {
152
						$dept_protege = preg_quote($dept);
157
								$dept_protege = preg_quote($departement);
153
						if ((!is_dir($dossier_chemin.'/'.$element)) && (preg_match("/^$dept_protege(?:_[0-9]+|)\.km[lz]$/", $element))) { 
158
								if (!is_dir($dossier_chemin.'/'.$element) && preg_match("/^$dept_protege(?:_[0-9]+|)\.km[lz]$/", $element)) { 
-
 
159
									$fichiers[$element] = $nom_dossier;
-
 
160
									$departements_trouves[$departement] = $nom_dossier;
-
 
161
								}
154
							$fichiers[basename($dossier_chemin)] = $element;
162
							}
155
						}
163
						}
156
					}
164
					}
157
				}
165
				}
158
				closedir($dossier_ressource);
-
 
159
				if (count($fichiers) > 0) {
-
 
160
					break;
-
 
161
				}
166
				closedir($dossier_ressource);
162
			}
167
			}
-
 
168
		}
163
		}
169
		
164
		return $fichiers;
170
		return $fichiers;
Line 165... Line 171...
165
	}
171
	}
166
	
172