Bug 11349: Change .tmpl -> .tt in scripts using templates
[koha-ffzg.git] / opac / opac-ISBDdetail.pl
index 3373787..c3c03c1 100755 (executable)
@@ -29,7 +29,7 @@ This script needs a biblionumber as parameter
 
 It shows the biblio
 
 
 It shows the biblio
 
-The template is in <templates_dir>/catalogue/ISBDdetail.tmpl.
+The template is in <templates_dir>/catalogue/ISBDdetail.tt.
 this template must be divided into 11 "tabs".
 
 The first 10 tabs present the biblio, the 11th one presents
 this template must be divided into 11 "tabs".
 
 The first 10 tabs present the biblio, the 11th one presents
@@ -54,12 +54,11 @@ use C4::Review;
 use C4::Serials;    # uses getsubscriptionfrom biblionumber
 use C4::Koha;
 use C4::Members;    # GetMember
 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(
     {
 
 my $query = CGI->new();
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
-        template_name   => "opac-ISBDdetail.tmpl",
+        template_name   => "opac-ISBDdetail.tt",
         query           => $query,
         type            => "opac",
         authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
         query           => $query,
         type            => "opac",
         authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
@@ -68,11 +67,34 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 );
 
 my $biblionumber = $query->param('biblionumber');
 );
 
 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");
 
 $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");
 my $record = GetMarcBiblio($biblionumber);
 if ( ! $record ) {
     print $query->redirect("/cgi-bin/koha/errors/404.pl");
@@ -101,8 +123,8 @@ $template->param(
 my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
 my $dbh = C4::Context->dbh;
 my $dat                 = TransformMarcToKoha( $dbh, $record );
 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;
 my @subs;
 foreach my $subscription (@subscriptions) {
     my %cell;
@@ -127,12 +149,11 @@ $template->param(
 
 my $norequests = 1;
 my $res = GetISBDView($biblionumber, "opac");
 
 my $norequests = 1;
 my $res = GetISBDView($biblionumber, "opac");
-my @items = GetItemsInfo( $biblionumber );
 
 my $itemtypes = GetItemTypes();
 for my $itm (@items) {
     $norequests = 0
 
 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} )
          && (not $itm->{'itemlost'} )
          && ($itm->{'itemnotforloan'}<0 || not $itm->{'itemnotforloan'} )
                 && (not $itemtypes->{$itm->{'itype'}}->{notforloan} )
@@ -165,53 +186,25 @@ my @export_options = split(/\|/,$OpacExportOptions);
 $template->{VARS}->{'export_options'} = \@export_options;
 
 #Search for title in links
 $template->{VARS}->{'export_options'} = \@export_options;
 
 #Search for title in links
-my $marccontrolnumber   = GetMarcControlnumber   ($record, $marcflavour);
+my $marccontrolnumber   = GetMarcControlnumber ($record, $marcflavour);
+my $marcissns = GetMarcISSN ( $record, $marcflavour );
+my $issn = $marcissns->[0] || '';
 
 if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){
 
 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} =~ 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;
-    $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 };
-        }
-        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;
 }
 
 output_html_with_http_headers $query, $cookie, $template->output;