-#!/usr/bin/perl
-
package C4::ShelfBrowser;
# Copyright 2010 Catalyst IT
use strict;
use warnings;
-use C4::Biblio;
+use C4::Biblio qw( GetAuthorisedValueDesc GetMarcBiblio );
use C4::Context;
-use C4::Koha;
+use C4::Koha qw( GetNormalizedUPC GetNormalizedOCLCNumber GetNormalizedISBN GetNormalizedEAN );
+use Koha::Biblios;
use Koha::Libraries;
-use vars qw(@ISA @EXPORT @EXPORT_OK);
-
+our (@ISA, @EXPORT_OK);
BEGIN {
- require Exporter;
- @ISA = qw(Exporter);
- @EXPORT = qw(
- &GetNearbyItems
- );
+ require Exporter;
+ @ISA = qw(Exporter);
@EXPORT_OK = qw(
+ GetNearbyItems
);
}
my $marcflavour = C4::Context->preference("marcflavour");
my @valid_items;
for my $item ( @items ) {
- my $this_biblio = GetBibData($item->{biblionumber});
- next unless defined $this_biblio;
- $item->{'title'} = $this_biblio->{'title'};
- my $this_record = GetMarcBiblio({ biblionumber => $this_biblio->{'biblionumber'} });
+ my $biblio = Koha::Biblios->find( $item->{biblionumber} );
+ next unless defined $biblio;
+
+ $item->{biblio_object} = $biblio;
+ $item->{biblionumber} = $biblio->biblionumber;
+ $item->{title} = $biblio->title;
+ $item->{subtitle} = $biblio->subtitle;
+ $item->{medium} = $biblio->medium;
+ $item->{part_number} = $biblio->part_number;
+ $item->{part_name} = $biblio->part_name;
+ my $this_record = GetMarcBiblio({ biblionumber => $biblio->biblionumber });
$item->{'browser_normalized_upc'} = GetNormalizedUPC($this_record,$marcflavour);
$item->{'browser_normalized_oclc'} = GetNormalizedOCLCNumber($this_record,$marcflavour);
$item->{'browser_normalized_isbn'} = GetNormalizedISBN(undef,$this_record,$marcflavour);
$item->{'browser_normalized_ean'} = GetNormalizedEAN($this_record,$marcflavour);
- $item->{'subtitle'} = GetRecordValue('subtitle', $this_record, GetFrameworkCode( $item->{biblionumber} ));
push @valid_items, $item;
}
return @valid_items;
}
-# Fetches some basic biblio data needed by the shelf stuff
-sub GetBibData {
- my ($bibnum) = @_;
-
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("SELECT biblionumber, title FROM biblio WHERE biblionumber=?");
- $sth->execute($bibnum);
- my $bib = $sth->fetchrow_hashref();
- return $bib;
-}
-
1;