Start of code to implement virtual bookshelves in Koha.
[koha.git] / shelves.pl
1 #!/usr/bin/perl
2 #script to provide bookshelf management
3 #
4 # $Header$
5 #
6
7 use strict;
8 use C4::Search;
9 use CGI;
10 use C4::Output;
11 use C4::BookShelves;
12 use C4::Circulation::Circ2;
13
14 my $env;
15 my $query = new CGI;
16 print $query->header;
17 my $headerbackgroundcolor='#663266';
18 my $circbackgroundcolor='#555555';
19 my $circbackgroundcolor='#550000';
20 my $linecolor1='#bbbbbb';
21 my $linecolor2='#dddddd';
22
23 print startpage();
24 print startmenu('catalogue');
25
26
27
28
29 my ($shelflist) = GetShelfList();
30
31 if ($query->param('modifyshelfcontents')) {
32     my $shelfnumber=$query->param('shelfnumber');
33     my $barcode=$query->param('addbarcode');
34     my ($item) = getiteminformation($env, 0, $barcode);
35     AddToShelf($env, $item->{'itemnumber'}, $shelfnumber);
36     foreach ($query->param) {
37         if (/REM-(\d*)/) {
38             my $itemnumber=$1;
39             RemoveFromShelf($env, $itemnumber, $shelfnumber);
40         }
41     }
42 }
43
44 SWITCH: {
45     if ($query->param('viewshelf')) {  viewshelf($query->param('viewshelf')); last SWITCH;}
46     print << "EOF";
47     <center>
48     <table border=0 cellpadding=4 cellspacing=0>
49     <tr><td bgcolor=$headerbackgroundcolor>
50     <table border=0 cellpadding=5 cellspacing=0 width=100%>
51     <tr><th bgcolor=$headerbackgroundcolor>
52     <font color=white>Shelf List</font>
53     </th></tr>
54     </table>
55     </td></tr>
56 EOF
57     my $color='';
58     foreach (sort keys %$shelflist) {
59         ($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1);
60         print "<tr><td bgcolor=$color><a href=shelves.pl?viewshelf=$_>$shelflist->{$_}->{'shelfname'} ($shelflist->{$_}->{'count'} books)</a></td></tr>\n";
61     }
62     print "</table>\n";
63 }
64
65
66 sub viewshelf {
67     my $shelfnumber=shift;
68     my ($itemlist) = GetShelfContents($env, $shelfnumber);
69     my $item='';
70     print << "EOF";
71     <center>
72     <form>
73     <a href=shelves.pl>Shelf List</a><p>
74     <table border=0 cellpadding=0 cellspacing=0>
75     <tr><td colspan=7>
76     <table>
77     <tr><td>Add a book by barcode:</td><td><input name=addbarcode></td></tr>
78     </table>
79     <br>
80     <table border=0 cellpadding=5 cellspacing=0 width=100%>
81     <tr><th bgcolor=$headerbackgroundcolor>
82     <font color=white>Contents of $shelflist->{$shelfnumber}->{'shelfname'} shelf</font>
83     </th></tr>
84     </table>
85     </td></tr>
86 EOF
87     my $color='';
88     foreach $item (sort {$a->{'barcode'} cmp $b->{'barcode'}} @$itemlist) {
89         ($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1);
90         print << "EOF";
91         <tr>
92         <td bgcolor=$color><input type=checkbox name=REM-$item->{'itemnumber'}></td>
93         <td bgcolor=$color width=10 align=center><img src=/images/blankdot.gif></td>
94         <td bgcolor=$color>$item->{'barcode'}</td>
95         <td bgcolor=$color width=10 align=center><img src=/images/blankdot.gif></td>
96         <td bgcolor=$color>$item->{'title'}</td>
97         <td bgcolor=$color width=10 align=center><img src=/images/blankdot.gif></td>
98         <td bgcolor=$color>$item->{'author'}</td>
99         </tr>
100 EOF
101     }
102     print << "EOF";
103     </table>
104     <br>
105     <input type=hidden name=shelfnumber value=$shelfnumber>
106     <input type=hidden name=modifyshelfcontents value=1>
107     <input type=hidden name=viewshelf value=$shelfnumber>
108     <input type=submit value="Modify Shelf List">
109     </form>
110 EOF
111 }
112
113
114
115 #
116 # $Log$
117 # Revision 1.1  2001/02/07 20:27:16  tonnesen
118 # Start of code to implement virtual bookshelves in Koha.
119 #
120 #
121 #
122
123
124