Subversion Repositories Applications.referentiel

Rev

Rev 273 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 273 Rev 337
Line 166... Line 166...
166
// +-------------------------------------------------------------------------------------------------------------------+
166
// +-------------------------------------------------------------------------------------------------------------------+
167
	private function traiterFichierTaxref($fichier) {
167
	private function traiterFichierTaxref($fichier) {
168
		$donnees = array();
168
		$donnees = array();
169
		if (($pointeur = fopen($fichier, "r")) !== FALSE) {
169
		if (($pointeur = fopen($fichier, "r")) !== FALSE) {
170
			$this->noms_colonnes = fgetcsv($pointeur, 1000, chr(9));
170
			$this->noms_colonnes = fgetcsv($pointeur, 1000, chr(9));
171
			$num_nom = 0;
171
			$num_nom = 0;//print_r($this->noms_colonnes);
172
			while (($ligne = fgetcsv($pointeur, 1000, chr(9))) !== FALSE) {
172
			while (($ligne = fgetcsv($pointeur, 1000, chr(9))) !== FALSE) {
173
				$nombreChamps = count($ligne);
173
				$nombreChamps = count($ligne);
174
				$taxref[$ligne[0]] = $ligne;
174
				$taxref[$ligne[0]] = $ligne;//print_r($ligne);
175
				for ($c=0; $c < $nombreChamps; $c++) {
175
				for ($c=0; $c < $nombreChamps; $c++) {
176
					if (isset($this->correspondance_colonnes[$this->noms_colonnes[$c]])) {
176
					if (isset($this->correspondance_colonnes[$this->noms_colonnes[$c]])) {
177
						if (is_array($this->correspondance_colonnes[$this->noms_colonnes[$c]])) {
177
						if (is_array($this->correspondance_colonnes[$this->noms_colonnes[$c]])) {
178
							if ($this->noms_colonnes[$c] == 'LB_AUTEUR') {
178
							if ($this->noms_colonnes[$c] == 'LB_AUTEUR') {
179
								if (preg_match('/(.*), +([0-9]{4})/', utf8_encode($ligne[$c]), $matches) == 1) {
179
								if (preg_match('/(.*), +([0-9]{4})/', utf8_encode($ligne[$c]), $matches) == 1) {
Line 204... Line 204...
204
								$nom_sci = $ligne[$c];
204
								$nom_sci = $ligne[$c];
205
								$nom[$this->correspondance_colonnes[$this->noms_colonnes[$c]]] =
205
								$nom[$this->correspondance_colonnes[$this->noms_colonnes[$c]]] =
206
									$this->correspondance_colonnes[$this->noms_colonnes[$c]].'="'.trim($ligne[$c]).'"';
206
									$this->correspondance_colonnes[$this->noms_colonnes[$c]].'="'.trim($ligne[$c]).'"';
207
							} else  {
207
							} else  {
208
								$nom[$this->correspondance_colonnes[$this->noms_colonnes[$c]]] = 
208
								$nom[$this->correspondance_colonnes[$this->noms_colonnes[$c]]] = 
209
									$this->correspondance_colonnes[$this->noms_colonnes[$c]].'="'.trim($ligne[$c]).'"';
209
									$this->correspondance_colonnes[$this->noms_colonnes[$c]].'="'.trim(utf8_encode($ligne[$c])).'"';
210
							}
210
							}
211
						}
211
						}
212
					}
212
					}
213
				}
213
				}
214
				$nom['exclure_taxref'] = 'exclure_taxref="0"';
214
				$nom['exclure_taxref'] = 'exclure_taxref="0"';
Line 243... Line 243...
243
			} else {
243
			} else {
244
				Debug::printr($infos['CD_NOM']."n'a pas de valeur pour CD_REF");
244
				Debug::printr($infos['CD_NOM']."n'a pas de valeur pour CD_REF");
245
			}
245
			}
246
			unset($donnees[$num_nom]['CD_REF']);
246
			unset($donnees[$num_nom]['CD_REF']);
247
			$donnees[$num_nom]['CD_NOM'] = 'CD_NOM='.$donnees[$num_nom]['CD_NOM'];
247
			$donnees[$num_nom]['CD_NOM'] = 'CD_NOM='.$donnees[$num_nom]['CD_NOM'];
248
		}//echo "les taxons supérieurs manquants :".implode(" ,", $sup)." \nles retenus ".implode(" ,", $ref);
248
		}echo "les ".count($sup)." taxons supérieurs manquants :".implode(" ,", $sup)." \nles "."retenus ".implode(" ,", $ref);
249
		//$this->ecrireFichierCsv($ref, './retenu_absent.csv');
249
		//$this->ecrireFichierCsv($ref, './retenu_absent.csv');
250
		//$this->ajouterTaxonAbsent($abs);
250
		//$this->ajouterTaxonAbsent($abs);
251
		//$this->ecrireFichierCsv($sup, './superieur_absent.csv');
251
		//$this->ecrireFichierCsv($sup, './superieur_absent.csv');
252
		echo "$j correspondance pour nom retenu $i correspondance pour nom sup $k non pas de correspondance retenu";
252
		echo "$j correspondance pour nom retenu $i correspondance pour nom sup $k non pas de correspondance retenu";
253
		return $donnees;
253
		return $donnees;