require_once $SERVER_ROOT . '/classes/SpecUploadDwca.php'; $uspid = array_key_exists("uspid", $_REQUEST) ? $_REQUEST["uspid"] : 0; $importIdent = true; $importImage = true; //Sanitation if (!$uspid || !preg_match('/^[0-9,]+$/', $uspid)) { exit('ERROR: illegal upload profile identifier '); } $duManager = new SpecUploadDwca(); $duManager->setVerboseMode(2, 'batchDwcaUpload'); $duManager->setIncludeIdentificationHistory($importIdent); $duManager->setIncludeImages($importImage); $uspidArr = explode(',', $uspid); foreach ($uspidArr as $uploadId) { //Initiate parameters $duManager->setUspid($uploadId); $duManager->readUploadParameters(); $duManager->setSourceDatabaseType('batchDwcaUpload'); if ($duManager->getTitle() == '') { exit('ERROR: unable to set upload profile data (uspid: ' . $uploadId . ')'); } if ($duManager->getCollInfo('managementtype') != 'Snapshot') { exit('ERROR: automatic updates only allowed for Snapshot collections'); } $duManager->loadFieldMap(true); $ulPath = $duManager->uploadFile(); if (!$ulPath) { exit('ERROR uploading file: ' . $duManager->getErrorStr()); } if (!$duManager->analyzeUpload()) { exit('ERROR analyzing upload file: ' . $duManager->getErrorStr());
$duManager->setSearchLimit($recLimit); } elseif ($uploadType == $FILEUPLOAD) { $duManager = new SpecUploadFile(); $duManager->setUploadFileName($ulPath); } elseif ($uploadType == $SKELETAL) { $duManager = new SpecUploadFile(); $duManager->setUploadFileName($ulPath); $matchCatNum = true; } elseif ($uploadType == $DWCAUPLOAD) { $duManager = new SpecUploadDwca(); $duManager->setBaseFolderName($ulPath); $duManager->setIncludeIdentificationHistory($importIdent); $duManager->setIncludeImages($importImage); } $duManager->setCollId($collid); $duManager->setUspid($uspid); $duManager->setUploadType($uploadType); $duManager->setMatchCatalogNumber($matchCatNum); $duManager->setMatchOtherCatalogNumbers($matchOtherCatNum); if ($action == 'Automap Fields') { $autoMap = true; } $statusStr = ''; $isEditor = 0; if ($IS_ADMIN || array_key_exists("CollAdmin", $USER_RIGHTS) && in_array($collid, $USER_RIGHTS["CollAdmin"])) { $isEditor = 1; } if ($isEditor) { if ($action == "Save Primary Key") { $statusStr = $duManager->savePrimaryKey($dbpk); }