17 import(
'lib.pkp.classes.oai.OAI');
41 'DELETE FROM oai_resumption_tokens WHERE expire < ?', time()
52 'SELECT * FROM oai_resumption_tokens WHERE token = ?',
56 if ($result->RecordCount() == 0) {
60 $row = $result->getRowAssoc(
false);
61 $token =
new OAIResumptionToken($row[
'token'], $row[
'record_offset'], unserialize($row[
'params']), $row[
'expire']);
76 $token->id = md5(uniqid(mt_rand(),
true));
78 'SELECT COUNT(*) FROM oai_resumption_tokens WHERE token = ?',
81 $val = $result->fields[0];
87 'INSERT INTO oai_resumption_tokens (token, record_offset, params, expire)
90 array($token->id, $token->offset, serialize($token->params), $token->expire)
105 function recordExists($dataObjectId, $setIds = array()) {
106 return $this->
getRecord($dataObjectId, $setIds)?
true:
false;
117 function getRecord($dataObjectId, $setIds = array()) {
119 if ($result->RecordCount() != 0) {
120 $row = $result->GetRowAssoc(
false);
122 }
else $returner =
null;
140 function getRecords($setIds, $from, $until, $set, $offset, $limit, &$total) {
142 $total = $result->RecordCount();
145 $result->Move($offset);
146 for ($count = 0; $count < $limit && !$result->EOF; $count++) {
147 $row = $result->GetRowAssoc(
false);
168 function getIdentifiers($setIds, $from, $until, $set, $offset, $limit, &$total) {
170 $total = $result->RecordCount();
173 $result->Move($offset);
174 for ($count = 0; $count < $limit && !$result->EOF; $count++) {
175 $row = $result->GetRowAssoc(
false);
192 if ($result->RecordCount() != 0) {
193 $row = $result->GetRowAssoc(
false);
244 if (isset($row[
'tombstone_id'])) {
245 $record->identifier = $row[
'oai_identifier'];
246 $record->sets = array($row[
'set_spec']);
247 $record->status = OAIRECORD_STATUS_DELETED;
249 $record->status = OAIRECORD_STATUS_ALIVE;
250 $record = $this->setOAIData($record, $row, is_a($record,
'OAIRecord'));
267 abstract function _getRecordsRecordSet($setIds, $from, $until, $set, $submissionId =
null, $orderBy =
'journal_id, submission_id');