Subversion Repositories eFlore/Applications.coel

Rev

Rev 1929 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1929 Rev 1930
Line 164... Line 164...
164
			// @TODO vérifier qu'elles existent pour ne pas insérer de doublons en relançant le script !!
164
			// @TODO vérifier qu'elles existent pour ne pas insérer de doublons en relançant le script !!
165
			$idCollection = $this->creerCollection($idStructure, $ligne, $colonnesParNom);
165
			$idCollection = $this->creerCollection($idStructure, $ligne, $colonnesParNom);
166
			$idCollectionsParIdTemp[$ligne[$colonnesParNom['id']]] = $idCollection;
166
			$idCollectionsParIdTemp[$ligne[$colonnesParNom['id']]] = $idCollection;
167
		}
167
		}
Line -... Line 168...
-
 
168
 
-
 
169
		// mettre à jour le GUID des collections et des structures
-
 
170
		$this->mettreAJourGUIDCollections();
-
 
171
		$this->mettreAJourGUIDStructures();
168
 
172
 
169
		//ouvrir le fichier collection botanique
173
		//ouvrir le fichier collection botanique
170
		$pointeurCollectionsBota = fopen($fichierCollectionsBota, "r");
174
		$pointeurCollectionsBota = fopen($fichierCollectionsBota, "r");
171
		// Chargement de la première colonne (qui contient les noms de colonnes à importer)
175
		// Chargement de la première colonne (qui contient les noms de colonnes à importer)
172
		$colonnesBota = fgetcsv($pointeurCollectionsBota, 0, $separateur);
176
		$colonnesBota = fgetcsv($pointeurCollectionsBota, 0, $separateur);
