} elseif (isset($args['resumptionToken'])) { $restoken = $args['resumptionToken']; // just used as an indicator unset($expirationdatetime); } // this don't work on mysql /* if (isset($args['resumptionToken'])) { debug_message("Try to resume because a resumptionToken supplied.") ; $record = $res->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, $deliveredrecords); } */ // Record counter $countrec = 0; // Publish a batch to $maxrec number of records $outputObj = new ANDS_Response_XML($args); while ($countrec++ < $maxrec) { $record = $res->fetch(PDO::FETCH_ASSOC); //print_r($record); if ($record === false) { if (SHOW_QUERY_ERROR) { echo __FILE__ . "," . __LINE__ . "<br />"; print_r($db->errorInfo()); exit; } } $identifier = $record[$SQL['identifier']]; $datestamp = formatDatestamp($record[$SQL['datestamp']]); $setspec = $record[$SQL['set']]; // debug_var_dump('record', $record); if (isset($record[$SQL['deleted']]) && $record[$SQL['deleted']] === true && ($deletedRecord == 'transient' || $deletedRecord == 'persistent')) {
<?php /** * \file * \brief Response to Verb ListSets * * Lists what sets are available to records in the system. */ // Here the size of sets is small, no resumptionToken is taken care. if (is_array($SETS)) { $outputObj = new ANDS_Response_XML($args); foreach ($SETS as $set) { $setNode = $outputObj->add2_verbNode("set"); foreach ($set as $key => $val) { if ($key == 'setDescription') { $desNode = $outputObj->addChild($setNode, $key); $des = $outputObj->doc->createDocumentFragment(); $des->appendXML($val); $desNode->appendChild($des); } else { $outputObj->addChild($setNode, $key, $val); } } } } else { $errors[] = oai_error('noSetHierarchy'); oai_exit(); }
$errors[] = oai_error('idDoesNotExist', '', $identifier); } if (!empty($errors)) { oai_exit(); } $record = $res->fetch(PDO::FETCH_ASSOC); if ($record === false) { if (SHOW_QUERY_ERROR) { echo __FILE__ . ',' . __LINE__ . "<br />"; echo "Query: {$query}<br />\n"; } $errors[] = oai_error('idDoesNotExist', '', $identifier); } $identifier = $record[$SQL['identifier']]; $datestamp = formatDatestamp($record[$SQL['datestamp']]); if (isset($record[$SQL['deleted']]) && $record[$SQL['deleted']] == 'true' && ($deletedRecord == 'transient' || $deletedRecord == 'persistent')) { $status_deleted = TRUE; } else { $status_deleted = FALSE; } $outputObj = new ANDS_Response_XML($args); $cur_record = $outputObj->create_record(); $cur_header = $outputObj->create_header($identifier, $datestamp, $record[$SQL['set']], $cur_record); // return the metadata record itself if (!$status_deleted) { include $inc_record; // where the metadata node is generated. create_metadata($outputObj, $cur_record, $identifier, $record[$SQL['set']], $db); } else { $cur_header->setAttribute("status", "deleted"); }
* Tell the world what the data provider is. Usually it is static once the provider has been set up. * * \see http://www.openarchives.org/OAI/2.0/guidelines-oai-identifier.htm for details */ // The response to Identify is fixed if (SHOW_QUERY_ERROR) { echo "Here are some settings in raw format:\n"; print_r($identifyResponse); echo 'MAXRECORDS ',MAXRECORDS, ', MAXIDS ', MAXIDS,"\n"; echo 'Token is valid for ',TOKEN_VALID," seconds\n"; echo 'Tokens have prefix: ',TOKEN_PREFIX,"\n"; echo 'XMLSCHEMA: ',XMLSCHEMA,"\n"; echo "\n"; } $outputObj = new ANDS_Response_XML($args); foreach($identifyResponse as $key => $val) { $outputObj->add2_verbNode($key, $val); // adminEmail comes after protocolVersion if ($key === 'protocolVersion') { foreach ($adminEmail as $val) { $outputObj->add2_verbNode("adminEmail", $val); } } } if(isset($compression)) { foreach($compression as $val) { $outputObj->add2_verbNode("compression", $val); }
} $record = $res[0]; if ($record===false) { if (SHOW_QUERY_ERROR) { echo __FILE__.','.__LINE__."<br />"; } $errors[] = oai_error('idDoesNotExist', '', $identifier); } $datestamp = formatDatestamp($record->{$SQL['datestamp']}); if (isset($record->{$SQL['deleted']}) && (intval($record->{$SQL['deleted']}) === 1) && ($deletedRecord == 'transient' || $deletedRecord == 'persistent')) { $status_deleted = TRUE; } else { $status_deleted = FALSE; } $outputObj = new ANDS_Response_XML($args); $cur_record = $outputObj->create_record(); $cur_header = $outputObj->create_header($record->{$SQL['identifier']}, $datestamp, $record->{$SQL['set']}, $cur_record); // return the metadata record itself if (!$status_deleted) { include($inc_record); // where the metadata node is generated. create_metadata($outputObj, $cur_record, $record->{$SQL['identifier']}, $record->{$SQL['set']}); } else { $cur_header->setAttribute("status","deleted"); } ?>