<!-- Copyright (C) 2009 DNA Bank Network http://www.dnabank-network.org The contents of this file are subject to the Mozilla Public License Version 1.1 See LICENSE.TXT at the top of this package for the full license terms. --> <?php include ("head.php"); include ("auth.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>DNA Bank Network - Add new Specimen Dataset</title> <link rel="stylesheet" type="text/css" href="format.css"> <SCRIPT LANGUAGE="JavaScript1.1" src="Functions.js"></SCRIPT> <NOSCRIPT>Bitte aktivieren Sie Javascript!</NOSCRIPT> </head> <body> <form name="formular" method="POST" action="new_dataset.php"> <table id="tablemain" border="0"> <tr> <td id="tdLogo"><img border="0" src="images/Logo-DNA-Bank-Network-ocker.jpg" width="123" height="78"></td> <td> <h1>DNA Bank Network - Add new dataset</h1></td> <td id="tdLogo"><img border="0" src="images/Logo.jpg"></td> </tr> <tr> <td><?php echo "Logged in as: "; $log = $_SESSION["log"]; echo $log; ?></td><td colspan="2"><a href="logout.php">Logout</a>.</td> </tr> <tr> <td valign="top" align="center" valign="middle" colspan="3"> <table id="table" width="80%" border="0"> <tr><td align="center"><a class="black" href="Help-Provider.php" target="_blank">>>> Help <<<</a><br><br></td></tr> <tr><td align="center"> <?php if ($formVerifyProvider or $formCheckurl or $formSubmitSave or $formSubmitEditView or $formSubmitEditDataset or $formSubmitSaveNewDataset) {} else {echo "<a class='fine'>Please enter wrapper url to check if it is already connected to the DNA Module!</a>"; } ?> </td></tr> <tr><td align="center">Provider-Url: <input type="text" name="formNewProvider" id="InputLong2" value="<?php if($formVerifyProvider) { echo $formNewProvider; } if ($formCheckurl) { echo $formNewProviderUrl; }?>"></td></tr> <tr><td align="center"><input type="submit" name="formVerifyProvider" id="button" value="Verify"></td></tr> <tr><td align="left"> <?php if($formVerifyProvider or $formCheckurl) { $result = mysql_query ("SELECT tabledataset.ID_Dataset, " . " tabledataset.View AS View, " . " tabledataset.Intern_Extern AS Intern_Extern, " . " tableprovider.Provider, " . " tableprovider.ID_Schema " . " FROM tabledataset " . " LEFT JOIN tableprovider ON tabledataset.ID_Provider = tableprovider.ID_Provider " . " LEFT JOIN tableschema ON tableprovider.ID_Schema = tableschema.ID_Schema " . " WHERE tableprovider.Provider = '$formNewProvider'"); //$result1 = mysql_query($result) or die($result.'<br>'.mysql_error()); $anzahl = mysql_num_rows($result); if ($anzahl == 0) { if ($formCheckurl) { $inf = parse_url($formNewProviderUrl); $host = $inf['host']; $path = $inf['path']; if (isset($inf['query'])) $path .= '?'.$inf['query']; if (isset($inf['port'])) $port = $inf['port']; else $port = 80; if($formNewProviderUrl) { error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE); $fp = fsockopen($host, $port, $errno, $error, 5); if(!$fp or !$host) { echo "<span class='error'>Provider not available! Please check your entr or contact the administrator. Maybe the provider is only temporarely not availabler.</span>"; } if($fp and $host) { echo "<span class='fine'>Provider available!</span>"; } } } else {echo "<span class='fine'>Wrapper url/Provider has not been found in the DNA Module! Please enter all required parameters to add the provider.</span>"; } echo "<table width='100%'>"; echo "<tr><td id='change'>Provider url:</td><td><input type='text' name='formNewProviderUrl' id='InputLong' value='"; if($formCheckurl) {echo $formNewProviderUrl; } else { echo $formNewProvider; } echo "'></td><td><input type='submit' name='formCheckurl' value='Check provider availability'></td></tr>"; echo "<tr><td id='change'>Schema:</td><td colspan='2'>"; build_select_list("formSchema", "SELECT ID_Schema, Schemata FROM tableschema " . "ORDER BY Schemata", ""); echo "</td></tr>"; echo "<tr><td id='change'>Digir Resource:</td><td colspan='2'><input type='text' name='formDigirResource' id='InputLong'>Required if Digir Provider!</td></tr>"; echo "<tr><td id='change'>Digir Source:</td><td colspan='2'><input type='text' name='formDigirSource' id='InputLong'>Required if Digir Provider!</td></tr>"; echo "<tr><td id='change'>View/Bezeichnung:</td><td colspan='2'><input type='text' name='formNewView' id='InputLong'></td></tr>"; echo "<tr><td id='change'>Intern/Extern:</td><td colspan='2'><select id='SelectLong' name='formStatus'><option value = ''>Please select</option><option value = '1'>Intern</option><option value = '2'>Extern</option></select></td></tr>"; echo "<tr><td colspan='3'><input type='submit' name='formSubmitSave' value='Save new dataset' id='button' "; if($formVerifyProvider or $formCheckurl) { echo "onclick='return CheckNewDataset();'"; } else {} echo "></td></tr>"; echo "</table>"; } else { echo "<span class='error'>Wrapper URL/Provider already connected to the DNA Module! ".$anzahl." Datasets have been found: </span>"; echo "<table width='100%'><th align='left'>Dataset</th><th align='left'>Intern/Extern</th>"; $gesamt = mysql_num_rows($result); for ($i=1; $i<=$gesamt; $i++) { $row=mysql_fetch_array($result); if($row['Intern_Extern'] == '1') { $Status = "Intern"; } if($row['Intern_Extern'] == '2') { $Status = "Extern"; } $Schema = $row['ID_Schema']; $Provider = $row['Provider']; if($Schema == '3') { echo "<tr><td>".$row['View']."</td><td>".$Status."</td></tr>"; } else { echo "<tr><td><input type='checkbox' name='x[".$i."]' value='".$i."'><input type='hidden' name='formView[".$i."]' value='".$row['ID_Dataset']."'>".$row['View']."</td><td>".$Status."</td></tr>"; } } echo "</table>"; if($Schema == '3') { echo "<table width='100%'><tr><td colspan='4'><hr /></td></tr>"; echo "<tr><td colspan='4'><span class='error'>It's a DarwinCore/DiGIR provider. Please enter a new dataset is necessary!</span></td></tr>"; echo "<tr><td colspan='4'><hr /></td></tr>"; echo "<tr><td id='Change' colspan='4'>Add new Dataset for this Provider: <a class='red'> ".$Provider."</a></td></tr>"; echo "<tr><th align='left'>Bezeichnung (e.g.BGBM,Lichens)</th><th align='left'>Intern/Extern</th><th align='left'>Resource</th><th align='left'>Source</th></tr>"; echo "<tr><td><input type='text' name='formNewView' id='InputLong2'></td><td><select id='InputLong2' name='formStatus'><option value = ''>Please select</option><option value = '1'>Intern</option><option value = '2'>Extern</option></select></td><td><input type='text' name='formDigirResource'></td><td><input type='text' name='formDigirSource'></td></tr>"; echo "<tr><td colspan='4'><input type='submit' id='button' name='formSubmitSaveNewDataset' value='Save New Dataset' onClick='return CheckNewDataset3();'></td></tr>"; echo "</table>"; } else { echo "<table width='100%'><tr><td colspan='2'><hr /></td></tr>"; echo "<tr><td colspan='2'><input type='submit' name='formSubmitEditView' value ='Edit selected datasets'></td></tr>"; echo "<tr><td colspan='2'><span class='error'>Bitte prüfen Sie, ob Sie ein gefundenen Dataset umbenennen können oder ob Sie ein neues Dataset eingeben müssen! Zum Umbennen bitte die gewünschten Datensätze markieren und auf 'Edit' klicken. Bitte lesen Sie gegebenenfalls nochmals die Dokumentation bevor Sie fortfahren!</span></td></tr>"; echo "<tr><td colspan='2'><hr /></td></tr>"; echo "<tr><td id='Change' colspan='2'>Add new Dataset for this Provider: <a class='red'> ".$Provider."</a></td></tr>"; echo "<tr><th align='left'>Bezeichnung (e.g.BGBM,Lichens)</th><th align='left'>Intern/Extern</th></tr>"; echo "<tr><td><input type='text' name='formNewView' id='InputLong2'></td><td><select id='InputLong2' name='formStatus'><option value = ''>Please select</option><option value = '1'>Intern</option><option value = '2'>Extern</option></select></td></tr>"; echo "<tr><td colspan='2'><input type='submit' name='formSubmitSaveNewDataset' value='Save new dataset' id='button' onclick='return CheckNewDataset2();'></td></tr>"; echo "</table>"; } } } if ($formSubmitSave) { $result = "INSERT INTO tableprovider (Provider, ID_Schema, Created_Who)" . "VALUES ('$formNewProviderUrl','$formSchema','$log')"; $sql1 = mysql_query($result); $IDProvider=mysql_insert_id(); $result2 = "INSERT INTO tabledataset (ID_Provider, Digir_Resource, Digir_Source, View, Intern_Extern, Created_Who)" . "VALUES ('$IDProvider','$formDigirResource','$formDigirSource','$formNewView','$formStatus','$log')"; $sql2 = mysql_query($result2); #######################################Error 1/2############################################################### if(!$sql1 or !$sql2) { $msg = $result1."\n"; $msg .= $result2."\n"; $msg .= "####Error 1/2####"; trigger_error($msg, E_USER_ERROR); include ("Errorreport.php"); } ############################################################################################################# else {echo "<span class='fine'>Neuer Provider/Dataset wurde gespeichert!</span>"; } } if($formSubmitEditView) { if($_POST['x']=="") { unset($x); } else { echo "<table width='100%'><th align='left'>Dataset</th><th align='left'>Intern/Extern</th>"; foreach ($_POST['x'] as $index) { $View = $_POST['formView'][$index]; $result = mysql_query("SELECT tabledataset.ID_Dataset, " . "tabledataset.View, " . "tableprovider.ID_Schema " . "FROM tabledataset " . "LEFT JOIN tableprovider ON tabledataset.ID_Provider = tableprovider.ID_Provider " . "WHERE tabledataset.ID_Dataset = '$View'"); while($row = mysql_fetch_object($result)) { echo "<tr><td><input type='text' name='formView[".$index."]' value='".$row->View."' id='InputLong2'><input type='hidden' name='formViewhidden[".$index."]' value='".$View."' id='InputLong2'>"."</td><td><select id='InputLong2' name='formStatus[".$index."]'><option value = ''>Please select</option><option value = '1'"; if ($row->ID_Schema == 1) { echo "selected"; } else {} echo ">Intern</option><option value = '2'"; if ($row->ID_Schema == 2) { echo "selected"; } else {} echo ">Extern</option></select></td></tr>"; } // while } //foreach ['x'] echo "<tr><td colspan='2'><input type='submit' name ='formSubmitEditDataset' value='Save Edits' id='button'></td></tr></table>"; } //else } //if ($formSubmitEditView) if ($formSubmitEditDataset) { foreach ($_POST['formView'] as $index => $value) { $UpdateView = $formViewhidden[$index]; $UpdateStatus = $formStatus[$index]; $result = "UPDATE tabledataset SET View = '$value', Intern_Extern = '$UpdateStatus' WHERE ID_Dataset = '$UpdateView'"; $sql = mysql_query($result); } #######################################Error 3############################################################### if(!$sql) { $msg = $result."\n"; $msg .= "####Error 3####"; trigger_error($msg, E_USER_ERROR); include ("Errorreport.php"); } ############################################################################################################# else {echo "<span class='fine'>Changes accepted!</span>";} } if ($formSubmitSaveNewDataset) { $result = mysql_query("SELECT ID_Provider FROM tableprovider WHERE Provider = '$formNewProvider'"); while ($row = mysql_fetch_object($result)) {$IDProvider = $row->ID_Provider; } $result = "INSERT INTO tabledataset (ID_Provider, Digir_Resource, Digir_Source, View, Intern_Extern, Created_Who)" . "VALUES ('$IDProvider','$formDigirResource','$formDigirSource','$formNewView','$formStatus','$log')"; $sql = mysql_query($result); #######################################Error 4############################################################### if(!$sql) { $msg = $result."\n"; $msg .= "####Error 4####"; trigger_error($msg, E_USER_ERROR); include ("Errorreport.php"); } ############################################################################################################# else { echo "<span class='fine'>Neuer Provider/Dataset wurde gespeichert!</span>"; } } ?> </td></tr> <tr><td><input type="submit" id="button" name="formSubmitClose" value="Close Form" style="float:right" onclick="window.close();"></td></tr> <tr><td>Nach Schließen des Formulares müssen Sie die Input- bzw. Suchmaske neu laden, damit die Änderungen aktiv werden.</td></tr> </table> </td> </tr> </table> </form> </body> </html>