Line 213... Line 217...
213
	protected function creerStructure($nomStructure) {
217
	protected function creerStructure($nomStructure) {
214
		$nsp = $this->bdd->proteger($nomStructure);
218
		$nsp = $this->bdd->proteger($nomStructure);
215
		$requete = "INSERT INTO " . $this->table_structure . " (cs_nom)"
219
		$requete = "INSERT INTO " . $this->table_structure . " (cs_nom)"
216
			. " VALUES ($nsp)";
220
			. " VALUES ($nsp)";
217
		//echo "REQ INS: $requete\n";
221
		//echo "REQ INS: $requete\n";
218
		$resultat = $this->bdd->executer($requete);
222
		$this->bdd->executer($requete);
219
		$idStructure = $this->bdd->recupererIdDernierAjout();
223
		$idStructure = $this->bdd->recupererIdDernierAjout();
Line 220... Line 224...
220
 
224
 
221
		return $idStructure;
225
		return $idStructure;
Line 228... Line 232...
228
	 */
232
	 */
229
	protected function creerCollection($idStructure, $ligne, $colonnesParNom) {
233
	protected function creerCollection($idStructure, $ligne, $colonnesParNom) {
230
		//echo "Insertion ! : "; var_dump($ligne); echo "<br/>";
234
		//echo "Insertion ! : "; var_dump($ligne); echo "<br/>";
231
		$nom = $this->bdd->proteger($ligne[$colonnesParNom['cc_nom']]);
235
		$nom = $this->bdd->proteger($ligne[$colonnesParNom['cc_nom']]);
232
		$desc = $this->bdd->proteger($ligne[$colonnesParNom['cc_description']]);
236
		$desc = $this->bdd->proteger($ligne[$colonnesParNom['cc_description']]);
-
 
237
		$type = $this->bdd->proteger($ligne[$colonnesParNom['cc_ce_type']]);
233
		$pcd = $this->bdd->proteger($ligne[$colonnesParNom['cc_periode_constitution_debut']]);
238
		$pcd = $this->bdd->proteger($ligne[$colonnesParNom['cc_periode_constitution_debut']]);
234
		$pcf = $this->bdd->proteger($ligne[$colonnesParNom['cc_periode_constitution_fin']]);
239
		$pcf = $this->bdd->proteger($ligne[$colonnesParNom['cc_periode_constitution_fin']]);
235
		$tcl = $this->bdd->proteger($ligne[$colonnesParNom['cc_truk_couverture_lieu']]);
240
		$tcl = $this->bdd->proteger($ligne[$colonnesParNom['cc_truk_couverture_lieu']]);
236
		$cst = $this->bdd->proteger($ligne[$colonnesParNom['cc_ce_specimen_type']]);
241
		$cst = $this->bdd->proteger($ligne[$colonnesParNom['cc_ce_specimen_type']]);
Line 237... Line 242...
237
 
242
 
238
		$requete = "INSERT INTO " . $this->table_collection
243
		$requete = "INSERT INTO " . $this->table_collection
239
			. " (cc_ce_structure, cc_nom, cc_description, cc_periode_constitution_debut, cc_periode_constitution_fin, cc_truk_couverture_lieu, cc_ce_specimen_type)"
244
			. " (cc_ce_structure, cc_nom, cc_description, cc_ce_type, cc_periode_constitution_debut, cc_periode_constitution_fin, cc_truk_couverture_lieu, cc_ce_specimen_type)"
240
			. " VALUES ($idStructure, $nom, $desc, $pcd, $pcf, $tcl, $cst)";
245
			. " VALUES ($idStructure, $nom, $desc, $type, $pcd, $pcf, $tcl, $cst)";
241
		//echo "REQ INS: $requete\n";
246
		//echo "REQ INS: $requete\n";
242
		$resultat = $this->bdd->executer($requete);
247
		$this->bdd->executer($requete);
Line 243... Line 248...
243
		$idCollection = $this->bdd->recupererIdDernierAjout();
248
		$idCollection = $this->bdd->recupererIdDernierAjout();
244
		
249
		
Line 245... Line 250...
245
		return $idCollection;
250
		return $idCollection;
-
 
251
	}
-
 
252
 
-
 
253
	/**
-
 
254
	 * Reconstruit les GUID des structures à partir de leurs ID
-
 
255
	 */
-
 
256
	protected function mettreAJourGUIDStructures() {
-
 
257
		$requete = "UPDATE coel_structure SET cs_guid = CONCAT('urn:lsid:tela-botanica.org:str', cs_id_structure)";
-
 
258
		$this->bdd->executer($requete);
-
 
259
	}
-
 
260
 
-
 
261
	/**
-
 
262
	 * Reconstruit les GUID des collections à partir de leurs ID
-
 
263
	 */
-
 
264
	protected function mettreAJourGUIDCollections() {
-
 
265
		$requete = "UPDATE coel_collection SET cc_guid = CONCAT('urn:lsid:tela-botanica.org:coll', cc_id_collection)";
-
 
266
		$this->bdd->executer($requete);
246
	}
267
	}
247
 
268
 
248
	/**
269
	/**
249
	 * Crée une collection botanique; la remplit avec les données issues de $ligne en se
270
	 * Crée une collection botanique; la remplit avec les données issues de $ligne en se
250
	 * servant de $colonnesParNom pour accéder aux valeurs par clés textuelles
271
	 * servant de $colonnesParNom pour accéder aux valeurs par clés textuelles
Line 258... Line 279...
258
		$ac = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_annotation_classement']]);
279
		$ac = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_annotation_classement']]);
259
		$ct = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_ce_traitement']]);
280
		$ct = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_ce_traitement']]);
260
		$ci = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_ce_inventaire']]);
281
		$ci = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_ce_inventaire']]);
261
		$ii = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_inventaire_info']]);
282
		$ii = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_inventaire_info']]);
262
		$aur = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_autres_unite_rangement']]);
283
		$aur = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_autres_unite_rangement']]);
-
 
284
		$nph = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_nb_planches_herbiers']]);
263
		$tcpt = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_truk_conservation_papier_type']]);
285
		$tcpt = $this->bdd->proteger($ligne[$colonnesBotaParNom['ccb_truk_conservation_papier_type']]);
Line 264... Line 286...
264
 
286
 
265
		// @TODO comment gérer la colonne "Nombre de parts" ? Faut la mettre dans quoi ?
287
		// @TODO comment gérer la colonne "Nombre de parts" ? Faut la mettre dans quoi ?
266
		$requete = "INSERT INTO " . $this->table_collection_bota
288
		$requete = "INSERT INTO " . $this->table_collection_bota
267
			. " (ccb_id_collection, ccb_ce_etat_general, ccb_nbre_echantillon, ccb_specialite, ccb_annotation_classement, ccb_ce_traitement, ccb_ce_inventaire,"
289
			. " (ccb_id_collection, ccb_ce_etat_general, ccb_nbre_echantillon, ccb_specialite, ccb_annotation_classement, ccb_ce_traitement, ccb_ce_inventaire,"
268
			. " ccb_inventaire_info, ccb_autres_unites_rangement, ccb_truk_conservation_papier_type)"
290
			. " ccb_inventaire_info, ccb_autres_unites_rangement, ccb_nb_planches_herbiers, ccb_truk_conservation_papier_type)"
269
			. " VALUES ($id, $ceg, $ne, $spec, $ac, $ct, $ci, $ii, $aur, $tcpt)";
291
			. " VALUES ($id, $ceg, $ne, $spec, $ac, $ct, $ci, $ii, $aur, $nph, $tcpt)";
270
		//echo "REQ INS: $requete\n";
292
		//echo "REQ INS: $requete\n";
271
		$resultat = $this->bdd->executer($requete);
293
		$this->bdd->executer($requete);
Line 272... Line 294...
272
	}
294
	}
Line 273... Line 295...
273
 
295