Lines 54-61
BEGIN {
Link Here
|
54 |
} |
54 |
} |
55 |
|
55 |
|
56 |
|
56 |
|
57 |
my $dbh = C4::Context->dbh; |
|
|
58 |
|
59 |
=head1 NAME |
57 |
=head1 NAME |
60 |
|
58 |
|
61 |
C4::VirtualShelves - Functions for manipulating Koha virtual shelves |
59 |
C4::VirtualShelves - Functions for manipulating Koha virtual shelves |
Lines 128-133
sub GetShelves {
Link Here
|
128 |
ORDER BY vs.shelfname |
126 |
ORDER BY vs.shelfname |
129 |
LIMIT ?, ?}; |
127 |
LIMIT ?, ?}; |
130 |
|
128 |
|
|
|
129 |
my $dbh = C4::Context->dbh; |
131 |
my $sth2 = $dbh->prepare($query); |
130 |
my $sth2 = $dbh->prepare($query); |
132 |
$sth2->execute(@params); |
131 |
$sth2->execute(@params); |
133 |
my %shelflist; |
132 |
my %shelflist; |
Lines 174-179
sub GetAllShelves {
Link Here
|
174 |
$query.='AND (allow_add=1 OR owner=?) ' if $adding_allowed; |
173 |
$query.='AND (allow_add=1 OR owner=?) ' if $adding_allowed; |
175 |
push @params, $owner if $adding_allowed; |
174 |
push @params, $owner if $adding_allowed; |
176 |
$query.= 'ORDER BY shelfname ASC'; |
175 |
$query.= 'ORDER BY shelfname ASC'; |
|
|
176 |
my $dbh = C4::Context->dbh; |
177 |
my $sth = $dbh->prepare( $query ); |
177 |
my $sth = $dbh->prepare( $query ); |
178 |
$sth->execute(@params); |
178 |
$sth->execute(@params); |
179 |
return $sth->fetchall_arrayref({}); |
179 |
return $sth->fetchall_arrayref({}); |
Lines 197-202
sub GetSomeShelfNames {
Link Here
|
197 |
push @params, $owner||0 if $adding_allowed; |
197 |
push @params, $owner||0 if $adding_allowed; |
198 |
$qry1.= "ORDER BY vs.lastmodified DESC LIMIT $limit"; |
198 |
$qry1.= "ORDER BY vs.lastmodified DESC LIMIT $limit"; |
199 |
|
199 |
|
|
|
200 |
my $dbh = C4::Context->dbh; |
201 |
|
200 |
unless($adding_allowed && (!defined($owner) || $owner<=0)) { |
202 |
unless($adding_allowed && (!defined($owner) || $owner<=0)) { |
201 |
#if adding items, user should be known |
203 |
#if adding items, user should be known |
202 |
$pub= $dbh->selectall_arrayref($qry1,{Slice=>{}},@params); |
204 |
$pub= $dbh->selectall_arrayref($qry1,{Slice=>{}},@params); |
Lines 235-240
sub GetShelf ($) {
Link Here
|
235 |
FROM virtualshelves |
237 |
FROM virtualshelves |
236 |
WHERE shelfnumber=? |
238 |
WHERE shelfnumber=? |
237 |
); |
239 |
); |
|
|
240 |
my $dbh = C4::Context->dbh; |
238 |
my $sth = $dbh->prepare($query); |
241 |
my $sth = $dbh->prepare($query); |
239 |
$sth->execute($shelfnumber); |
242 |
$sth->execute($shelfnumber); |
240 |
return $sth->fetchrow; |
243 |
return $sth->fetchrow; |
Lines 324-329
sub AddShelf {
Link Here
|
324 |
(shelfname,owner,category,sortfield,allow_add,allow_delete_own,allow_delete_other) |
327 |
(shelfname,owner,category,sortfield,allow_add,allow_delete_own,allow_delete_other) |
325 |
VALUES (?,?,?,?,?,?,?)); |
328 |
VALUES (?,?,?,?,?,?,?)); |
326 |
|
329 |
|
|
|
330 |
my $dbh = C4::Context->dbh; |
327 |
my $sth = $dbh->prepare($query); |
331 |
my $sth = $dbh->prepare($query); |
328 |
$sth->execute( |
332 |
$sth->execute( |
329 |
$hashref->{shelfname}, |
333 |
$hashref->{shelfname}, |
Lines 354-359
sub AddToShelf {
Link Here
|
354 |
FROM virtualshelfcontents |
358 |
FROM virtualshelfcontents |
355 |
WHERE shelfnumber=? AND biblionumber=? |
359 |
WHERE shelfnumber=? AND biblionumber=? |
356 |
); |
360 |
); |
|
|
361 |
my $dbh = C4::Context->dbh; |
357 |
my $sth = $dbh->prepare($query); |
362 |
my $sth = $dbh->prepare($query); |
358 |
|
363 |
|
359 |
$sth->execute( $shelfnumber, $biblionumber ); |
364 |
$sth->execute( $shelfnumber, $biblionumber ); |
Lines 390-395
sub ModShelf {
Link Here
|
390 |
my ($shelfnumber,$hashref) = @_; |
395 |
my ($shelfnumber,$hashref) = @_; |
391 |
|
396 |
|
392 |
my $query= "SELECT * FROM virtualshelves WHERE shelfnumber=?"; |
397 |
my $query= "SELECT * FROM virtualshelves WHERE shelfnumber=?"; |
|
|
398 |
my $dbh = C4::Context->dbh; |
393 |
my $sth = $dbh->prepare($query); |
399 |
my $sth = $dbh->prepare($query); |
394 |
$sth->execute($shelfnumber); |
400 |
$sth->execute($shelfnumber); |
395 |
my $oldrecord= $sth->fetchrow_hashref; |
401 |
my $oldrecord= $sth->fetchrow_hashref; |
Lines 465-470
sub ShelfPossibleAction {
Link Here
|
465 |
AND sh.borrowernumber=? |
471 |
AND sh.borrowernumber=? |
466 |
WHERE vs.shelfnumber=? |
472 |
WHERE vs.shelfnumber=? |
467 |
/; |
473 |
/; |
|
|
474 |
my $dbh = C4::Context->dbh; |
468 |
my $sth = $dbh->prepare($query); |
475 |
my $sth = $dbh->prepare($query); |
469 |
$sth->execute($user, $shelfnumber); |
476 |
$sth->execute($user, $shelfnumber); |
470 |
my $shelf= $sth->fetchrow_hashref; |
477 |
my $shelf= $sth->fetchrow_hashref; |
Lines 506-511
Returns 0 if no items have been deleted.
Link Here
|
506 |
sub DelFromShelf { |
513 |
sub DelFromShelf { |
507 |
my ($bibref, $shelfnumber, $user) = @_; |
514 |
my ($bibref, $shelfnumber, $user) = @_; |
508 |
my $query = qq(SELECT allow_delete_own, allow_delete_other FROM virtualshelves WHERE shelfnumber=?); |
515 |
my $query = qq(SELECT allow_delete_own, allow_delete_other FROM virtualshelves WHERE shelfnumber=?); |
|
|
516 |
my $dbh = C4::Context->dbh; |
509 |
my $sth= $dbh->prepare($query); |
517 |
my $sth= $dbh->prepare($query); |
510 |
$sth->execute($shelfnumber); |
518 |
$sth->execute($shelfnumber); |
511 |
my ($del_own, $del_oth)= $sth->fetchrow; |
519 |
my ($del_own, $del_oth)= $sth->fetchrow; |
Lines 549-554
ShelfPossibleAction with manage parameter.
Link Here
|
549 |
sub DelShelf { |
557 |
sub DelShelf { |
550 |
my ($shelfnumber)= @_; |
558 |
my ($shelfnumber)= @_; |
551 |
return unless $shelfnumber && $shelfnumber =~ /^\d+$/; |
559 |
return unless $shelfnumber && $shelfnumber =~ /^\d+$/; |
|
|
560 |
my $dbh = C4::Context->dbh; |
552 |
my $sth = $dbh->prepare("DELETE FROM virtualshelves WHERE shelfnumber=?"); |
561 |
my $sth = $dbh->prepare("DELETE FROM virtualshelves WHERE shelfnumber=?"); |
553 |
return $sth->execute($shelfnumber); |
562 |
return $sth->execute($shelfnumber); |
554 |
} |
563 |
} |
Lines 646-651
sub _shelf_count {
Link Here
|
646 |
$query.='WHERE category=2'; |
655 |
$query.='WHERE category=2'; |
647 |
@params= (); |
656 |
@params= (); |
648 |
} |
657 |
} |
|
|
658 |
my $dbh = C4::Context->dbh; |
649 |
my $sth = $dbh->prepare($query); |
659 |
my $sth = $dbh->prepare($query); |
650 |
$sth->execute(@params); |
660 |
$sth->execute(@params); |
651 |
my ($total)= $sth->fetchrow; |
661 |
my ($total)= $sth->fetchrow; |
Lines 686-691
sub _CheckShelfName {
Link Here
|
686 |
else { |
696 |
else { |
687 |
$query.= ' AND category=2'; |
697 |
$query.= ' AND category=2'; |
688 |
} |
698 |
} |
|
|
699 |
my $dbh = C4::Context->dbh; |
689 |
my $sth = $dbh->prepare($query); |
700 |
my $sth = $dbh->prepare($query); |
690 |
$sth->execute($cat==1? ($name, $number, $owner, $owner): ($name, $number)); |
701 |
$sth->execute($cat==1? ($name, $number, $owner, $owner): ($name, $number)); |
691 |
return $sth->rows>0? 0: 1; |
702 |
return $sth->rows>0? 0: 1; |
692 |
- |
|
|