[Koha-patches] [PATCH] Bug 6096 Correctly return arrayref from GetAllShelves
Colin Campbell
colin.campbell at ptfs-europe.com
Wed Apr 6 17:39:27 CEST 2011
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
---
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 5bddadb..6ed7549 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 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.4
More information about the Koha-patches
mailing list