[Koha-patches] [PATCH 2/2] [SIGNED-OFF] Bug 6096 Correctly return arrayref from GetAllShelves

fdurand frederic.durand at univ-lyon2.fr
Thu Apr 7 17:30:17 CEST 2011


From: Colin Campbell <colin.campbell at ptfs-europe.com>

Follow on from bug 5529 GetAllShelves was also vaguely stuffing
an arrayref into an array
Some signs of cut and paste (unnecessary @params variable)
Calling code now does not have to shuffle the return about
to get the reference. Also removed a debug warn

Signed-off-by: fdurand <frederic.durand at univ-lyon2.fr>
---
 C4/VirtualShelves.pm           |   17 +++++++----------
 opac/opac-addbybiblionumber.pl |   11 ++++-------
 2 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/C4/VirtualShelves.pm b/C4/VirtualShelves.pm
index 7257149..5f9b22e 100644
--- a/C4/VirtualShelves.pm
+++ b/C4/VirtualShelves.pm
@@ -214,9 +214,9 @@ sub GetRecentShelves ($$$) {
 
 =head2 GetAllShelves
 
-    ($shelflist) = GetAllShelves($owner)
+    $shelflist = GetAllShelves($owner)
 
-This function returns a references to an array of hashrefs containing all shelves sorted
+This function returns a reference to an array of hashrefs containing all shelves sorted
 by the shelf name.
 
 This function is intended to return a dataset reflecting all the shelves for
@@ -224,15 +224,12 @@ the submitted parameters.
 
 =cut
 
-sub GetAllShelves ($$) {
+sub GetAllShelves {
     my ($category,$owner) = @_;
-    my (@shelflist);
-    my @params = ($category,$owner);
-    my $query = "SELECT * FROM virtualshelves WHERE category = ? AND owner = ? ORDER BY shelfname ASC";
-    my $sth = $dbh->prepare($query);
-    $sth->execute(@params);
-    @shelflist = $sth->fetchall_arrayref({});
-    return ( \@shelflist );
+    my $query = 'SELECT * FROM virtualshelves WHERE category = ? AND owner = ? ORDER BY shelfname ASC';
+    my $sth = $dbh->prepare( $query );
+    $sth->execute( $category, $owner );
+    return $sth->fetchall_arrayref({});
 }
 
 =head2 GetShelf
diff --git a/opac/opac-addbybiblionumber.pl b/opac/opac-addbybiblionumber.pl
index c72afe5..fd3124b 100755
--- a/opac/opac-addbybiblionumber.pl
+++ b/opac/opac-addbybiblionumber.pl
@@ -98,19 +98,16 @@ else {
 	} else {
 
         my $privateshelves = GetAllShelves(1,$loggedinuser);
-        my @privateshelves = @{$privateshelves};
-        warn scalar($privateshelves);
-        if(@privateshelves){
+        if(@{$privateshelves}){
 			$template->param (
-				privatevirtualshelves          => @privateshelves,
+				privatevirtualshelves          => $privateshelves,
 				existingshelves => 1
 			);
 		}
         my $publicshelves = GetAllShelves(2,$loggedinuser);
-        my @publicshelves = @{$publicshelves};
-        if(@publicshelves){
+        if(@{$publicshelves}){
 			$template->param (
-				publicvirtualshelves          => @publicshelves,
+				publicvirtualshelves          => $publicshelves,
 				existingshelves => 1
 			);
         }
-- 
1.7.1



More information about the Koha-patches mailing list