|
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 |
- |
|
|