@EXPORT_OK = qw(
&get_xisbns
&get_biblio_from_xisbn
+ &get_biblionumber_from_isbn
);
}
+sub get_biblionumber_from_isbn {
+ my $isbn = shift;
+ if ($isbn =~ /(\d{9,}[X]*)/) {
+ $isbn = $1.'%';
+ }
+ my @biblionumbers;
+ my $dbh=C4::Context->dbh;
+ my $query = "SELECT biblionumber FROM biblioitems WHERE isbn LIKE ? LIMIT 10";
+ my $sth = $dbh->prepare($query);
+ $sth->execute($isbn);
+ return $sth->fetchall_arrayref({});
+}
=head1 NAME
C4::XISBN - Functions for retrieving XISBN content in Koha
sub get_biblio_from_xisbn {
my $xisbn = shift;
+ $xisbn .='%' if ($xisbn =~ /(\d{9,}[X]*)/);
my $dbh = C4::Context->dbh;
- my $query = "SELECT biblionumber FROM biblioitems WHERE isbn=?";
+ my $query = "SELECT biblionumber FROM biblioitems WHERE isbn LIKE ?";
my $sth = $dbh->prepare($query);
$sth->execute($xisbn);
my $xbib_data = $sth->fetchrow_hashref();
my $xbiblio;
if ($xbib_data->{biblionumber}) {
$xbiblio = GetBiblioData($xbib_data->{biblionumber});
+ $xbiblio->{isbn} =~ /(\d{9,}[X]*)/;
+ $xbiblio->{amazonisbn} = $1;
$xbiblio->{items} = GetItemsByBiblioitemnumber($xbib_data->{biblionumber});
}
return ($xbiblio);
sub get_xisbns {
my ( $isbn ) = @_;
my ($response,$thing_response,$xisbn_response,$gapines_response);
-
+ $isbn =~ /(\d{9,}[X]*)/;
+ $isbn = $1;
# THINGISBN
if ( C4::Context->preference('ThingISBN') ) {
my $url = "http://www.librarything.com/api/thingISBN/".$isbn;
# loop through each ISBN and scope to the local collection
for my $response_data( @{ $response->{ isbn } } ) {
+ next if $response_data->{'content'} eq $isbn;
+ next if $isbn eq $response_data;
next if $unique_xisbns->{ $response_data->{content} };
$unique_xisbns->{ $response_data->{content} }++;
my $xbiblio= get_biblio_from_xisbn($response_data->{content});