- 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->{normalized_isbn} = GetNormalizedISBN($xbiblio->{isbn});
- }
- return ($xbiblio);
+
+ my $searcher = Koha::SearchEngine::Search->new({index => $Koha::SearchEngine::BIBLIOS_INDEX});
+ my ( $errors, $results, $total_hits ) = $searcher->simple_search_compat( "nb=$xisbn", 0, 1 );
+ return unless ( !$errors && scalar @$results );
+
+ my $record = C4::Search::new_record_from_zebra( 'biblioserver', $results->[0] );
+ my $biblionumber = C4::Biblio::TransformMarcToKohaOneField( 'biblio.biblionumber', $record );
+ return unless $biblionumber;
+
+ my $biblio = Koha::Biblios->find( $biblionumber );
+ return unless $biblio;
+ my $isbn = $biblio->biblioitem->isbn;
+ $biblio = $biblio->unblessed;
+ $biblio->{normalized_isbn} = GetNormalizedISBN($isbn);
+ return $biblio;