From c77d666f86ed2335c8c7ffa8e93d74c469baf4ec Mon Sep 17 00:00:00 2001
From: Robin Sheat <robin@catalyst.net.nz>
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..29b5f0a 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);
+        my $marcxml = $record->as_xml();
         my $oai_sets = GetOAISetsBiblio($biblionumber);
         my @setSpecs;
         foreach (@$oai_sets) {
-- 
1.8.3.2