Error handling in biblio and biblioitem addition
[koha.git] / C4 / Acquisitions.pm
1 package C4::Acquisitions; #assumes C4/Acquisitions.pm
2
3 use strict;
4 require Exporter;
5 use C4::Database;
6 use warnings;
7 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
8
9 # set the version for version checking
10 $VERSION = 0.01;
11
12 @ISA = qw(Exporter);
13 @EXPORT = qw(&getorders &bookseller &breakdown &basket &newbasket &bookfunds
14 &ordersearch &newbiblio &newbiblioitem &newsubject &newsubtitle &neworder
15  &newordernum &modbiblio &modorder &getsingleorder &invoice &receiveorder
16 &bookfundbreakdown &curconvert &updatesup &insertsup &newitems &modbibitem
17 &getcurrencies &modsubtitle &modsubject &modaddauthor &moditem &countitems 
18 &findall &needsmod &delitem &delbibitem &delbiblio &delorder &branches
19 &getallorders &getrecorders &updatecurrencies &getorder &getcurrency &updaterecorder
20 &updatecost &checkitems &modnote &getitemtypes &getbiblio
21 &getbiblioitem &getitemsbybiblioitem &isbnsearch &keywordsearch
22 &websitesearch &addwebsite &updatewebsite &deletewebsite);
23 %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],
24
25 # your exported package globals go here,
26 # as well as any optionally exported functions
27
28 @EXPORT_OK   = qw($Var1 %Hashit);
29
30
31 # non-exported package globals go here
32 use vars qw(@more $stuff);
33
34 # initalize package globals, first exported ones
35
36 my $Var1   = '';
37 my %Hashit = ();
38
39
40
41 # then the others (which are still accessible as $Some::Module::stuff)
42 my $stuff  = '';
43 my @more   = ();
44
45 # all file-scoped lexicals must be created before
46 # the functions below that use them.
47
48 # file-private lexicals go here
49 my $priv_var    = '';
50 my %secret_hash = ();
51
52 # here's a file-private function as a closure,
53 # callable as &$priv_func;  it cannot be prototyped.
54 my $priv_func = sub {
55   # stuff goes here.
56   };
57   
58 # make all your functions, whether exported or not;
59
60 sub getorders {
61   my ($supplierid)=@_;
62   my $dbh=C4Connect;
63   my $query = "Select count(*),authorisedby,entrydate,basketno from aqorders where 
64   booksellerid='$supplierid' and (quantity > quantityreceived or
65   quantityreceived is NULL)
66   and (datecancellationprinted is NULL or datecancellationprinted = '0000-00-00')";
67   $query.=" group by basketno order by entrydate desc";
68   #print $query;
69   my $sth=$dbh->prepare($query);
70   $sth->execute;
71   my @results;
72   my $i=0;
73   while (my $data=$sth->fetchrow_hashref){
74     $results[$i]=$data;
75     $i++;
76   }
77   $sth->finish;
78   $dbh->disconnect;
79   return ($i,\@results);
80 }
81
82 sub itemcount{
83   my ($biblio)=@_;
84   my $dbh=C4Connect;
85   my $query="Select count(*) from items where biblionumber=$biblio";
86 #  print $query;
87   my $sth=$dbh->prepare($query);
88   $sth->execute;
89   my $data=$sth->fetchrow_hashref;
90   $sth->finish;
91   $dbh->disconnect;
92   return($data->{'count(*)'});
93 }
94
95 sub getorder{
96   my ($bi,$bib)=@_;
97   my $dbh=C4Connect;
98   my $query="Select ordernumber 
99         from aqorders 
100         where biblionumber=? and biblioitemnumber=?";
101   my $sth=$dbh->prepare($query);
102   $sth->execute($bib,$bi);
103   my $ordnum=$sth->fetchrow_hashref;
104   $sth->finish;
105   my $order=getsingleorder($ordnum->{'ordernumber'});
106   $dbh->disconnect;
107 #  print $query;
108   return ($order,$ordnum->{'ordernumber'});
109 }
110
111 sub getsingleorder {
112   my ($ordnum)=@_;
113   my $dbh=C4Connect;
114   my $query="Select * from biblio,biblioitems,aqorders,aqorderbreakdown 
115   where aqorders.ordernumber=?
116   and biblio.biblionumber=aqorders.biblionumber and
117   biblioitems.biblioitemnumber=aqorders.biblioitemnumber and
118   aqorders.ordernumber=aqorderbreakdown.ordernumber";
119   my $sth=$dbh->prepare($query);
120   $sth->execute($ordnum);
121   my $data=$sth->fetchrow_hashref;
122   $sth->finish;
123   $dbh->disconnect;
124   return($data);
125 }
126
127 sub invoice {
128   my ($invoice)=@_;
129   my $dbh=C4Connect;
130   my $query="Select * from aqorders,biblio,biblioitems where
131   booksellerinvoicenumber='$invoice' 
132   and biblio.biblionumber=aqorders.biblionumber and biblioitems.biblioitemnumber=
133   aqorders.biblioitemnumber group by aqorders.ordernumber,aqorders.biblioitemnumber";
134   my $i=0;
135   my @results;
136   my $sth=$dbh->prepare($query);
137   $sth->execute;
138   while (my $data=$sth->fetchrow_hashref){
139     $results[$i]=$data;
140     $i++;
141   }
142   $sth->finish;
143   $dbh->disconnect;
144   return($i,@results);
145 }
146
147 sub getallorders {
148   #gets all orders from a certain supplier, orders them alphabetically
149   my ($supid)=@_;
150   my $dbh=C4Connect;
151   my $query="Select * from aqorders,biblio,biblioitems where booksellerid='$supid'
152   and (cancelledby is NULL or cancelledby = '')
153   and biblio.biblionumber=aqorders.biblionumber and biblioitems.biblioitemnumber=                    
154   aqorders.biblioitemnumber 
155   group by aqorders.biblioitemnumber 
156   order by
157   biblio.title";
158   my $i=0;
159   my @results;
160   my $sth=$dbh->prepare($query);
161   $sth->execute;
162   while (my $data=$sth->fetchrow_hashref){
163     $results[$i]=$data;
164     $i++;
165   }
166   $sth->finish;
167   $dbh->disconnect;
168   return($i,@results);
169 }
170
171 sub getrecorders {
172   #gets all orders from a certain supplier, orders them alphabetically
173   my ($supid)=@_;
174   my $dbh=C4Connect;
175   my $query="Select * from aqorders,biblio,biblioitems where booksellerid='$supid'
176   and (cancelledby is NULL or cancelledby = '')
177   and biblio.biblionumber=aqorders.biblionumber and biblioitems.biblioitemnumber=                    
178   aqorders.biblioitemnumber and
179   aqorders.quantityreceived>0
180   and aqorders.datereceived >=now()
181   group by aqorders.biblioitemnumber 
182   order by
183   biblio.title";
184   my $i=0;
185   my @results;
186   my $sth=$dbh->prepare($query);
187   $sth->execute;
188   while (my $data=$sth->fetchrow_hashref){
189     $results[$i]=$data;
190     $i++;
191   }
192   $sth->finish;
193   $dbh->disconnect;
194   return($i,@results);
195 }
196
197 sub ordersearch {
198   my ($search,$biblio,$catview)=@_;
199   my $dbh=C4Connect;
200   my $query="Select *,biblio.title from aqorders,biblioitems,biblio
201         where aqorders.biblioitemnumber = biblioitems.biblioitemnumber
202         and biblio.biblionumber=aqorders.biblionumber
203         and ((datecancellationprinted is NULL)
204         or (datecancellationprinted = '0000-00-00')
205   and ((";
206   my @data=split(' ',$search);
207   my $count=@data;
208   for (my $i=0;$i<$count;$i++){
209     $query.= "(biblio.title like '$data[$i]%' or biblio.title like '% $data[$i]%') and ";
210   }
211   $query=~ s/ and $//;
212   $query.=" ) or biblioitems.isbn='$search' 
213   or (aqorders.ordernumber='$search' and aqorders.biblionumber='$biblio')) ";
214   if ($catview ne 'yes'){
215     $query.=" and (quantityreceived < quantity or quantityreceived is NULL)";
216   }
217   $query.=" group by aqorders.ordernumber";
218   my $sth=$dbh->prepare($query);
219 #  print $query;
220   $sth->execute;
221   my $i=0;
222   my @results;
223   while (my $data=$sth->fetchrow_hashref){
224      my $sth2=$dbh->prepare("Select * from biblio where
225      biblionumber='$data->{'biblionumber'}'");
226      $sth2->execute;
227      my $data2=$sth2->fetchrow_hashref;
228      $sth2->finish;
229      $data->{'author'}=$data2->{'author'};
230      $data->{'seriestitle'}=$data2->{'seriestitle'};
231      $sth2=$dbh->prepare("Select * from aqorderbreakdown where
232     ordernumber=$data->{'ordernumber'}");
233     $sth2->execute;
234     $data2=$sth2->fetchrow_hashref;
235     $sth2->finish;
236     $data->{'branchcode'}=$data2->{'branchcode'};
237     $data->{'bookfundid'}=$data2->{'bookfundid'};
238     $results[$i]=$data;
239     $i++;
240   }
241   $sth->finish;
242   $dbh->disconnect;
243   return($i,@results);
244 }
245
246
247 sub bookseller {
248   my ($searchstring)=@_;
249   my $dbh=C4Connect;
250   my $query="Select * from aqbooksellers where name like '%$searchstring%' or
251   id = '$searchstring'";
252   my $sth=$dbh->prepare($query);
253   $sth->execute;
254   my @results;
255   my $i=0;
256   while (my $data=$sth->fetchrow_hashref){
257     $results[$i]=$data;
258     $i++;
259   }
260   $sth->finish;
261   $dbh->disconnect;
262   return($i,@results);
263 }
264
265 sub breakdown {
266   my ($id)=@_;
267   my $dbh=C4Connect;
268   my $query="Select * from aqorderbreakdown where ordernumber='$id'";
269   my $sth=$dbh->prepare($query);
270   $sth->execute;
271   my @results;
272   my $i=0;
273   while (my $data=$sth->fetchrow_hashref){
274     $results[$i]=$data;
275     $i++;
276   }
277   $sth->finish;
278   $dbh->disconnect;
279   return($i,\@results);
280 }
281
282 sub basket {
283   my ($basketno,$supplier)=@_;
284   my $dbh=C4Connect;
285   my $query="Select *,biblio.title from aqorders,biblio,biblioitems 
286   where basketno='$basketno'
287   and biblio.biblionumber=aqorders.biblionumber and biblioitems.biblioitemnumber
288   =aqorders.biblioitemnumber 
289   and (datecancellationprinted is NULL or datecancellationprinted =
290   '0000-00-00')";
291   if ($supplier ne ''){
292     $query.=" and aqorders.booksellerid='$supplier'";
293   } 
294   $query.=" group by aqorders.ordernumber";
295   my $sth=$dbh->prepare($query);
296   $sth->execute;
297   my @results;
298 #  print $query;
299   my $i=0;
300   while (my $data=$sth->fetchrow_hashref){
301     $results[$i]=$data;
302     $i++;
303   }
304   $sth->finish;
305   $dbh->disconnect;
306   return($i,@results);
307 }
308
309 sub newbasket {
310   my $dbh=C4Connect;
311   my $query="Select max(basketno) from aqorders";
312   my $sth=$dbh->prepare($query);
313   $sth->execute;
314   my $data=$sth->fetchrow_arrayref;
315   my $basket=$$data[0];
316   $basket++;
317   $sth->finish;
318   $dbh->disconnect;
319   return($basket);
320 }
321
322 sub bookfunds {
323   my $dbh=C4Connect;
324   my $query="Select * from aqbookfund,aqbudget where aqbookfund.bookfundid
325   =aqbudget.bookfundid 
326   and aqbudget.startdate='2001=07-01' 
327   group by aqbookfund.bookfundid order by bookfundname";
328   my $sth=$dbh->prepare($query);
329   $sth->execute;
330   my @results;
331   my $i=0;
332   while (my $data=$sth->fetchrow_hashref){
333     $results[$i]=$data;
334     $i++;
335   }
336   $sth->finish;
337   $dbh->disconnect;
338   return($i,@results);
339 }
340
341 sub branches {
342   my $dbh=C4Connect;
343   my $query="Select * from branches";
344   my $sth=$dbh->prepare($query);
345   my $i=0;
346     my @results;
347
348     $sth->execute;
349   while (my $data=$sth->fetchrow_hashref){
350     $results[$i]=$data;
351     $i++;
352     } # while
353
354   $sth->finish;
355   $dbh->disconnect;
356   return($i,@results);
357 } # sub branches
358
359 sub bookfundbreakdown {
360   my ($id)=@_;
361   my $dbh=C4Connect;
362   my $query="Select quantity,datereceived,freight,unitprice,listprice,ecost,quantityreceived,subscription
363   from aqorders,aqorderbreakdown where bookfundid='$id' and 
364   aqorders.ordernumber=aqorderbreakdown.ordernumber and ((budgetdate >=
365   '2001-07-01' and budgetdate <'2002-07-01') or
366   (datereceived >= '2001-07-01' and datereceived < '2002-07-01'))
367   and (datecancellationprinted is NULL or
368   datecancellationprinted='0000-00-00')";
369   my $sth=$dbh->prepare($query);
370   $sth->execute;
371   my $comtd=0;
372   my $spent=0;
373   while (my $data=$sth->fetchrow_hashref){
374     if ($data->{'subscription'} == 1){
375       $spent+=$data->{'quantity'}*$data->{'unitprice'};
376     } else {
377       my $leftover=$data->{'quantity'}-$data->{'quantityreceived'};
378       $comtd+=($data->{'ecost'})*$leftover;
379       $spent+=($data->{'unitprice'})*$data->{'quantityreceived'};
380     }
381   }
382   $sth->finish;
383   $dbh->disconnect;
384   return($spent,$comtd);
385 }
386       
387
388 # Create a new biblio entry
389 sub newbiblio {
390   my ($biblio) = @_;    # input is ref to hash of fields
391   my ($bibnum,$error);          # return resulting biblio number
392
393   $error="";
394
395   my $dbh    = &C4Connect;
396
397   # Get next biblionumber in sequence
398   my $query  = "Select max(biblionumber) from biblio";
399   my $sth    = $dbh->prepare($query);
400   $sth->execute;
401   my $data   = $sth->fetchrow_arrayref;
402   $bibnum = $$data[0] + 1;
403
404   my $serial;           # is this item part of a series?
405
406   if ($biblio->{'seriestitle'}) { $serial = 1 } else { $serial = 0 };
407
408   $sth->finish;
409   $query = "insert into biblio set
410         biblionumber  = ?,
411         title         = ?,
412         author        = ?,
413         copyrightdate = ?,
414         serial        = ?,
415         seriestitle   = ?,
416         notes         = ?   ";
417
418 #  print $query;
419   $sth = $dbh->prepare($query);
420   if (  $sth->execute(
421     $bibnum,
422     $biblio->{'title'},
423     $biblio->{'author'},
424     $biblio->{'copyright'},
425     $serial,
426     $biblio->{'seriestitle'} ,
427     $biblio->{'notes'}     
428   )  ) {
429         $error='';
430   } else {
431         $error=$sth->errstr;
432         $bibnum = ""; 
433   } # if exec error
434
435   $sth->finish;
436   $dbh->disconnect;
437
438   return($bibnum,$error);
439 }
440
441 sub modbiblio {
442   my ($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes)=@_;
443   my $dbh=C4Connect;
444   my $query = "Update biblio set
445 title         = '$title',
446 author        = '$author',
447 copyrightdate = '$copyright',
448 seriestitle   = '$seriestitle',
449 serial        = '$serial',
450 unititle      = '$unititle',
451 notes         = '$notes'
452 where biblionumber = $bibnum";
453   my $sth=$dbh->prepare($query);
454
455   $sth->execute;
456
457   $sth->finish;
458   $dbh->disconnect;
459     return($bibnum);
460 }
461
462 sub modsubtitle {
463   my ($bibnum,$subtitle)=@_;
464   my $dbh=C4Connect;
465   my $query="update bibliosubtitle set subtitle='$subtitle' where biblionumber=$bibnum";
466   my $sth=$dbh->prepare($query);
467   $sth->execute;
468   $sth->finish;
469   $dbh->disconnect;
470 }
471
472 sub modaddauthor {
473   my ($bibnum,$author)=@_;
474   my $dbh=C4Connect;
475   my $query="Delete from additionalauthors where biblionumber=$bibnum";
476   my $sth=$dbh->prepare($query);
477
478   $sth->execute;
479   $sth->finish;
480
481   if ($author ne ''){
482         $query = "Insert into additionalauthors set
483 author       = '$author',
484 biblionumber = '$bibnum'";
485     $sth=$dbh->prepare($query);
486
487     $sth->execute;
488
489     $sth->finish;
490     } # if
491
492   $dbh->disconnect;
493 } # sub modaddauthor
494
495
496 sub modsubject {
497   my ($bibnum,$force,@subject)=@_;
498   my $dbh=C4Connect;
499   my $count=@subject;
500   my $error;
501   for (my $i=0;$i<$count;$i++){
502     $subject[$i]=~ s/^ //g;
503     $subject[$i]=~ s/ $//g;
504     my $query = "select * from catalogueentry
505 where entrytype = 's'
506 and catalogueentry = '$subject[$i]'";
507     my $sth=$dbh->prepare($query);
508     $sth->execute;
509       
510     if (my $data = $sth->fetchrow_hashref) {
511     } else {
512       if ($force eq $subject[$i]){
513
514          #subject not in aut, chosen to force anway
515          #so insert into cataloguentry so its in auth file
516          $query = "Insert into catalogueentry
517 (entrytype,catalogueentry)
518          values ('s','$subject[$i]')";
519          my $sth2=$dbh->prepare($query);
520
521          $sth2->execute;
522          $sth2->finish;
523
524       } else {      
525
526         $error="$subject[$i]\n does not exist in the subject authority file";
527         $query = "Select * from catalogueentry
528 where entrytype = 's'
529 and (catalogueentry like '$subject[$i] %'
530 or catalogueentry like '% $subject[$i] %'
531 or catalogueentry like '% $subject[$i]')";
532         my $sth2=$dbh->prepare($query);
533
534         $sth2->execute;
535         while (my $data=$sth2->fetchrow_hashref){
536           $error=$error."<br>$data->{'catalogueentry'}";
537         } # while
538         $sth2->finish;
539       } # else
540     } # else
541     $sth->finish;
542   } # else
543
544   if ($error eq ''){  
545     my $query="Delete from bibliosubject where biblionumber=$bibnum";
546     my $sth=$dbh->prepare($query);
547
548     $sth->execute;
549     $sth->finish;
550
551     for (my $i=0;$i<$count;$i++){
552       $sth = $dbh->prepare("Insert into bibliosubject
553 values ('$subject[$i]', $bibnum)");
554
555       $sth->execute;
556       $sth->finish;
557     } # for
558   } # if
559
560   $dbh->disconnect;
561   return($error);
562 } # sub modsubject
563
564 sub modbibitem {
565   my ($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc,$notes,$size,$place)=@_;
566   my $dbh=C4Connect;
567   my $query="update biblioitems set itemtype='$itemtype',
568   isbn='$isbn',publishercode='$publishercode',publicationyear='$publicationdate',
569   classification='$classification',dewey='$dewey',subclass='$subclass',illus='$illus',
570   pages='$pages',volumeddesc='$volumeddesc',notes='$notes',size='$size',place='$place'
571   where
572   biblioitemnumber=$bibitemnum";
573   my $sth=$dbh->prepare($query);
574 #    print $query;
575   $sth->execute;
576   $sth->finish;
577   $dbh->disconnect;
578 }
579
580 sub modnote {
581   my ($bibitemnum,$note)=@_;
582   my $dbh=C4Connect;
583   my $query="update biblioitems set notes='$note' where
584   biblioitemnumber='$bibitemnum'";
585   my $sth=$dbh->prepare($query);
586   $sth->execute;
587   $sth->finish;
588   $dbh->disconnect;
589 }
590
591 sub newbiblioitem {
592   my ($biblioitem) = @_;
593   my $dbh   = C4Connect;
594   my $query = "Select max(biblioitemnumber) from biblioitems";
595   my $sth   = $dbh->prepare($query);
596   my $data;
597   my $bibitemnum;
598   
599   $biblioitem->{'volume'}          = $dbh->quote($biblioitem->{'volume'});
600   $biblioitem->{'number'}          = $dbh->quote($biblioitem->{'number'});
601   $biblioitem->{'classification'}  = $dbh->quote($biblioitem->{'classification'});
602   $biblioitem->{'itemtype'}        = $dbh->quote($biblioitem->{'itemtype'});
603   $biblioitem->{'url'}             = $dbh->quote($biblioitem->{'url'});
604   $biblioitem->{'isbn'}            = $dbh->quote($biblioitem->{'isbn'});
605   $biblioitem->{'issn'}            = $dbh->quote($biblioitem->{'issn'});
606   $biblioitem->{'dewey'}           = $dbh->quote($biblioitem->{'dewey'});
607   $biblioitem->{'subclass'}        = $dbh->quote($biblioitem->{'subclass'});
608   $biblioitem->{'publicationyear'} = $dbh->quote($biblioitem->{'publicationyear'});
609   $biblioitem->{'publishercode'}   = $dbh->quote($biblioitem->{'publishercode'});
610   $biblioitem->{'volumedate'}      = $dbh->quote($biblioitem->{'volumedate'});
611   $biblioitem->{'volumeddesc'}     = $dbh->quote($biblioitem->{'volumeddesc'});  $biblioitem->{'illus'}            = $dbh->quote($biblioitem->{'illus'});
612   $biblioitem->{'pages'}           = $dbh->quote($biblioitem->{'pages'});
613   $biblioitem->{'notes'}           = $dbh->quote($biblioitem->{'notes'});
614   $biblioitem->{'size'}            = $dbh->quote($biblioitem->{'size'});
615   $biblioitem->{'place'}           = $dbh->quote($biblioitem->{'place'});
616   
617   $sth->execute;
618   $data       = $sth->fetchrow_arrayref;
619   $bibitemnum = $$data[0] + 1;
620
621   $sth->finish;
622
623   $query = "insert into biblioitems set
624 biblioitemnumber = $bibitemnum,
625 biblionumber     = $biblioitem->{'biblionumber'},
626 volume           = $biblioitem->{'volume'},
627 number           = $biblioitem->{'number'},
628 classification   = $biblioitem->{'classification'},
629 itemtype         = $biblioitem->{'itemtype'},
630 url              = $biblioitem->{'url'},
631 isbn             = $biblioitem->{'isbn'},
632 issn             = $biblioitem->{'issn'},
633 dewey            = $biblioitem->{'dewey'},
634 subclass         = $biblioitem->{'subclass'},
635 publicationyear  = $biblioitem->{'publicationyear'},
636 publishercode    = $biblioitem->{'publishercode'},
637 volumedate       = $biblioitem->{'volumedate'},
638 volumeddesc      = $biblioitem->{'volumeddesc'},
639 illus            = $biblioitem->{'illus'},
640 pages            = $biblioitem->{'pages'},
641 notes            = $biblioitem->{'notes'},
642 size             = $biblioitem->{'size'},
643 place            = $biblioitem->{'place'}";
644
645   $sth = $dbh->prepare($query);
646   $sth->execute;
647
648   $sth->finish;
649   $dbh->disconnect;
650   return($bibitemnum);
651 }
652
653 sub newsubject {
654   my ($bibnum)=@_;
655   my $dbh=C4Connect;
656   my $query="insert into bibliosubject (biblionumber) values
657   ($bibnum)";
658   my $sth=$dbh->prepare($query);
659 #  print $query;
660   $sth->execute;
661   $sth->finish;
662   $dbh->disconnect;
663 }
664
665 sub newsubtitle {
666   my ($bibnum, $subtitle) = @_;
667   my $dbh   = C4Connect;
668   $subtitle = $dbh->quote($subtitle);
669   my $query = "insert into bibliosubtitle set
670 biblionumber = $bibnum,
671 subtitle = $subtitle";
672   my $sth   = $dbh->prepare($query);
673
674   $sth->execute;
675
676   $sth->finish;
677   $dbh->disconnect;
678 }
679
680 sub neworder {
681   my ($bibnum,$title,$ordnum,$basket,$quantity,$listprice,$supplier,$who,$notes,$bookfund,$bibitemnum,$rrp,$ecost,$gst,$budget,$cost,$sub,$invoice)=@_;
682   if ($budget eq 'now'){
683     $budget="now()";
684   } else {
685     $budget="'2001-07-01'";
686   }
687   if ($sub eq 'yes'){
688     $sub=1;
689   } else {
690     $sub=0;
691   }
692   my $dbh=C4Connect;
693   my $query="insert into aqorders (biblionumber,title,basketno,
694   quantity,listprice,booksellerid,entrydate,requisitionedby,authorisedby,notes,
695   biblioitemnumber,rrp,ecost,gst,budgetdate,unitprice,subscription,booksellerinvoicenumber)
696
697   values
698   ($bibnum,'$title',$basket,$quantity,$listprice,'$supplier',now(),
699   '$who','$who','$notes',$bibitemnum,'$rrp','$ecost','$gst',$budget,'$cost',
700   '$sub','$invoice')";
701   my $sth=$dbh->prepare($query);
702 #  print $query;
703   $sth->execute;
704   $sth->finish;
705   $query="select * from aqorders where
706   biblionumber=$bibnum and basketno=$basket and ordernumber >=$ordnum";
707   $sth=$dbh->prepare($query);
708   $sth->execute;
709   my $data=$sth->fetchrow_hashref;
710   $sth->finish;
711   $ordnum=$data->{'ordernumber'};
712   $query="insert into aqorderbreakdown (ordernumber,bookfundid) values
713   ($ordnum,'$bookfund')";
714   $sth=$dbh->prepare($query);
715 #  print $query;
716   $sth->execute;
717   $sth->finish;
718   $dbh->disconnect;
719 }
720
721 sub delorder {
722   my ($bibnum,$ordnum)=@_;
723   my $dbh=C4Connect;
724   my $query="update aqorders set datecancellationprinted=now()
725   where biblionumber='$bibnum' and
726   ordernumber='$ordnum'";
727   my $sth=$dbh->prepare($query);
728   #print $query;
729   $sth->execute;
730   $sth->finish;
731   my $count=itemcount($bibnum);
732   if ($count == 0){
733     delbiblio($bibnum);
734   }
735   $dbh->disconnect;
736 }
737
738 sub modorder {
739   my ($title,$ordnum,$quantity,$listprice,$bibnum,$basketno,$supplier,$who,$notes,$bookfund,$bibitemnum,$rrp,$ecost,$gst,$budget,$cost,$invoice)=@_;
740   my $dbh=C4Connect;
741   my $query="update aqorders set title='$title',
742   quantity='$quantity',listprice='$listprice',basketno='$basketno', 
743   rrp='$rrp',ecost='$ecost',unitprice='$cost',
744   booksellerinvoicenumber='$invoice'
745   where
746   ordernumber=$ordnum and biblionumber=$bibnum";
747   my $sth=$dbh->prepare($query);
748 #  print $query;
749   $sth->execute;
750   $sth->finish;
751   $query="update aqorderbreakdown set bookfundid=$bookfund where
752   ordernumber=$ordnum";
753   $sth=$dbh->prepare($query);
754 #  print $query;
755   $sth->execute;
756   $sth->finish;
757   $dbh->disconnect;
758 }
759
760 sub newordernum {
761   my $dbh=C4Connect;
762   my $query="Select max(ordernumber) from aqorders";
763   my $sth=$dbh->prepare($query);
764   $sth->execute;
765   my $data=$sth->fetchrow_arrayref;
766   my $ordnum=$$data[0];
767   $ordnum++;
768   $sth->finish;
769   $dbh->disconnect;
770   return($ordnum);
771 }
772
773 sub receiveorder {
774   my ($biblio,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund,$rrp)=@_;
775   my $dbh=C4Connect;
776   my $query="update aqorders set quantityreceived='$quantrec',
777   datereceived=now(),booksellerinvoicenumber='$invoiceno',
778   biblioitemnumber=$bibitemno,unitprice='$cost',freight='$freight',
779   rrp='$rrp'
780   where biblionumber=$biblio and ordernumber=$ordnum
781   ";
782 #  print $query;
783   my $sth=$dbh->prepare($query);
784   $sth->execute;
785   $sth->finish;
786   $query="update aqorderbreakdown set bookfundid=$bookfund where
787   ordernumber=$ordnum";
788   $sth=$dbh->prepare($query);
789 #  print $query;
790   $sth->execute;
791   $sth->finish;  
792   $dbh->disconnect;
793 }
794 sub updaterecorder{
795   my($biblio,$ordnum,$user,$cost,$bookfund,$rrp)=@_;
796   my $dbh=C4Connect;
797   my $query="update aqorders set
798   unitprice='$cost', rrp='$rrp'
799   where biblionumber=$biblio and ordernumber=$ordnum
800   ";
801 #  print $query;
802   my $sth=$dbh->prepare($query);
803   $sth->execute;
804   $sth->finish;
805   $query="update aqorderbreakdown set bookfundid=$bookfund where
806   ordernumber=$ordnum";
807   $sth=$dbh->prepare($query);
808 #  print $query;
809   $sth->execute;
810   $sth->finish;  
811   $dbh->disconnect;
812 }
813
814 sub curconvert {
815   my ($currency,$price)=@_;
816   my $convertedprice;
817   my $dbh=C4Connect;
818   my $query="Select rate from currency where currency='$currency'";
819   my $sth=$dbh->prepare($query);
820   $sth->execute;
821   my $data=$sth->fetchrow_hashref;
822   $sth->finish;
823   $dbh->disconnect;
824   my $cur=$data->{'rate'};
825   if ($cur==0){
826     $cur=1;
827   }
828   $convertedprice=$price / $cur;
829   return($convertedprice);
830 }
831
832 sub getcurrencies {
833   my $dbh=C4Connect;
834   my $query="Select * from currency";
835   my $sth=$dbh->prepare($query);
836   $sth->execute;
837   my @results;
838   my $i=0;
839   while (my $data=$sth->fetchrow_hashref){
840     $results[$i]=$data;
841     $i++;
842   }
843   $sth->finish;
844   $dbh->disconnect;
845   return($i,\@results);
846
847
848 sub getcurrency {
849   my ($cur)=@_;
850   my $dbh=C4Connect;
851   my $query="Select * from currency where currency='$cur'";
852   my $sth=$dbh->prepare($query);
853   $sth->execute;
854
855   my $data=$sth->fetchrow_hashref;
856   $sth->finish;
857   $dbh->disconnect;
858   return($data);
859
860
861 sub updatecurrencies {
862   my ($currency,$rate)=@_;
863   my $dbh=C4Connect;
864   my $query="update currency set rate=$rate where currency='$currency'";
865   my $sth=$dbh->prepare($query);
866   $sth->execute;
867   $sth->finish;
868   $dbh->disconnect;
869
870
871 sub updatesup {
872    my ($data)=@_;
873    my $dbh=C4Connect;
874    my $query="Update aqbooksellers set
875    name='$data->{'name'}',address1='$data->{'address1'}',address2='$data->{'address2'}',
876    address3='$data->{'address3'}',address4='$data->{'address4'}',postal='$data->{'postal'}',
877    phone='$data->{'phone'}',fax='$data->{'fax'}',url='$data->{'url'}',
878    contact='$data->{'contact'}',contpos='$data->{'contpos'}',
879    contphone='$data->{'contphone'}', contfax='$data->{'contfax'}', contaltphone=
880    '$data->{'contaltphone'}', contemail='$data->{'contemail'}', contnotes=
881    '$data->{'contnotes'}', active=$data->{'active'},
882    listprice='$data->{'listprice'}', invoiceprice='$data->{'invoiceprice'}',
883    gstreg=$data->{'gstreg'}, listincgst=$data->{'listincgst'},
884    invoiceincgst=$data->{'invoiceincgst'}, specialty='$data->{'specialty'}',
885    discount='$data->{'discount'}',invoicedisc='$data->{'invoicedisc'}',
886    nocalc='$data->{'nocalc'}'
887    where id='$data->{'id'}'";
888    my $sth=$dbh->prepare($query);
889    $sth->execute;
890    $sth->finish;
891    $dbh->disconnect;
892 #   print $query;
893 }
894
895 sub insertsup {
896   my ($data)=@_;
897   my $dbh=C4Connect;
898   my $sth=$dbh->prepare("Select max(id) from aqbooksellers");
899   $sth->execute;
900   my $data2=$sth->fetchrow_hashref;
901   $sth->finish;
902   $data2->{'max(id)'}++;
903   $sth=$dbh->prepare("Insert into aqbooksellers (id) values ($data2->{'max(id)'})");
904   $sth->execute;
905   $sth->finish;
906   $data->{'id'}=$data2->{'max(id)'};
907   $dbh->disconnect;
908   updatesup($data);
909   return($data->{'id'});
910 }
911
912
913 sub newitems {
914   my ($item, @barcodes) = @_;
915   my $dbh=C4Connect;
916   my $query = "Select max(itemnumber) from items";
917   my $sth   = $dbh->prepare($query);
918   my $data;
919   my $itemnumber;
920   my $error;
921
922   $sth->execute;
923   $data       = $sth->fetchrow_hashref;
924   $itemnumber = $data->{'max(itemnumber)'} + 1;
925   $sth->finish;
926   
927   $item->{'booksellerid'}     = $dbh->quote($item->{'bookselletid'});
928   $item->{'homebranch'}       = $dbh->quote($item->{'homebranch'});
929   $item->{'price'}            = $dbh->quote($item->{'price'});
930   $item->{'replacementprice'} = $dbh->quote($item->{'replacementprice'});
931   $item->{'itemnotes'}        = $dbh->quote($item->{'itemnotes'});
932
933   foreach my $barcode (@barcodes) {
934     $barcode = uc($barcode);
935     $query   = "Insert into items set
936 itemnumber           = $itemnumber,
937 biblionumber         = $item->{'biblionumber'},
938 biblioitemnumber     = $item->{'biblioitemnumber'},
939 barcode              = $barcode,
940 booksellerid         = $item->{'booksellerid'},
941 dateaccessioned      = NOW(),
942 homebranch           = $item->{'homebranch'},
943 holdingbranch        = $item->{'homebranch'},
944 price                = $item->{'price'},
945 replacementprice     = $item->{'replacementprice'},
946 replacementpricedate = NOW(),
947 itemnotes            = $item->{'itemnotes'}";
948
949     if ($item->{'loan'}) {
950       $query .= ",
951 notforloan           = $item->{'loan'}";
952     } # if
953
954     $sth = $dbh->prepare($query);
955     $sth->execute;
956
957     $error=$sth->errstr;
958
959     $sth->finish;
960     $itemnumber++;
961   } # for
962
963   $dbh->disconnect;
964   return($error);
965 }
966
967 sub checkitems{
968   my ($count,@barcodes)=@_;
969   my $dbh=C4Connect;
970   my $error;
971   for (my $i=0;$i<$count;$i++){
972     $barcodes[$i]=uc $barcodes[$i];
973     my $query="Select * from items where barcode='$barcodes[$i]'";
974     my $sth=$dbh->prepare($query);
975     $sth->execute;
976     if (my $data=$sth->fetchrow_hashref){
977       $error.=" Duplicate Barcode: $barcodes[$i]";
978     }
979     $sth->finish;
980   }
981   $dbh->disconnect;
982   return($error);
983 }
984
985 sub moditem {
986   my ($loan,$itemnum,$bibitemnum,$barcode,$notes,$homebranch,$lost,$wthdrawn,$replacement)=@_;
987   my $dbh=C4Connect;
988   my $query="update items set biblioitemnumber=$bibitemnum,
989   barcode='$barcode',itemnotes='$notes'
990   where itemnumber=$itemnum";
991   if ($barcode eq ''){
992     $query="update items set biblioitemnumber=$bibitemnum,notforloan=$loan where itemnumber=$itemnum";
993   }
994   if ($lost ne ''){
995     $query="update items set biblioitemnumber=$bibitemnum,
996       barcode='$barcode',itemnotes='$notes',homebranch='$homebranch',
997       itemlost='$lost',wthdrawn='$wthdrawn' where itemnumber=$itemnum";
998   }
999   if ($replacement ne ''){
1000     $query=~ s/ where/,replacementprice='$replacement' where/;
1001   }
1002
1003   my $sth=$dbh->prepare($query);
1004   $sth->execute;
1005   $sth->finish;
1006   $dbh->disconnect;
1007 }
1008
1009 sub updatecost{
1010   my($price,$rrp,$itemnum)=@_;
1011   my $dbh=C4Connect;
1012   my $query="update items set price='$price',replacementprice='$rrp'
1013   where itemnumber=$itemnum";
1014   my $sth=$dbh->prepare($query);
1015   $sth->execute;
1016   $sth->finish;
1017   $dbh->disconnect;
1018 }
1019 sub countitems{
1020   my ($bibitemnum)=@_;
1021   my $dbh=C4Connect;
1022   my $query="Select count(*) from items where biblioitemnumber='$bibitemnum'";
1023   my $sth=$dbh->prepare($query);
1024   $sth->execute;
1025   my $data=$sth->fetchrow_hashref;
1026   $sth->finish;
1027   $dbh->disconnect;
1028   return($data->{'count(*)'});
1029 }
1030
1031 sub findall {
1032   my ($biblionumber)=@_;
1033   my $dbh=C4Connect;
1034   my $query="Select * from biblioitems,items,itemtypes where 
1035   biblioitems.biblionumber=$biblionumber 
1036   and biblioitems.biblioitemnumber=items.biblioitemnumber and
1037   itemtypes.itemtype=biblioitems.itemtype
1038   order by items.biblioitemnumber";
1039   my $sth=$dbh->prepare($query);
1040   $sth->execute;
1041   my @results;
1042   my $i;
1043   while (my $data=$sth->fetchrow_hashref){
1044     $results[$i]=$data;
1045     $i++;
1046   }
1047   $sth->finish;
1048   $dbh->disconnect;
1049   return(@results);
1050 }
1051
1052 sub needsmod{
1053   my ($bibitemnum,$itemtype)=@_;
1054   my $dbh=C4Connect;
1055   my $query="Select * from biblioitems where biblioitemnumber=$bibitemnum
1056   and itemtype='$itemtype'";
1057   my $sth=$dbh->prepare($query);
1058   $sth->execute;
1059   my $result=0;
1060   if (my $data=$sth->fetchrow_hashref){
1061     $result=1;
1062   }
1063   $sth->finish;
1064   $dbh->disconnect;
1065   return($result);
1066 }
1067
1068 sub delitem{
1069   my ($itemnum)=@_;
1070   my $dbh=C4Connect;
1071   my $query="select * from items where itemnumber=$itemnum";
1072   my $sth=$dbh->prepare($query);
1073   $sth->execute;
1074   my @data=$sth->fetchrow_array;
1075   $sth->finish;
1076   $query="Insert into deleteditems values (";
1077   foreach my $temp (@data){
1078     $query=$query."'$temp',";
1079   }
1080   $query=~ s/\,$/\)/;
1081 #  print $query;
1082   $sth=$dbh->prepare($query);
1083   $sth->execute;
1084   $sth->finish;
1085   $query = "Delete from items where itemnumber=$itemnum";
1086   $sth=$dbh->prepare($query);
1087   $sth->execute;
1088   $sth->finish;
1089   $dbh->disconnect;
1090 }
1091
1092 sub delbibitem{
1093   my ($itemnum)=@_;
1094   my $dbh=C4Connect;
1095   my $query="select * from biblioitems where biblioitemnumber=$itemnum";
1096   my $sth=$dbh->prepare($query);
1097   $sth->execute;
1098   if (my @data=$sth->fetchrow_array){
1099     $sth->finish;
1100     $query="Insert into deletedbiblioitems values (";
1101     foreach my $temp (@data){
1102       $temp=~ s/\'/\\\'/g;
1103       $query=$query."'$temp',";
1104     }
1105     $query=~ s/\,$/\)/;
1106 #   print $query;
1107     $sth=$dbh->prepare($query);
1108     $sth->execute;
1109     $sth->finish;
1110     $query = "Delete from biblioitems where biblioitemnumber=$itemnum";
1111     $sth=$dbh->prepare($query);
1112     $sth->execute;
1113     $sth->finish;
1114   }
1115   $sth->finish;
1116   $dbh->disconnect;
1117 }
1118
1119 sub delbiblio{
1120   my ($biblio)=@_;
1121   my $dbh=C4Connect;
1122   my $query="select * from biblio where biblionumber=$biblio";
1123   my $sth=$dbh->prepare($query);
1124   $sth->execute;
1125   if (my @data=$sth->fetchrow_array){
1126     $sth->finish;
1127     $query="Insert into deletedbiblio values (";
1128     foreach my $temp (@data){
1129       $temp=~ s/\'/\\\'/g;
1130       $query=$query."'$temp',";
1131     }
1132     $query=~ s/\,$/\)/;
1133 #   print $query;
1134     $sth=$dbh->prepare($query);
1135     $sth->execute;
1136     $sth->finish;
1137     $query = "Delete from biblio where biblionumber=$biblio";
1138     $sth=$dbh->prepare($query);
1139     $sth->execute;
1140     $sth->finish;
1141   }
1142
1143   $sth->finish;
1144   $dbh->disconnect;
1145 }
1146
1147 sub getitemtypes {
1148   my $dbh   = C4Connect;
1149   my $query = "select * from itemtypes";
1150   my $sth   = $dbh->prepare($query);
1151     # || die "Cannot prepare $query" . $dbh->errstr;
1152   my $count = 0;
1153   my @results;
1154   
1155   $sth->execute;
1156     # || die "Cannot execute $query\n" . $sth->errstr;
1157   while (my $data = $sth->fetchrow_hashref) {
1158     $results[$count] = $data;
1159     $count++;
1160   } # while
1161   
1162   $sth->finish;
1163   $dbh->disconnect;
1164   return($count, @results);
1165 } # sub getitemtypes
1166
1167
1168 sub getbiblio {
1169     my ($biblionumber) = @_;
1170     my $dbh   = C4Connect;
1171     my $query = "Select * from biblio where biblionumber = $biblionumber";
1172     my $sth   = $dbh->prepare($query);
1173       # || die "Cannot prepare $query\n" . $dbh->errstr;
1174     my $count = 0;
1175     my @results;
1176     
1177     $sth->execute;
1178       # || die "Cannot execute $query\n" . $sth->errstr;
1179     while (my $data = $sth->fetchrow_hashref) {
1180       $results[$count] = $data;
1181       $count++;
1182     } # while
1183     
1184     $sth->finish;
1185     $dbh->disconnect;
1186     return($count, @results);
1187 } # sub getbiblio
1188
1189
1190 sub getbiblioitem {
1191     my ($biblioitemnum) = @_;
1192     my $dbh   = C4Connect;
1193     my $query = "Select * from biblioitems where
1194 biblioitemnumber = $biblioitemnum";
1195     my $sth   = $dbh->prepare($query);
1196     my $count = 0;
1197     my @results;
1198
1199     $sth->execute;
1200
1201     while (my $data = $sth->fetchrow_hashref) {
1202         $results[$count] = $data;
1203         $count++;
1204     } # while
1205
1206     $sth->finish;
1207     $dbh->disconnect;
1208     return($count, @results);
1209 } # sub getbiblioitem
1210
1211
1212 sub getitemsbybiblioitem {
1213     my ($biblioitemnum) = @_;
1214     my $dbh   = C4Connect;
1215     my $query = "Select * from items, biblio where
1216 biblio.biblionumber = items.biblionumber and biblioitemnumber
1217 = $biblioitemnum";
1218     my $sth   = $dbh->prepare($query);
1219       # || die "Cannot prepare $query\n" . $dbh->errstr;
1220     my $count = 0;
1221     my @results;
1222     
1223     $sth->execute;
1224       # || die "Cannot execute $query\n" . $sth->errstr;
1225     while (my $data = $sth->fetchrow_hashref) {
1226       $results[$count] = $data;
1227       $count++;
1228     } # while
1229     
1230     $sth->finish;
1231     $dbh->disconnect;
1232     return($count, @results);
1233 } # sub getitemsbybiblioitem
1234
1235
1236 sub isbnsearch {
1237     my ($isbn) = @_;
1238     my $dbh   = C4Connect;
1239     my $count = 0;
1240     my $query;
1241     my $sth;
1242     my @results;
1243     
1244     $isbn  = $dbh->quote($isbn);
1245     $query = "Select * from biblioitems where isbn = $isbn";
1246     $sth   = $dbh->prepare($query);
1247     
1248     $sth->execute;
1249     while (my $data = $sth->fetchrow_hashref) {
1250         $results[$count] = $data;
1251         $count++;
1252     } # while
1253
1254     $sth->finish;
1255     $dbh->disconnect;
1256     return($count, @results);
1257 } # sub isbnsearch
1258
1259
1260 sub keywordsearch {
1261   my ($keywordlist) = @_;
1262   my $dbh   = C4Connect;
1263   my $query = "Select * from biblio where";
1264   my $count = 0;
1265   my $sth;
1266   my @results;
1267   my @keywords = split(/ +/, $keywordlist);
1268   my $keyword = shift(@keywords);
1269
1270   $keyword =~ s/%/\\%/g;
1271   $keyword =~ s/_/\\_/;
1272   $keyword = "%" . $keyword . "%";
1273   $keyword = $dbh->quote($keyword);
1274   $query  .= " (author like $keyword) or
1275 (title like $keyword) or (unititle like $keyword) or
1276 (notes like $keyword) or (seriestitle like $keyword) or
1277 (abstract like $keyword)";
1278
1279   foreach $keyword (@keywords) {
1280     $keyword =~ s/%/\\%/;
1281     $keyword =~ s/_/\\_/;
1282     $keyword = "%" . $keyword . "%";
1283     $keyword = $dbh->quote($keyword);
1284     $query  .= " or (author like $keyword) or
1285 (title like $keyword) or (unititle like $keyword) or 
1286 (notes like $keyword) or (seriestitle like $keyword) or
1287 (abstract like $keyword)";
1288   } # foreach
1289   
1290   $sth = $dbh->prepare($query);
1291   $sth->execute;
1292   
1293   while (my $data = $sth->fetchrow_hashref) {
1294     $results[$count] = $data;
1295     $count++;
1296   } # while
1297   
1298   $sth->finish;
1299   $dbh->disconnect;
1300   return($count, @results);
1301 } # sub keywordsearch
1302
1303
1304 sub websitesearch {
1305     my ($keywordlist) = @_;
1306     my $dbh   = C4Connect;
1307     my $query = "Select distinct biblio.* from biblio, biblioitems where
1308 biblio.biblionumber = biblioitems.biblionumber and (";
1309     my $count = 0;
1310     my $sth;
1311     my @results;
1312     my @keywords = split(/ +/, $keywordlist);
1313     my $keyword = shift(@keywords);
1314
1315     $keyword =~ s/%/\\%/g;
1316     $keyword =~ s/_/\\_/;
1317     $keyword = "%" . $keyword . "%";
1318     $keyword = $dbh->quote($keyword);
1319     $query  .= " (url like $keyword)";
1320
1321     foreach $keyword (@keywords) {
1322         $keyword =~ s/%/\\%/;
1323         $keyword =~ s/_/\\_/;
1324         $keyword = "%" . $keyword . "%";
1325         $keyword = $dbh->quote($keyword);
1326         $query  .= " or (url like $keyword)";
1327     } # foreach
1328
1329     $query .= ")";
1330     $sth    = $dbh->prepare($query);
1331     $sth->execute;
1332
1333     while (my $data = $sth->fetchrow_hashref) {
1334         $results[$count] = $data;
1335         $count++;
1336     } # while
1337
1338     $sth->finish;
1339     $dbh->disconnect;
1340     return($count, @results);
1341 } # sub websitesearch
1342
1343
1344 sub addwebsite {
1345     my ($website) = @_;
1346     my $dbh = C4Connect;
1347     my $query;
1348     
1349     $website->{'biblionumber'} = $dbh->quote($website->{'biblionumber'});
1350     $website->{'title'}        = $dbh->quote($website->{'title'});
1351     $website->{'description'}  = $dbh->quote($website->{'description'});
1352     $website->{'url'}          = $dbh->quote($website->{'url'});
1353     
1354     $query = "Insert into websites set
1355 biblionumber = $website->{'biblionumber'},
1356 title        = $website->{'title'},
1357 description  = $website->{'description'},
1358 url          = $website->{'url'}";
1359     
1360     $dbh->do($query);
1361     
1362     $dbh->disconnect;
1363 } # sub website
1364
1365
1366 sub updatewebsite {
1367     my ($website) = @_;
1368     my $dbh = C4Connect;
1369     my $query;
1370     
1371     $website->{'title'}      = $dbh->quote($website->{'title'});
1372     $website->{'description'} = $dbh->quote($website->{'description'});
1373     $website->{'url'}        = $dbh->quote($website->{'url'});
1374     
1375     $query = "Update websites set
1376 title       = $website->{'title'},
1377 description = $website->{'description'},
1378 url         = $website->{'url'}
1379 where websitenumber = $website->{'websitenumber'}";
1380
1381     $dbh->do($query);
1382     
1383     $dbh->disconnect;
1384 } # sub updatewebsite
1385
1386
1387 sub deletewebsite {
1388     my ($websitenumber) = @_;
1389     my $dbh = C4Connect;
1390     my $query = "Delete from websites where websitenumber = $websitenumber";
1391     
1392     $dbh->do($query);
1393     
1394     $dbh->disconnect;
1395 } # sub deletewebsite
1396
1397
1398 END { }       # module clean-up code here (global destructor)