Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 661 Rev 699
Line 33... Line 33...
33
					$this->chargerStructureSql();
33
					$this->chargerStructureSql();
34
					$this->chargerBdtfx();
34
					$this->chargerBdtfx();
35
					$this->genererChpNomSciHtml();
35
					$this->genererChpNomSciHtml();
36
					$this->genererChpFamille();
36
					$this->genererChpFamille();
37
					$this->genererDonneesTestMultiVersion();
37
					$this->genererDonneesTestMultiVersion();
-
 
38
					$this->genererChpHierarchie();
38
					break;
39
					break;
39
				case 'chargerStructureSql' :
40
				case 'chargerStructureSql' :
40
					$this->chargerStructureSql();
41
					$this->chargerStructureSql();
41
					break;
42
					break;
42
				case 'chargerBdtfx' :
43
				case 'chargerBdtfx' :
Line 46... Line 47...
46
					$this->genererChpNomSciHtml();
47
					$this->genererChpNomSciHtml();
47
					break;
48
					break;
48
				case 'genererChpFamille' :
49
				case 'genererChpFamille' :
49
					$this->genererChpFamille();
50
					$this->genererChpFamille();
50
					break;
51
					break;
-
 
52
				case 'genererChpHierarchie' :
-
 
53
					$this->genererChpHierarchie();
-
 
54
					break;
51
				case 'genererDonneesTestMultiVersion' :
55
				case 'genererDonneesTestMultiVersion' :
52
					$this->genererDonneesTestMultiVersion();
56
					$this->genererDonneesTestMultiVersion();
53
					break;
57
					break;
54
				case 'supprimerDonneesTestMultiVersion' :
58
				case 'supprimerDonneesTestMultiVersion' :
55
					$this->supprimerDonneesTestMultiVersion();
59
					$this->supprimerDonneesTestMultiVersion();
Line 200... Line 204...
200
		$msg = 'Plusieurs familles sont introuvables';
204
		$msg = 'Plusieurs familles sont introuvables';
201
		$this->creerFichierLog($msg, $introuvables, 'famille_introuvable');
205
		$this->creerFichierLog($msg, $introuvables, 'famille_introuvable');
Line 202... Line 206...
202
 
206
 
203
		$this->remplirChpFamille($noms);
207
		$this->remplirChpFamille($noms);
204
	}
208
	}
205
 
209
	
206
	private function preparerTablePrChpFamille() {
210
	private function preparerTablePrChpFamille() {
207
		$requete = "SHOW COLUMNS FROM {$this->table} LIKE 'famille' ";
211
		$requete = "SHOW COLUMNS FROM {$this->table} LIKE 'famille' ";
208
		$resultat = $this->getBdd()->recuperer($requete);
212
		$resultat = $this->getBdd()->recuperer($requete);
209
		if ($resultat === false) {
213
		if ($resultat === false) {
Line 233... Line 237...
233
			}
237
			}
234
			$this->afficherAvancement("Insertion des noms de famille dans la base en cours");
238
			$this->afficherAvancement("Insertion des noms de famille dans la base en cours");
235
		}
239
		}
236
		echo "\n";
240
		echo "\n";
237
	}
241
	}
-
 
242
	
-
 
243
	private function genererChpHierarchie() {
-
 
244
		$this->initialiserGenerationChamps();
-
 
245
		$this->preparerTablePrChpHierarchie();
-
 
246
		$table = Config::get('tables.bdtfx');
-
 
247
		
-
 
248
		$requete = "UPDATE $table SET hierarchie = NULL ";
-
 
249
		$mise_a_jour = $this->getBdd()->requeter($requete);
-
 
250
		
-
 
251
		$requete_hierarchie = "SELECT num_nom, num_nom_retenu, num_tax_sup FROM ".$table." ORDER BY rang DESC";
-
 
252
		
-
 
253
		$resultat = $this->getBdd()->recupererTous($requete_hierarchie);
-
 
254
		$num_nom_a_num_sup = array();
-
 
255
		foreach($resultat as &$taxon) {
-
 
256
			$num_nom_a_num_sup[$taxon['num_nom']] = $taxon['num_tax_sup'];
-
 
257
		}
-
 
258
		$chemin_taxo = "";
-
 
259
		foreach($resultat as &$taxon) {
-
 
260
			$chemin_taxo = $this->traiterHierarchieNumTaxSup($taxon['num_nom_retenu'], $num_nom_a_num_sup).'-';
-
 
261
			$requete = "UPDATE $table SET hierarchie = ".$this->getBdd()->proteger($chemin_taxo)." WHERE num_nom = ".$taxon['num_nom']." ";
-
 
262
			$mise_a_jour = $this->getBdd()->requeter($requete);
-
 
263
			$this->afficherAvancement("Insertion de la hierarchie taxonomique en cours");
-
 
264
		}
-
 
265
		echo "\n";
-
 
266
	}
-
 
267
	
-
 
268
	private function traiterHierarchieNumTaxSup($num_nom_retenu, &$num_nom_a_num_sup) {
-
 
269
		$chaine_hierarchie = "";
-
 
270
		if(isset($num_nom_a_num_sup[$num_nom_retenu])) {
-
 
271
			$num_tax_sup = $num_nom_a_num_sup[$num_nom_retenu];
-
 
272
			$chaine_hierarchie = '-'.$num_tax_sup;
-
 
273
			if($num_tax_sup != 0 && $num_tax_sup != '') {
-
 
274
				$chaine_hierarchie = $this->traiterHierarchieNumTaxSup($num_tax_sup, $num_nom_a_num_sup).$chaine_hierarchie;
-
 
275
			}
-
 
276
		}
-
 
277
		return $chaine_hierarchie;
-
 
278
	}
-
 
279
	
-
 
280
	private function preparerTablePrChpHierarchie() {
-
 
281
		$requete = "SHOW COLUMNS FROM {$this->table} LIKE 'hierarchie' ";
-
 
282
		$resultat = $this->getBdd()->recuperer($requete);
-
 
283
		if ($resultat === false) {
-
 
284
			$requete = 	"ALTER TABLE {$this->table} ".
-
 
285
					'ADD hierarchie VARCHAR(1000) '.
-
 
286
					'CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ';
-
 
287
			$this->getBdd()->requeter($requete);
-
 
288
		}
-
 
289
	}
Line 238... Line 290...
238
 
290
 
239
	private function genererDonneesTestMultiVersion() {
291
	private function genererDonneesTestMultiVersion() {
240
		$contenuSql = $this->recupererContenu(Config::get('chemins.structureSqlTest'));
292
		$contenuSql = $this->recupererContenu(Config::get('chemins.structureSqlTest'));