Bug 2410: Can't use string ("0") as an ARRAY ref while "strict refs" in use at detail...
authorJoshua Ferraro <jmf@liblime.com>
Sat, 9 Aug 2008 13:01:14 +0000 (08:01 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Sat, 9 Aug 2008 13:01:14 +0000 (08:01 -0500)
Thanks to HDL for your patch, I couldn't get it to apply so I did it manually

No change to documentation

C4/XISBN.pm
catalogue/detail.pl
opac/opac-detail.pl

index 11bc2c7..50acc11 100644 (file)
@@ -49,10 +49,7 @@ sub get_biblionumber_from_isbn {
     my $query = "SELECT biblionumber FROM biblioitems WHERE isbn LIKE ? LIMIT 10";
     my $sth = $dbh->prepare($query);
     $sth->execute($isbn);
-    while ( my $biblionumber = $sth->fetchrow_hashref() ) {
-        push (@biblionumbers, $biblionumber);
-    }
-    return \@biblionumbers;
+       return $sth->fetchall_arrayref({});
 }
 =head1 NAME
 
index 091a1ea..7dd96dd 100755 (executable)
@@ -209,8 +209,10 @@ if ( C4::Context->preference("AmazonContent") == 1 ) {
         # do we have any of these isbns in our collection?
         my $similar_biblionumbers = get_biblionumber_from_isbn($similar_product->{ASIN});
         # verify that there is at least one similar item
-        $similar_products_exist++ if ${@$similar_biblionumbers}[0];
-        push @similar_products, +{ similar_biblionumbers => $similar_biblionumbers, title => $similar_product->{Title}, ASIN => $similar_product->{ASIN}  };
+               if (scalar(@$similar_biblionumbers)){            
+                       $similar_products_exist++ if ($similar_biblionumbers && $similar_biblionumbers->[0]);
+            push @similar_products, +{ similar_biblionumbers => $similar_biblionumbers, title => $similar_product->{Title}, ASIN => $similar_product->{ASIN}  };
+        }
     }
     my $editorial_reviews = \@{$amazon_details->{Items}->{Item}->{EditorialReviews}->{EditorialReview}};
     my $average_rating = $amazon_details->{Items}->{Item}->{CustomerReviews}->{AverageRating};
index 05114d3..6f6b7ca 100755 (executable)
@@ -282,8 +282,10 @@ if ( C4::Context->preference("OPACAmazonContent") == 1 ) {
         # do we have any of these isbns in our collection?
         my $similar_biblionumbers = get_biblionumber_from_isbn($similar_product->{ASIN});
         # verify that there is at least one similar item
-        $similar_products_exist++ if ${@$similar_biblionumbers}[0];
-        push @similar_products, +{ similar_biblionumbers => $similar_biblionumbers, title => $similar_product->{Title}, ASIN => $similar_product->{ASIN}  };
+        if (scalar(@$similar_biblionumbers)){
+            $similar_products_exist++ if ($similar_biblionumbers && $similar_biblionumbers->[0]);
+            push @similar_products, +{ similar_biblionumbers => $similar_biblionumbers, title => $similar_product->{Title}, ASIN => $similar_product->{ASIN}  };
+        }
     }
     my $editorial_reviews = \@{$amazon_details->{Items}->{Item}->{EditorialReviews}->{EditorialReview}};
     my $average_rating = $amazon_details->{Items}->{Item}->{CustomerReviews}->{AverageRating};