From c0655aabe47cfe21e7846b7a8956db92c1e5b5d2 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Thu, 7 Apr 2011 17:30:17 +0200 Subject: [PATCH] Bug 6096 Correctly return arrayref from GetAllShelves 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 Signed-off-by: Chris Cormack --- 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 5bddadbbdd..6ed7549261 100644 --- a/C4/VirtualShelves.pm +++ b/C4/VirtualShelves.pm @@ -220,9 +220,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 @@ -230,15 +230,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 c72afe5b3f..fd3124b46b 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 ); } -- 2.39.5