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 ?>