[Patches] [PATCH] Bug 6877 - use is executed and errors at compile time

koha-patchbot at kohaaloha.com koha-patchbot at kohaaloha.com
Fri Nov 4 19:55:15 NZDT 2011


From: Colin Campbell <colin.campbell at ptfs-europe.com>
Date: Sat, 17 Sep 2011 12:45:09 +0100
Subject: [PATCH] Bug 6877 - use is executed and errors at compile time

Although use is being called in an eval it will still be executed
at compile time so that an error can cause the script to abort before
the eval is executed. The eval expression syntax is not checked
so eval block should be preferred.
Use require/import which execute at runtime which is the intention
here.

Signed-off-by: Chris Cormack <chrisc at catalyst.net.nz>
---
 opac/opac-detail.pl      |   11 ++++++++---
 opac/opac-showreviews.pl |   11 ++++++++---
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl
index d3c7e2a..578f98e 100755
--- a/opac/opac-detail.pl
+++ b/opac/opac-detail.pl
@@ -603,9 +603,14 @@ $template->param(
 );
 
 my $libravatar_enabled = 0;
-eval 'use Libravatar::URL';
-if (!$@ and C4::Context->preference('ShowReviewer') and C4::Context->preference('ShowReviewerPhoto')) {
-    $libravatar_enabled = 1;
+if ( C4::Context->preference('ShowReviewer') and C4::Context->preference('ShowReviewerPhoto')) {
+    eval {
+        require Libravatar::URL;
+        Libravatar::URL->import();
+    };
+    if (!$@ ) {
+        $libravatar_enabled = 1;
+    }
 }
 
 my $reviews = getreviews( $biblionumber, 1 );
diff --git a/opac/opac-showreviews.pl b/opac/opac-showreviews.pl
index 3a74270..24ac312 100755
--- a/opac/opac-showreviews.pl
+++ b/opac/opac-showreviews.pl
@@ -66,9 +66,14 @@ if($format eq "rss"){
 }
 
 my $libravatar_enabled = 0;
-eval 'use Libravatar::URL';
-if (!$@ and C4::Context->preference('ShowReviewer') and C4::Context->preference('ShowReviewerPhoto')) {
-    $libravatar_enabled = 1;
+if ( C4::Context->preference('ShowReviewer') and C4::Context->preference('ShowReviewerPhoto')) {
+    eval {
+        require Libravatar::URL;
+        Libravatar::URL->import();
+    };
+    if ( !$@ ) {
+        $libravatar_enabled = 1;
+    }
 }
 
 my $reviews = getallreviews(1,$offset,$results_per_page);
-- 
1.7.5.4


More information about the Patches mailing list