From f4e9c7874f13e06faf3daddbf7ee21dd6d2e2972 Mon Sep 17 00:00:00 2001 From: Robin Sheat Date: Mon, 23 Jun 2014 17:16:50 +1200 Subject: [PATCH] Bug 12252 - include item data in OAI-PMH ListRecords result Same in spirit to the other patch, this also includes the item detail in ListRecords. Test plan: * Fetch a URL like: http://koha/cgi-bin/koha/oai.pl?verb=ListRecords&metadataPrefix=marcxml * Verify that there are 952 entries in the returned records where appropriate. --- opac/oai.pl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/opac/oai.pl b/opac/oai.pl index b580a27..b2252f8 100755 --- a/opac/oai.pl +++ b/opac/oai.pl @@ -456,8 +456,10 @@ package C4::OAI::ListRecords; use strict; use warnings; +use C4::Biblio; use HTTP::OAI; use C4::OAI::Sets; +use MARC::File::XML; use base ("HTTP::OAI::ListRecords"); @@ -474,7 +476,7 @@ sub new { $set = GetOAISetBySpec($token->{'set'}); } my $sql = " - SELECT biblioitems.biblionumber, biblioitems.marcxml, biblioitems.timestamp + SELECT biblioitems.biblionumber, biblioitems.timestamp FROM biblioitems "; $sql .= " JOIN oai_sets_biblios ON biblioitems.biblionumber = oai_sets_biblios.biblionumber " if defined $set; @@ -491,7 +493,9 @@ sub new { $sth->execute( @bind_params ); my $pos = $token->{offset}; - while ( my ($biblionumber, $marcxml, $timestamp) = $sth->fetchrow ) { + while ( my ($biblionumber, $timestamp) = $sth->fetchrow ) { + my $record = GetMarcBiblio($biblionumber, 1, 1); + my $marcxml = $record->as_xml(); my $oai_sets = GetOAISetsBiblio($biblionumber); my @setSpecs; foreach (@$oai_sets) { -- 1.8.3.2