X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=opac%2Fopac-ISBDdetail.pl;h=2579a8bc1ccf28492b5f46baaf63eb10ddc379f1;hb=08382876306cfda839637c5f72a107b304458a8e;hp=b50947ddabaee2de33b8a0771c5f7ba88634f30e;hpb=4669a10776ff958a3b2d51963b7c4ec90ec02f09;p=koha.git diff --git a/opac/opac-ISBDdetail.pl b/opac/opac-ISBDdetail.pl index b50947ddab..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,11 +67,34 @@ 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; + +if($query->cookie("bib_list")){ + my $cart_list = $query->cookie("bib_list"); + @cart_list = split(/\//, $cart_list); + if ( grep {$_ eq $biblionumber} @cart_list) { + $template->param( incart => 1 ); + } +} $template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') ); $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"); @@ -85,7 +107,10 @@ my $upc = GetNormalizedUPC($record,$marcflavour); my $ean = GetNormalizedEAN($record,$marcflavour); my $oclc = GetNormalizedOCLCNumber($record,$marcflavour); my $isbn = GetNormalizedISBN(undef,$record,$marcflavour); -my $content_identifier_exists = 1 if ($isbn or $ean or $oclc or $upc); +my $content_identifier_exists; +if ( $isbn or $ean or $oclc or $upc ) { + $content_identifier_exists = 1; +} $template->param( normalized_upc => $upc, normalized_ean => $ean, @@ -98,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; @@ -124,12 +149,11 @@ $template->param( my $norequests = 1; my $res = GetISBDView($biblionumber, "opac"); -my @items = &GetItemsInfo($biblionumber, 'opac'); 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} ) @@ -156,50 +180,31 @@ $template->param( reviews => $reviews, ); +#Export options +my $OpacExportOptions=C4::Context->preference("OpacExportOptions"); +my @export_options = split(/\|/,$OpacExportOptions); +$template->{VARS}->{'export_options'} = \@export_options; + #Search for title in links +my $marccontrolnumber = GetMarcControlnumber ($record, $marcflavour); +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; - $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 }; - } - next unless $details->{Reviews}; - for my $product ( @{ $details->{Reviews}->{AvgCustomerRating} } ) { - $template->param( rating => $product * 20 ); + $search_for_title = parametrized_url( + $search_for_title, + { + TITLE => $dat->{title}, + AUTHOR => $dat->{author}, + ISBN => $isbn, + ISSN => $issn, + CONTROLNUMBER => $marccontrolnumber, + BIBLIONUMBER => $biblionumber, } - 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;