X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-ISBDdetail.pl;h=2579a8bc1ccf28492b5f46baaf63eb10ddc379f1;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=634dd859c446fd5cb4974282bb273aced1eb4b84;hpb=80c202170aa06f8be8b0a2a528e15d1341bcb59d;p=koha_fer diff --git a/opac/opac-ISBDdetail.pl b/opac/opac-ISBDdetail.pl index 634dd859c4..2579a8bc1c 100755 --- a/opac/opac-ISBDdetail.pl +++ b/opac/opac-ISBDdetail.pl @@ -54,7 +54,6 @@ use C4::Review; use C4::Serials; # uses getsubscriptionfrom biblionumber use C4::Koha; use C4::Members; # GetMember -use C4::External::Amazon; my $query = CGI->new(); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( @@ -68,6 +67,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( ); my $biblionumber = $query->param('biblionumber'); +$biblionumber = int($biblionumber); # get biblionumbers stored in the cart my @cart_list; @@ -84,6 +84,17 @@ $template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHo $template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) ); my $marcflavour = C4::Context->preference("marcflavour"); + +my @items = GetItemsInfo($biblionumber); +if (scalar @items >= 1) { + my @hiddenitems = GetHiddenItemnumbers(@items); + + if (scalar @hiddenitems == scalar @items ) { + print $query->redirect("/cgi-bin/koha/errors/404.pl"); # escape early + exit; + } +} + my $record = GetMarcBiblio($biblionumber); if ( ! $record ) { print $query->redirect("/cgi-bin/koha/errors/404.pl"); @@ -112,8 +123,8 @@ $template->param( my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber); my $dbh = C4::Context->dbh; my $dat = TransformMarcToKoha( $dbh, $record ); -my @subscriptions = GetSubscriptions( undef, undef, $biblionumber ); +my @subscriptions = GetSubscriptions( $dat->{title}, $dat->{issn}, undef, $biblionumber ); my @subs; foreach my $subscription (@subscriptions) { my %cell; @@ -138,12 +149,11 @@ $template->param( my $norequests = 1; my $res = GetISBDView($biblionumber, "opac"); -my @items = GetItemsInfo( $biblionumber ); my $itemtypes = GetItemTypes(); for my $itm (@items) { $norequests = 0 - if ( (not $itm->{'wthdrawn'} ) + if ( (not $itm->{'withdrawn'} ) && (not $itm->{'itemlost'} ) && ($itm->{'itemnotforloan'}<0 || not $itm->{'itemnotforloan'} ) && (not $itemtypes->{$itm->{'itype'}}->{notforloan} ) @@ -181,51 +191,20 @@ my $marcissns = GetMarcISSN ( $record, $marcflavour ); my $issn = $marcissns->[0] || ''; if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){ - $dat->{author} ? $search_for_title =~ s/{AUTHOR}/$dat->{author}/g : $search_for_title =~ s/{AUTHOR}//g; $dat->{title} =~ s/\/+$//; # remove trailing slash $dat->{title} =~ s/\s+$//; # remove trailing space - $dat->{title} ? $search_for_title =~ s/{TITLE}/$dat->{title}/g : $search_for_title =~ s/{TITLE}//g; - $isbn ? $search_for_title =~ s/{ISBN}/$isbn/g : $search_for_title =~ s/{ISBN}//g; - $issn ? $search_for_title =~ s/{ISSN}/$issn/g : $search_for_title =~ s/{ISSN}//g; - $marccontrolnumber ? $search_for_title =~ s/{CONTROLNUMBER}/$marccontrolnumber/g : $search_for_title =~ s/{CONTROLNUMBER}//g; - $search_for_title =~ s/{BIBLIONUMBER}/$biblionumber/g; - $template->param('OPACSearchForTitleIn' => $search_for_title); -} - -## Amazon.com stuff -#not used unless preference set -if ( C4::Context->preference("OPACAmazonEnabled") == 1 ) { - - my $amazon_details = &get_amazon_details( $isbn, $record, $marcflavour ); - - foreach my $result ( @{ $amazon_details->{Details} } ) { - $template->param( item_description => $result->{ProductDescription} ); - $template->param( image => $result->{ImageUrlMedium} ); - $template->param( list_price => $result->{ListPrice} ); - $template->param( amazon_url => $result->{url} ); - } - - my @products; - my @reviews; - for my $details ( @{ $amazon_details->{Details} } ) { - next unless $details->{SimilarProducts}; - for my $product ( @{ $details->{SimilarProducts}->{Product} } ) { - push @products, +{ Product => $product }; + $search_for_title = parametrized_url( + $search_for_title, + { + TITLE => $dat->{title}, + AUTHOR => $dat->{author}, + ISBN => $isbn, + ISSN => $issn, + CONTROLNUMBER => $marccontrolnumber, + BIBLIONUMBER => $biblionumber, } - next unless $details->{Reviews}; - for my $product ( @{ $details->{Reviews}->{AvgCustomerRating} } ) { - $template->param( rating => $product * 20 ); - } - for my $reviews ( @{ $details->{Reviews}->{CustomerReview} } ) { - push @reviews, - +{ - Summary => $reviews->{Summary}, - Comment => $reviews->{Comment}, - }; - } - } - $template->param( SIMILAR_PRODUCTS => \@products ); - $template->param( AMAZONREVIEWS => \@reviews ); + ); + $template->param('OPACSearchForTitleIn' => $search_for_title); } output_html_with_http_headers $query, $cookie, $template->output;