fix various warnings
authorGalen Charlton <galen.charlton@liblime.com>
Wed, 8 Apr 2009 20:34:45 +0000 (15:34 -0500)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Tue, 26 May 2009 19:15:09 +0000 (21:15 +0200)
* Use of uninitialized value in pattern match (m//) at C4/Biblio.pm line 1305
  (displaying MARC21 856s that don't have $3)
* Use of uninitialized value in multiplication (*) at catalogue/detail.pl line 243.
  (attemping to calculate average Amazon rating if no Amazon info
   is available)
* opac-detail.pl: Use of uninitialized value in length at C4/External/Amazon.pm line 90
  (attempting to calculate length of $isbn if it happens to be undef)

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
C4/Amazon.pm
opac/opac-detail.pl

index 21ece89..34f98c2 100644 (file)
@@ -87,7 +87,7 @@ sub get_amazon_details {
     # warn "ISBN: $isbn | UPC: $upc | EAN: $ean";
 
     my ( $id_type, $item_id);
-    if (length($isbn) eq 13) { # if the isbn is 13-digit, search Amazon using EAN
+    if (defined($isbn) && length($isbn) == 13) { # if the isbn is 13-digit, search Amazon using EAN
        $id_type = 'EAN';
        $item_id = $isbn;
     }
index f132d3d..4e6e4ca 100755 (executable)
@@ -284,7 +284,7 @@ if ( C4::Context->preference("OPACAmazonEnabled") && C4::Context->preference("OP
         }
     }
     my $editorial_reviews = \@{$amazon_details->{Items}->{Item}->{EditorialReviews}->{EditorialReview}};
-    my $average_rating = $amazon_details->{Items}->{Item}->{CustomerReviews}->{AverageRating};
+    my $average_rating = $amazon_details->{Items}->{Item}->{CustomerReviews}->{AverageRating} || 0;
     $template->param( OPACAmazonSimilarItems => $similar_products_exist );
     $template->param( amazon_average_rating => $average_rating * 20);
     $template->param( AMAZON_CUSTOMER_REVIEWS    => $customer_reviews );