Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 661 Rev 699
Line 32... Line 32...
32
					$this->chargerStructureSql();
32
					$this->chargerStructureSql();
33
					$this->chargerBdtxa();
33
					$this->chargerBdtxa();
34
					$this->genererChpNomSciHtml();
34
					$this->genererChpNomSciHtml();
35
					$this->genererChpFamille();
35
					$this->genererChpFamille();
36
					$this->genererChpNomComplet();
36
					$this->genererChpNomComplet();
-
 
37
					$this->genererChpHierarchie();
37
					break;
38
					break;
38
				case 'chargerStructureSql' :
39
				case 'chargerStructureSql' :
39
					$this->chargerStructureSql();
40
					$this->chargerStructureSql();
40
					break;
41
					break;
41
				case 'chargerBdtxa' :
42
				case 'chargerBdtxa' :
Line 49... Line 50...
49
					$this->genererChpNomComplet();
50
					$this->genererChpNomComplet();
50
					break;
51
					break;
51
				case 'genererChpFamille' :
52
				case 'genererChpFamille' :
52
					$this->genererChpFamille();
53
					$this->genererChpFamille();
53
					break;
54
					break;
-
 
55
				case 'genererChpHierarchie' :
-
 
56
					$this->genererChpHierarchie();
-
 
57
					break;
54
				case 'supprimerTous' :
58
				case 'supprimerTous' :
55
					$this->supprimerTous();
59
					$this->supprimerTous();
56
					break;
60
					break;
57
				default :
61
				default :
58
					throw new Exception("Erreur : la commande '$cmd' n'existe pas!");
62
					throw new Exception("Erreur : la commande '$cmd' n'existe pas!");
Line 101... Line 105...
101
 
105
 
102
		$this->creerFichierLog('Erreurs lors de la génération HTML des noms scientifiques', $erreurs, 'erreurs_noms_sci_html');
106
		$this->creerFichierLog('Erreurs lors de la génération HTML des noms scientifiques', $erreurs, 'erreurs_noms_sci_html');
Line 103... Line 107...
103
	}
107
	}
104
 
108
 
-
 
109
	private function initialiserGenerationChamps() {
105
	private function initialiserGenerationChamps() {
110
		$this->table = Config::get('tables.bdtxa');
Line 106... Line 111...
106
		$this->table = Config::get('tables.bdtxa');
111
		echo $this->table;
107
	}
112
	}
108
 
113
 
Line 258... Line 263...
258
			}
263
			}
259
			$this->afficherAvancement("Insertion des noms de famille dans la base en cours");
264
			$this->afficherAvancement("Insertion des noms de famille dans la base en cours");
260
		}
265
		}
261
		echo "\n";
266
		echo "\n";
262
	}
267
	}
-
 
268
	
-
 
269
	private function genererChpHierarchie() {
-
 
270
		$this->initialiserGenerationChamps();
-
 
271
		$this->preparerTablePrChpHierarchie();
-
 
272
		$table = Config::get('tables.bdtxa');
-
 
273
	
-
 
274
		$requete = "UPDATE $table SET hierarchie = NULL ";
-
 
275
		$mise_a_jour = $this->getBdd()->requeter($requete);
-
 
276
	
-
 
277
		$requete_hierarchie = "SELECT num_nom, num_nom_retenu, num_tax_sup FROM ".$table." ORDER BY rang DESC";
-
 
278
	
-
 
279
		$resultat = $this->getBdd()->recupererTous($requete_hierarchie);
-
 
280
		$num_nom_a_num_sup = array();
-
 
281
		foreach($resultat as &$taxon) {
-
 
282
			$num_nom_a_num_sup[$taxon['num_nom']] = $taxon['num_tax_sup'];
-
 
283
		}
-
 
284
		$chemin_taxo = "";
-
 
285
		foreach($resultat as &$taxon) {
-
 
286
			$chemin_taxo = $this->traiterHierarchieNumTaxSup($taxon['num_nom_retenu'], $num_nom_a_num_sup).'-';
-
 
287
			$requete = "UPDATE $table SET hierarchie = ".$this->getBdd()->proteger($chemin_taxo)." WHERE num_nom = ".$taxon['num_nom']." ";
-
 
288
			$mise_a_jour = $this->getBdd()->requeter($requete);
-
 
289
			$this->afficherAvancement("Insertion de la hierarchie taxonomique en cours");
-
 
290
		}
-
 
291
		echo "\n";
-
 
292
	}
-
 
293
	
-
 
294
	private function traiterHierarchieNumTaxSup($num_nom_retenu, &$num_nom_a_num_sup) {
-
 
295
		$chaine_hierarchie = "";
-
 
296
		if(isset($num_nom_a_num_sup[$num_nom_retenu])) {
-
 
297
			$num_tax_sup = $num_nom_a_num_sup[$num_nom_retenu];
-
 
298
			$chaine_hierarchie = '-'.$num_tax_sup;
-
 
299
			if($num_tax_sup != 0 && $num_tax_sup != '') {
-
 
300
				$chaine_hierarchie = $this->traiterHierarchieNumTaxSup($num_tax_sup, $num_nom_a_num_sup).$chaine_hierarchie;
-
 
301
			}
-
 
302
		}
-
 
303
		return $chaine_hierarchie;
-
 
304
	}
-
 
305
	
-
 
306
	private function preparerTablePrChpHierarchie() {
-
 
307
		$requete = "SHOW COLUMNS FROM {$this->table} LIKE 'hierarchie' ";
-
 
308
		$resultat = $this->getBdd()->recuperer($requete);
-
 
309
		if ($resultat === false) {
-
 
310
			$requete = 	"ALTER TABLE {$this->table} ".
-
 
311
						'ADD hierarchie VARCHAR(1000) '.
-
 
312
						'CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ';
-
 
313
			$this->getBdd()->requeter($requete);
-
 
314
		}
-
 
315
	}
-
 
316
	
263
	private function genererDonneesTestMultiVersion() {
317
	private function genererDonneesTestMultiVersion() {
264
		$contenuSql = $this->recupererContenu(Config::get('chemins.structureSqlTest'));
318
		$contenuSql = $this->recupererContenu(Config::get('chemins.structureSqlTest'));
265
		$this->executerScripSql($contenuSql);
319
		$this->executerScripSql($contenuSql);
Line 266... Line 320...
266
 
320