getElementsByTagName('DataSet');
foreach ($Datasets as $Dataset) {
$SourceInstitutionCode = $Dataset->getElementsByTagName('SourceInstitutionCode');
$SourceName = $Dataset->getElementsByTagName('SourceName');
if(!empty($SourceInstitutionCode)) {
$sqlSourceInstitutionCode = addslashes(utf8_decode($SourceInstitutionCode->item(0)->nodeValue)); }
else { $sqlSourceInstitutionCode = "";}
if(!empty($SourceName)) {
$sqlSourceName = addslashes(utf8_decode($SourceName->item(0)->nodeValue)); }
else { $sqlSourceName = "";}
$Units = $Dataset->getElementsByTagName('Unit');
if(!$Units) { echo "
Provider sendet keine Suchergebnisse. Bitte prüfen Sie, ob der Provider nicht verfügbar ist und ob sie die richten UnitIDs abgefragt haben, mitunter sind z.B. für die UnitIDs keine Buchstaben zulässig sind (letzteres erzeugt einen Fehler auf Provider-Seite!) |
"; }
foreach ($Units as $Unit) {
$UnitID = $Unit->getElementsByTagName('UnitID');
if(!empty($UnitID)) {
$sqlUnitID = addslashes($UnitID->item(0)->nodeValue); }
else { $sqlUnitID = ""; }
echo "Unit ID: | " . $UnitID->item(0)->nodeValue . " |
";
echo "Source Institution: | " . $SourceInstitutionCode->item(0)->nodeValue . " |
";
echo "Source Collection: | " . $SourceName->item(0)->nodeValue . " |
";
$resultTest = "SELECT ID_Cache FROM tablecache WHERE UnitID_Specimen = '$sqlUnitID' AND CollectionCode_Specimen = '$sqlSourceName' AND InstitutionCode_Specimen = '$sqlSourceInstitutionCode' AND ID_Dataset_Specimen = '$formProviderIntern'";
$sqlTest = mysql_query($resultTest);
if(mysql_num_rows($sqlTest)) { echo "Specimen already exist in database |
|
"; }
if(!mysql_num_rows($sqlTest)) {
/*----------------------------GATHERING---------------------------------------------------------*/
$Gatherings = $Unit->getElementsByTagName('Gathering');
foreach ($Gatherings as $Gathering) {
$GatheringDate = $Gathering->getElementsByTagName('DateText');
$GatheringDateAll = $Gathering->getElementsByTagName('GatheringDateTime'); //if (empty($GatheringDate))
$GatheringISODateTimeBegin = $Gathering->getElementsByTagName('ISODateTimeBegin');
$GatheringDayNumberBegin = $Gathering->getElementsByTagName('DayNumberBegin');
$GatheringTimeOfDayBegin = $Gathering->getElementsByTagName('ISOTimeOfDayBegin');
$GatheringISODateTimeEnd = $Gathering->getElementsByTagName('ISODateTimeEnd');
$GatheringDayNumberEnd = $Gathering->getElementsByTagName('DayNumberEnd');
$GatheringTimeOfDayEnd = $Gathering->getElementsByTagName('TimeOfDayEnd');
$GatheringAgents = $Gathering->getElementsByTagName('GatheringAgent');
$GatheringSites = $Gathering->getElementsByTagName('GatheringSite');
if(empty($GatheringDate)) {
//echo "Date2: " . $GatheringDateAll->item(0)->nodeValue . "
"; //if (empty($GatheringDate))
$sqlGatheringDate = addslashes($GatheringDateAll->item(0)->nodeValue); }
else {
if($GatheringDate) {
//echo "Date: " . $GatheringDate->item(0)->nodeValue . "
";
$sqlGatheringDate = addslashes($GatheringDate->item(0)->nodeValue); }}
if($GatheringISODateTimeBegin) {
$sqlGatheringDate .= " " . $GatheringISODateTimeBegin->item(0)->nodeValue; }
if($GatheringDayNumberBegin) {
$sqlGatheringDate .= " " . $GatheringDayNumberBegin->item(0)->nodeValue; }
if($GatheringTimeOfDayBegin) {
$sqlGatheringDate .= " " . $GatheringTimeOfDayBegin->item(0)->nodeValue; }
if($GatheringISODateTimeEnd) {
$sqlGatheringDate .= " " . $GatheringISODateTimeEnd->item(0)->nodeValue; }
if($GatheringDayNumberEnd) {
$sqlGatheringDate .= " " . $GatheringDayNumberEnd->item(0)->nodeValue; }
if($GatheringTimeOfDayEnd) {
$sqlGatheringDate .= " " . $GatheringTimeOfDayEnd->item(0)->nodeValue; }
foreach ($GatheringAgents as $GatheringAgent) {
$PersonName = $GatheringAgent->getElementsByTagName('PersonName');
$AgentText = $GatheringAgent->getElementsByTagName('AgentText'); //if (empty($GatheringAgent)
if(empty($GatheringAgent)) {
// echo "Person2: " . $AgentText->item(0)->nodeValue . "
";
$sqlPersonName = addslashes($AgentText->item(0)->nodeValue); }
else {
if($PersonName) {
// echo "Person: " . $PersonName->item(0)->nodeValue . "
";
$sqlPersonName = addslashes($PersonName->item(0)->nodeValue); } }}
foreach ($GatheringSites as $GatheringSite) {
$LocalityText = $GatheringSite->getElementsByTagName('LocalityText');
$ContinentOrOcean = $GatheringSite->getElementsByTagName('ContinentOrOcean');
$CountryName = $GatheringSite->getElementsByTagName('CountryName');
$Country = $GatheringSite->getElementsByTagName('Country'); //if (empty($CountryName))
$ISO2 = $GatheringSite->getElementsByTagName('ISO2Letter');
$NamedAreas = $GatheringSite->getElementsByTagName('NamedAreas'); //if (empty($Country))
$NearNamedPlaces = $GatheringSite->getElementsByTagName('NearNamedPlaces'); //if (empty($Country))
$LongitudeDecimal = $GatheringSite->getElementsByTagName('LongitudeDecimal');
$LatitudeDecimal = $GatheringSite->getElementsByTagName('LatitudeDecimal');
$SiteCoordinates = $GatheringSite->getElementsByTagName('SiteCoordinates'); //if (empty($LongitudeDecimal & LatitudeDecimal))
$Altitude = $GatheringSite->getElementsByTagName('Altitude');
if($LocalityText) {
// echo "Locality: " . $LocalityText->item(0)->nodeValue . "
";
$sqlLocalityText = addslashes($LocalityText->item(0)->nodeValue); }
if($ContinentOrOcean) {
// echo "Continent: " . $ContinentOrOcean->item(0)->nodeValue . "
";
$sqlContinentOrOcean = addslashes($ContinentOrOcean->item(0)->nodeValue); }
if(empty($CountryName)) {
// echo "Country2: " . $Country->item(0)->nodeValue . "
";
$sqlCountryName = addslashes($Country->item(0)->nodeValue); }
else {
// echo "Country: " . $CountryName->item(0)->nodeValue . "
";
$sqlCountryName = addslashes($CountryName->item(0)->nodeValue); }
// echo "ISO2: " . $ISO2->item(0)->nodeValue . "
";
$sqlISO2 = addslashes($ISO2->item(0)->nodeValue);
if(empty($NamedAreas)) {
$sqlGatheringOther = addslashes($NearNamedPlaces->item(0)->nodeValue);
}
if($NamedAreas->item(0)->nodeValue != "")
{$sqlNamedAreas = addslashes($NamedAreas->item(0)->nodeValue);}
if($sqlNamedAreas = 'Africa' or $sqlNamedAreas = 'Asia' or $sqlNamedAreas = 'Australia' or $sqlNamedAreas = 'Australia and Oceania' or $sqlNamedAreas = 'Europe' or $sqlNamedAreas = 'Middle America' or $sqlNamedAreas = 'South America' or $sqlNamedAreas = 'Middle America' or $sqlNamedAreas = 'Middle and South America' or $sqlNamedAreas = 'North America' or $sqlNamedAreas = ' Atlantic Ocean' or $sqlNamedAreas = 'Arctic Ocean' or $sqlNamedAreas = 'Indian Ocean' or $sqlNamedAreas = 'Pacific Ocean' or $sqlNamedAreas = 'Southern Ocean' or $sqlNamedAreas = 'Landlocked Sea')
{ $sqlContinentOrOcean = $NamedAreas->item(0)->nodeValue; }
else {
// echo "NamedAreas: " . $NamedAreas->item(0)->nodeValue . "
";
$sqlGatheringOther = addslashes($NamedAreas->item(0)->nodeValue);
}
if($LongitudeDecimal) {
// echo "Longitude: " . $LongitudeDecimal->item(0)->nodeValue . "
";
$sqlLongitudeDecimal = $LongitudeDecimal->item(0)->nodeValue; }
if($LatitudeDecimal) {
// echo "Latitude: " . $LatitudeDecimal->item(0)->nodeValue . "
";
$sqlLatitudeDecimal = $LatitudeDecimal->item(0)->nodeValue; }
// echo "Coordinates: " . $SiteCoordinates->item(0)->nodeValue . "
";
// echo "Altitude: " . $Altitude->item(0)->nodeValue . "
";
if($Altitude) {
$sqlAltitude = addslashes($Altitude->item(0)->nodeValue); }
} // foreach $GatheringSites
} //foreach $Gatherings
$TypeDesignations = $Unit->getElementsByTagName('NomenclaturalTypeDesignation');
foreach ($TypeDesignations as $TypeDesignation) {
$TypeStatus = $TypeDesignation->getElementsByTagName('TypeStatus');
$sqlTypeStatus = $TypeStatus->item(0)->nodeValue;
}
$result1 = "INSERT INTO tablecache (UnitID_Specimen, CollectionCode_Specimen, InstitutionCode_Specimen, ContinentOrOcean, CountryName, CountryISO2, GatheringAgent, GatheringDate, LocalityText, LongitudeDecimal, LatitudeDecimal, Altitude, Gathering_Other, ID_Dataset_Specimen, TypeStatus, Created_Who) VALUES ('$sqlUnitID','$sqlSourceName','$sqlSourceInstitutionCode','$sqlContinentOrOcean','$sqlCountryName','$sqlISO2','$sqlPersonName','$sqlGatheringDate','$sqlLocalityText','$sqlLongitudeDecimal','$sqlLatitudeDecimal','$sqlAltitude','$sqlGatheringOther','$formProviderIntern','$sqlTypeStatus','$log')";
$sql1 = mysql_query($result1);
$IDTableCache=mysql_insert_id();
#######################################Error 1###############################################################
if(!$sql1)
{ $msg = $result1."\n";
$msg .= "####Error 1####";
trigger_error($msg, E_USER_ERROR);
include ("Errorreport.php"); }
#############################################################################################################
/*----------------------------IDENTIFICATIONS---------------------------------------------------------*/
$Identifications = $Unit->getElementsByTagName('Identifications');
foreach ($Identifications as $IndexIdentification => $Identification) {
$IdentificationSingle = $Unit->getElementsByTagName('Identification');
foreach ($IdentificationSingle as $Index2Indentification => $Identification2) {
// more than one Identification possible
// $TaxaIdentified = $Identification->getElementsByTagName('TaxonIdentified');
// foreach ($TaxaIdentified as $TaxonIdentified) {
$NameAuthorYearString = $Identification2->getElementsByTagName('NameAuthorYearString'); // Name, Author, Year
$ScientificNames = $Identification2->getElementsByTagName('ScientificNameAtomized');
$HigherTaxa = $Identification2->getElementsByTagName('HigherTaxon');
if($NameAuthorYearString) {
// echo "Name All: " . $NameAuthorYearString->item(0)->nodeValue . "
";
$sqlNameAuthorYearString = addslashes($NameAuthorYearString->item(0)->nodeValue); }
if($Identification2) {
// echo "Preferred: " . $Identification->getAttribute('PreferredIdentificationFlag') . "
";
$sqlPreferredIdentificationFlag = $Identification2->getAttribute('PreferredIdentificationFlag'); }
foreach ($ScientificNames as $ScientificName) {
// $ScientificNamesAtomized = $ScientificName->getElementsByTagName('NameAtomised');
// foreach ($ScientificNamesAtomized as $ScientificNameAtomized) {
$Bacteria = $ScientificName->getElementsByTagName('Bacterial');
$Botany = $ScientificName->getElementsByTagName('Botanical');
$Zoology = $ScientificName->getElementsByTagName('Zoological');
$Virology = $ScientificName->getElementsByTagName('Viral');
if($Bacteria) {
foreach ($Bacteria as $Bacterical) {
$GenusBac = $Bacterical->getElementsByTagName('Genus');
$SubgenusBac = $Bacterical->getElementsByTagName('Subgenus');
$SpeciesEpithetBac = $Bacterical->getElementsByTagName('SpeciesEpithet');
$SubspeciesEpithetBac = $Bacterical->getElementsByTagName('SubspeciesEpithet');
if($GenusBac) {
// echo "Genus: " . $GenusBac->item(0)->nodeValue . "
";
$sqlGenus = $GenusBac->item(0)->nodeValue; }
if($SubgenusBac) {
// echo "Subgenus: " . $SubgenusBac->item(0)->nodeValue . "
";
$sqlSubgenus = $SubgenusBac->item(0)->nodeValue; }
if($SpeciesEpithetBac) {
// echo "Spec.Epi: " . $SpeciesEpithetBac->item(0)->nodeValue . "
";
$sqlFirstEpithet = $SpeciesEpithetBac->item(0)->nodeValue; }
if($SubspeciesEpithetBac) {
// echo "SspEpi: " . $SubspeciesEpithetBac->item(0)->nodeValue . "
";
$sqlSecondEpithet = $SubspeciesEpithetBac->item(0)->nodeValue; }
if(empty($sqlGenus) and empty($sqlSubgenus) and empty($sqlFirstEpithet) and empty($sqlSubspecies))
{
// echo "Bacteria_All: " . $Bacteria->item(0)->nodeValue . "
"; //if (empty -> $GenusBac, $SubgenusBac, $SpeciesEpithetBac, $SubspeciesEpithetBac)
$sqlName_All = $Bacteria->item(0)->nodeValue; }
} //foreach $Bacteria
} //if($Bacteria)
if($Botany) {
foreach ($Botany as $Botanical) {
$GenusBot = $Botanical->getElementsByTagName('Genus');
$FirstEpithet = $Botanical->getElementsByTagName('FirstEpithet');
$SecondEpithet = $Botanical->getElementsByTagName('SecondEpithet');
$Rank = $Botanical->getElementsByTagName('Rank');
$HybridFlag = $Botanical->getElementsByTagName('HybridFlag');
if($GenusBot) {
// echo "Genus: " . $GenusBot->item(0)->nodeValue . "
";
$sqlGenus = $GenusBot->item(0)->nodeValue; }
if($FirstEpithet) {
// echo "Spec.Epi: " . $FirstEpithet->item(0)->nodeValue . "
";
$sqlFirstEpithet = $FirstEpithet->item(0)->nodeValue; }
if($Rank) {
// echo "Rank: " . $Rank->item(0)->nodeValue . "
";
$sqlRank = $Rank->item(0)->nodeValue; }
if($SecondEpithet) {
// echo "Sec.Epi: " . $SecondEpithet->item(0)->nodeValue . "
";
$sqlSecondEpithet = $SecondEpithet->item(0)->nodeValue; }
if($HybridFlag) {
// echo "Hybrid: " . $HybridFlag->item(0)->nodeValue . "
";
$sqlHybridFlag = $HybridFlag->item(0)->nodeValue; }
if(empty($sqlGenus) and empty($sqlFirstEpithet) and empty($sqlRank) and empty($sqlSecondEpithet))
{
// echo "Botany_All: " . $Botany->item(0)->nodeValue . "
"; //if (empty -> $GenusBot, $FirstEpithet, $SecondEpithet, $Rank, $HybridFlag)
$sqlName_All = $Botany->item(0)->nodeValue; }
} //foreach $Botany
} //if($Botany)
if($Zoology) {
foreach ($Zoology as $Zoological => $Zoo) {
$GenusZoo = $Zoo->getElementsByTagName('Genus');
$SubgenusZoo = $Zoo->getElementsByTagName('Subgenus');
$SpeciesEpithetZoo = $Zoo->getElementsByTagName('SpeciesEpithet');
$SubspeciesEpithetZoo = $Zoo->getElementsByTagName('SubspeciesEpithet');
if($GenusZoo) {
// echo "Genus: " .$GenusZoo->item(0)->nodeValue."
";
$sqlGenus = $GenusZoo->item(0)->nodeValue; }
if($SubgenusZoo) {
// echo "Subgenus: " . $SubgenusZoo->item(0)->nodeValue . "
";
$sqlSubgenus = $SubgenusZoo->item(0)->nodeValue; }
if($SpeciesEpithetZoo) {
// echo "Spec.Epi: " . $SpeciesEpithetZoo->item(0)->nodeValue . "
";
$sqlFirstEpithet = $SpeciesEpithetZoo->item(0)->nodeValue; }
if($SubspeciesEpithetZoo) {
// echo "SspEpi: " . $SubspeciesEpithetZoo->item(0)->nodeValue . "
";
$sqlSecondEpithet = $SubspeciesEpithetZoo->item(0)->nodeValue; }
if($sqlSecondEpithet) {
$sqlRank = "ssp."; }
if(empty($sqlGenus) and empty($sqlSubgenus) and empty($sqlFirstEpithet) and empty($sqlSecondEpithet))
{
// echo "Zoology_All: " . $Zoo . "
"; //if (empty -> $GenusZ, $SubgenusZ, $SpeciesEpithetZ, $SubspeciesEpithetZ)
$sqlName_All = $Zoology->item(0)->nodeValue; }
} //foreach $Zoology
} //if($Zoology)
if($Virology)
{
foreach ($Virology as $Viral) {
$GenusV = $Viral->getElementsByTagName('Genus');
if($GenusV) {
// echo "Genus: " . $GenusV->item(0)->nodeValue . "
";
$sqlGenus = $GenusV->item(0)->nodeValue; }
if(empty($sqlGenus))
{
// echo "Virology_All: " . $Virology->item(0)->nodeValue . "
";
$sqlName_All = $Virology->item(0)->nodeValue; }
} //foreach $Virology
} //if($Virology)
// } //foreach $ScientificNamesAtomized
$result2 = "INSERT INTO tablecachetaxonidentified (ID_Cache, Genus, Subgenus, FirstEpithet, SecondEpithet, Rank, HybridFlag, NameAuthorYear, Other, PreferredFlag, Created_Who) VALUES ('$IDTableCache','$sqlGenus','$sqlSubgenus','$sqlFirstEpithet','$sqlSecondEpithet','$sqlRank','$sqlHybridFlag','$sqlNameAuthorYearString','$sqlName_All','$sqlPreferredIdentificationFlag','$log')";
$sql2 = mysql_query($result2);
$IDTableCacheTaxonIdentified=mysql_insert_id();
#######################################Error 2###############################################################
if(!$sql2)
{ $msg = $result2."\n";
$msg .= "####Error 2####";
trigger_error($msg, E_USER_ERROR);
include ("Errorreport.php"); }
#############################################################################################################
} //foreach $ScientificName
foreach ($HigherTaxa as $index => $HigherTaxon) { // more than one HigherTaxon per Identification possible
if($HigherTaxon) {
// echo "Higher Taxon: " .$HigherTaxon->item(0)->nodeValue." (".$HigherTaxon->getAttribute('TaxonRank').")
";
$sqlHigherTaxon = $HigherTaxon->nodeValue;
$sqlHigherTaxonRank = $HigherTaxon->getAttribute('TaxonRank'); }
$result3 = "INSERT INTO tablecachehighertaxa (ID_CacheTaxonIdentified, HigherTaxon, TaxonRank, Created_Who) VALUES ('$IDTableCacheTaxonIdentified','$sqlHigherTaxon','$sqlHigherTaxonRank','$log')";
$sql3 = mysql_query($result3);
#######################################Error 3###############################################################
if(!$sql3)
{ $msg = $result3."\n";
$msg .= "####Error 3####";
trigger_error($msg, E_USER_ERROR);
include ("Errorreport.php"); }
#############################################################################################################
} //foreach $HugherTaxa
} //foreach $IdentificationSingle
} //foreach $Identifications
/*----------------------------------------MULTI MEDIA OBJECTS -----------------------------*/
$MultiMediaObjects = $Unit->getElementsByTagName('UnitDigitalImage');
foreach ($MultiMediaObjects as $IndexMultiMediaObjects => $MultiMediaObject) { // more than one Identification possible
$FileURI = $MultiMediaObject->getElementsByTagName('ImageURI');
if(!empty($FileURI)) {
$sqlFileURI = $FileURI->item(0)->nodeValue; }
$result4 = "INSERT INTO tablecacheimages (ID_Cache, Images, Created_Who) VALUES ('$IDTableCache','$sqlFileURI','$log')";
$sql4 = mysql_query($result4);
#######################################Error 4###############################################################
if(!$sql4)
{ $msg = $result4."\n";
$msg .= "####Error 4####";
trigger_error($msg, E_USER_ERROR);
include ("Errorreport.php");
$error = "true"; }
#############################################################################################################
} // foreach $MultiMediaObjects
if($sql1 and $sql2)
{ echo "Data have been saved! |
|
"; }
} // if(!mysql_num_rows($sqlTest))
} //foreach $Units
} //foreach $Datasets
?>