#!/usr/bin/perl #script to provide bookshelf management # # $Header$ # # Copyright 2000-2002 Katipo Communications # # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # Koha is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA use strict; use C4::Search; use CGI; use C4::Output; use C4::BookShelves; use C4::Circulation::Circ2; use C4::Auth; my $env; my $query = new CGI; my ($loggedinuser, $cookie, $sessionID) = checkauth($query); print $query->header(-cookie => $cookie); my $headerbackgroundcolor='#663266'; my $circbackgroundcolor='#555555'; my $circbackgroundcolor='#550000'; my $linecolor1='#bbbbbb'; my $linecolor2='#dddddd'; print startpage(); print startmenu('catalogue'); print "

Logged in as: $loggedinuser [Log Out]

\n"; my ($shelflist) = GetShelfList(); if ($query->param('modifyshelfcontents')) { my $shelfnumber=$query->param('shelfnumber'); my $barcode=$query->param('addbarcode'); my ($item) = getiteminformation($env, 0, $barcode); AddToShelf($env, $item->{'itemnumber'}, $shelfnumber); foreach ($query->param) { if (/REM-(\d*)/) { my $itemnumber=$1; RemoveFromShelf($env, $itemnumber, $shelfnumber); } } } SWITCH: { if ($query->param('viewshelf')) { viewshelf($query->param('viewshelf')); last SWITCH;} if ($query->param('shelves')) { shelves(); last SWITCH;} print << "EOF";
EOF my $color=''; foreach (sort keys %$shelflist) { ($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1); print "\n"; } print "
Shelf List
$shelflist->{$_}->{'shelfname'} ($shelflist->{$_}->{'count'} books)
\n"; print "

Add or Remove Book Shelves\n"; } sub shelves { if (my $newshelf=$query->param('addshelf')) { my ($status, $string) = AddShelf($env,$newshelf); if ($status) { print "$string

\n"; } } foreach ($query->param()) { if (/DEL-(\d+)/) { my $delshelf=$1; my ($status, $string) = RemoveShelf($env,$delshelf); if ($status) { print "$string

\n"; } } } my ($shelflist) = GetShelfList(); print << "EOF";

Modify Shelf Contents

Bookshelves

EOF my $color=''; my $color=''; foreach (sort keys %$shelflist) { ($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1); print "\n"; } print "
Select Shelves to Delete
$shelflist->{$_}->{'shelfname'} ($shelflist->{$_}->{'count'} books)
\n"; print '

'; print "

\n"; print "\n"; print "\n"; print "

Add Shelf:

\n"; print '

'; print "\n"; print "

\n"; } sub viewshelf { my $shelfnumber=shift; my ($itemlist) = GetShelfContents($env, $shelfnumber); my $item=''; print << "EOF";
Shelf List

EOF my $color=''; foreach $item (sort {$a->{'barcode'} cmp $b->{'barcode'}} @$itemlist) { ($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1); print << "EOF"; EOF } print << "EOF";
Add a book by barcode:

Contents of $shelflist->{$shelfnumber}->{'shelfname'} shelf
{'itemnumber'}> $item->{'barcode'} $item->{'title'} $item->{'author'}

EOF } # # $Log$ # Revision 1.8 2002/08/14 18:12:51 tonnesen # Added copyright statement to all .pl and .pm files # # Revision 1.7 2002/07/05 05:03:37 tonnesen # Minor changes to authentication routines. # # Revision 1.5 2002/07/04 19:42:48 tonnesen # Minor changes # # Revision 1.4 2002/07/04 19:21:29 tonnesen # Beginning of authentication api. Applied to shelves.pl for now as a test case. # # Revision 1.2.2.1 2002/06/26 20:28:15 tonnesen # Some udpates that I made here locally a while ago. Still won't be useful, but # should be functional # # # print endpage(); print endmenu('catalogue');