sub get_biblionumber_from_isbn {
my $isbn = shift;
- $isbn =~ /(\d*[X]*)/;
- $isbn = $1;
+ if ($isbn =~ /(\d{9,}[X]*)/) {
+ $isbn = $1.'%';
+ }
my @biblionumbers;
my $dbh=C4::Context->dbh;
- my $query = "SELECT biblionumber FROM biblioitems WHERE isbn=?";
+ my $query = "SELECT biblionumber FROM biblioitems WHERE isbn LIKE ? LIMIT 10";
my $sth = $dbh->prepare($query);
$sth->execute($isbn);
- while ( my $biblionumber = $sth->fetchrow_hashref() ) {
- push (@biblionumbers, $biblionumber);
- }
- return \@biblionumbers;
+ return $sth->fetchall_arrayref({});
}
=head1 NAME
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*[X]*)/;
+ $xbiblio->{isbn} =~ /(\d{9,}[X]*)/;
$xbiblio->{amazonisbn} = $1;
$xbiblio->{items} = GetItemsByBiblioitemnumber($xbib_data->{biblionumber});
}
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;