header("Content-Type: text/html; charset=" . $charset); $collid = $_REQUEST["collid"]; $archiveFile = ''; $retArr = array(); if ($collid && is_numeric($collid)) { $isEditor = false; if ($IS_ADMIN || array_key_exists("CollAdmin", $USER_RIGHTS) && in_array($collid, $USER_RIGHTS["CollAdmin"])) { $isEditor = true; } if ($isEditor) { $processingStatus = array_key_exists('ps', $_REQUEST) ? $_REQUEST['ps'] : ''; $customField1 = array_key_exists('cf1', $_POST) ? $_POST['cf1'] : ''; $customField2 = array_key_exists('cf2', $_POST) ? $_POST['cf2'] : ''; $dwcaHandler = new DwcArchiverOccurrence(); $dwcaHandler->setCollArr($collid); $dwcaHandler->setCharSetOut('UTF-8'); $dwcaHandler->setSchemaType('coge'); $dwcaHandler->setExtended(false); $dwcaHandler->setDelimiter('csv'); $dwcaHandler->setVerbose(0); $dwcaHandler->setRedactLocalities(0); $dwcaHandler->setIncludeDets(0); $dwcaHandler->setIncludeImgs(0); $dwcaHandler->addCondition('decimallatitude', 'NULL'); $dwcaHandler->addCondition('decimallongitude', 'NULL'); $dwcaHandler->addCondition('catalognumber', 'NOTNULL'); $dwcaHandler->addCondition('locality', 'NOTNULL'); if ($processingStatus) { $dwcaHandler->addCondition('processingstatus', 'EQUALS', $processingStatus); } if ($customField1) {
public function exportDataset($dsid) { //Get occurrence records $zip = array_key_exists('zip', $_POST) ? $_POST['zip'] : 0; $format = $_POST['format']; $extended = array_key_exists('extended', $_POST) ? $_POST['extended'] : 0; $redactLocalities = 1; $rareReaderArr = array(); if ($IS_ADMIN || array_key_exists("CollAdmin", $userRights)) { $redactLocalities = 0; } elseif (array_key_exists("RareSppAdmin", $userRights) || array_key_exists("RareSppReadAll", $userRights)) { $redactLocalities = 0; } else { if (array_key_exists('CollEditor', $userRights)) { $rareReaderArr = $userRights['CollEditor']; } if (array_key_exists('RareSppReader', $userRights)) { $rareReaderArr = array_unique(array_merge($rareReaderArr, $userRights['RareSppReader'])); } } $dwcaHandler = new DwcArchiverOccurrence(); $dwcaHandler->setCharSetOut($cSet); $dwcaHandler->setSchemaType($schema); $dwcaHandler->setExtended($extended); $dwcaHandler->setDelimiter($format); $dwcaHandler->setVerbose(0); $dwcaHandler->setRedactLocalities($redactLocalities); if ($rareReaderArr) { $dwcaHandler->setRareReaderArr($rareReaderArr); } $occurManager = new OccurrenceManager(); $dwcaHandler->setCustomWhereSql($occurManager->getSqlWhere()); $outputFile = null; if ($zip) { //Ouput file is a zip file $includeIdent = array_key_exists('identifications', $_POST) ? 1 : 0; $dwcaHandler->setIncludeDets($includeIdent); $images = array_key_exists('images', $_POST) ? 1 : 0; $dwcaHandler->setIncludeImgs($images); $outputFile = $dwcaHandler->createDwcArchive('webreq'); } else { //Output file is a flat occurrence file (not a zip file) $outputFile = $dwcaHandler->getOccurrenceFile(); } //ob_start(); $contentDesc = ''; if ($schema == 'dwc') { $contentDesc = 'Darwin Core '; } else { $contentDesc = 'Symbiota '; } $contentDesc .= 'Occurrence '; if ($zip) { $contentDesc .= 'Archive '; } $contentDesc .= 'File'; header('Content-Description: ' . $contentDesc); if ($zip) { header('Content-Type: application/zip'); } elseif ($format == 'csv') { header('Content-Type: text/csv; charset=' . $charset); } else { header('Content-Type: text/html; charset=' . $charset); } header('Content-Disposition: attachment; filename=' . basename($outputFile)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($outputFile)); ob_clean(); flush(); //od_end_clean(); readfile($outputFile); unlink($outputFile); }
$dlManager = new OccurrenceDownload(); if (array_key_exists("publicsearch", $_POST) && $_POST["publicsearch"]) { $occurManager = new OccurrenceManager(); $dlManager->setSqlWhere($occurManager->getSqlWhere()); } $dlManager->setSchemaType($schema); $dlManager->setCharSetOut($cSet); $dlManager->setDelimiter($format); $dlManager->setZipFile($zip); $taxonFilterCode = array_key_exists("taxonFilterCode", $_POST) ? $_POST["taxonFilterCode"] : 0; $dlManager->setTaxonFilter($taxonFilterCode); $dlManager->downloadData(); } else { //Is an occurrence download $dwcaHandler = new DwcArchiverOccurrence(); $dwcaHandler->setCharSetOut($cSet); $dwcaHandler->setSchemaType($schema); $dwcaHandler->setExtended($extended); $dwcaHandler->setDelimiter($format); $dwcaHandler->setVerbose(0); $dwcaHandler->setRedactLocalities($redactLocalities); if ($rareReaderArr) { $dwcaHandler->setRareReaderArr($rareReaderArr); } if (array_key_exists("publicsearch", $_POST) && $_POST["publicsearch"]) { $occurManager = new OccurrenceManager(); $dwcaHandler->setCustomWhereSql($occurManager->getSqlWhere()); } else { //Request is coming from exporter.php for collection manager tools $dwcaHandler->setCollArr($_POST['targetcollid']); if (array_key_exists('processingstatus', $_POST) && $_POST['processingstatus']) {