Changeset 490da60


Ignore:
Timestamp:
12/04/13 10:37:53 (3 years ago)
Author:
Marc-Antoine Parent <maparent@…>
Branches:
('master', '490da607341fc912953151a06bff77650ca214bb')('vitrine', '64aced58f2abea1ed48aa3134c125a714fe507cf')
Children:
64aced58f2abea1ed48aa3134c125a714fe507cf
Parents:
f4dd36d38bd4c60f23ad6dd0bfcc0edf36d66d57
git-author:
Marc-Antoine Parent <maparent@acm.org>2013-12-04 10:37:53-05:00
git-committer:
Marc-Antoine Parent <maparent@acm.org>2013-12-04 10:37:53-05:00
Message:

no resumption token at end of search

File:
1 edited

Legend:

Unmodified
Added
Removed
  • html/classes/OaiPmhServer.php

    rf4dd36d r490da60  
    458458                        $this->oai_pmh_root_node->appendChild($list_identifiers_node); 
    459459 
    460                         // Build resumption token node 
    461                         // In other cases, it is permissible for repositories to revise the estimate during a list request sequence. 
    462                         $resumption_token_node = $document->createElementNS(OAI_PMH_NS, "resumptionToken", $resumptionToken); 
    463                         $resumption_token_node->setAttribute("completeListSize", $list_size); 
    464                         // http://www.openarchives.org/OAI/2.0/guidelines-repository.htm#completeListSize 
    465                         // "... thus it is always "0" in the first incomplete list response" 
    466                         $resumption_token_node->setAttribute("cursor", $cursor_position); 
    467                         $resumption_token_node->setAttribute("expirationDate", gmdate("Y-m-d\TH:i:s\Z", strtotime($token_expiration_date))); 
    468                         $list_identifiers_node->appendChild($resumption_token_node); 
    469  
    470                         $db->execSqlUpdate("UPDATE oai_pmh_resumption_tokens SET cursor = cursor + {$batch_size} WHERE oai_pmh_resumption_token = '{$resumptionToken}';", false); 
     460                        if ($cursor_position + sizeof($identifiers_rows) < $list_size) { 
     461                            // Build resumption token node 
     462                            // In other cases, it is permissible for repositories to revise the estimate during a list request sequence. 
     463                            $resumption_token_node = $document->createElementNS(OAI_PMH_NS, "resumptionToken", $resumptionToken); 
     464                            $resumption_token_node->setAttribute("completeListSize", $list_size); 
     465                            // http://www.openarchives.org/OAI/2.0/guidelines-repository.htm#completeListSize 
     466                            // "... thus it is always "0" in the first incomplete list response" 
     467                            $resumption_token_node->setAttribute("cursor", $cursor_position); 
     468                            $resumption_token_node->setAttribute("expirationDate", gmdate("Y-m-d\TH:i:s\Z", strtotime($token_expiration_date))); 
     469                            $list_identifiers_node->appendChild($resumption_token_node); 
     470 
     471                            $db->execSqlUpdate("UPDATE oai_pmh_resumption_tokens SET cursor = cursor + {$batch_size} WHERE oai_pmh_resumption_token = '{$resumptionToken}';", false); 
     472                        } else { 
     473                            $db->execSqlUpdate("DELETE FROM oai_pmh_resumption_tokens WHERE oai_pmh_resumption_token = '{$resumptionToken}'"); 
     474                        } 
    471475                    } 
    472476                    else 
     
    746750                        $this->oai_pmh_root_node->appendChild($list_records_node); 
    747751 
    748                         // Build resumption token node 
    749                         // In other cases, it is permissible for repositories to revise the estimate during a list request sequence. 
    750                         $resumption_token_node = $document->createElementNS(OAI_PMH_NS, "resumptionToken", $resumptionToken); 
    751                         $resumption_token_node->setAttribute("completeListSize", $list_size); 
    752                         // http://www.openarchives.org/OAI/2.0/guidelines-repository.htm#completeListSize 
    753                         // "... thus it is always "0" in the first incomplete list response" 
    754                         $resumption_token_node->setAttribute("cursor", $cursor_position); 
    755                         $resumption_token_node->setAttribute("expirationDate", gmdate("Y-m-d\TH:i:s\Z", strtotime($token_expiration_date))); 
    756                         $list_records_node->appendChild($resumption_token_node); 
    757  
    758                         $db->execSqlUpdate("UPDATE oai_pmh_resumption_tokens SET cursor = cursor + {$batch_size} WHERE oai_pmh_resumption_token = '{$resumptionToken}';", false); 
     752                        if ($cursor_position + sizeof($identifiers_rows) < $list_size) { 
     753                            // Build resumption token node 
     754                            // In other cases, it is permissible for repositories to revise the estimate during a list request sequence. 
     755                            $resumption_token_node = $document->createElementNS(OAI_PMH_NS, "resumptionToken", $resumptionToken); 
     756                            $resumption_token_node->setAttribute("completeListSize", $list_size); 
     757                            // http://www.openarchives.org/OAI/2.0/guidelines-repository.htm#completeListSize 
     758                            // "... thus it is always "0" in the first incomplete list response" 
     759                            $resumption_token_node->setAttribute("cursor", $cursor_position); 
     760                            $resumption_token_node->setAttribute("expirationDate", gmdate("Y-m-d\TH:i:s\Z", strtotime($token_expiration_date))); 
     761                            $list_records_node->appendChild($resumption_token_node); 
     762 
     763                            $db->execSqlUpdate("UPDATE oai_pmh_resumption_tokens SET cursor = cursor + {$batch_size} WHERE oai_pmh_resumption_token = '{$resumptionToken}';", false); 
     764                        } else { 
     765                            $db->execSqlUpdate("DELETE FROM oai_pmh_resumption_tokens WHERE oai_pmh_resumption_token = '{$resumptionToken}'"); 
     766                        } 
    759767                    } 
    760768                    else 
Note: See TracChangeset for help on using the changeset viewer.