adding authentification with Auth.pm
[koha.git] / updatebiblio.pl
1 #!/usr/bin/perl
2
3
4 # Copyright 2000-2002 Katipo Communications
5 #
6 # This file is part of Koha.
7 #
8 # Koha is free software; you can redistribute it and/or modify it under the
9 # terms of the GNU General Public License as published by the Free Software
10 # Foundation; either version 2 of the License, or (at your option) any later
11 # version.
12 #
13 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
14 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License along with
18 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
19 # Suite 330, Boston, MA  02111-1307 USA
20
21 use CGI;
22 use strict;
23 use C4::Acquisitions;
24 use C4::Output;
25
26 # FIXME - This script uses a bunch of functions that appear in both
27 # C4::Acquisitions and C4::Biblio. But I gather that the latter are
28 # preferred. So should this script "use C4::Biblio;" ?
29
30 my $input       = new CGI;
31 my $bibnum      = checkinp($input->param('biblionumber'));
32 my $biblio = {
33     biblionumber => $bibnum,
34     title        => $input->param('title')?$input->param('title'):"",
35     author       => $input->param('author')?$input->param('author'):"",
36     abstract     => $input->param('abstract')?$input->param('abstract'):"",
37     copyright    => $input->param('copyrightdate')?$input->param('copyrightdate'):"",
38     seriestitle  => $input->param('seriestitle')?$input->param('seriestitle'):"",
39     serial       => $input->param('serial')?$input->param('serial'):"",
40     unititle     => $input->param('unititle')?$input->param('unititle'):"",
41     notes        => $input->param('notes')?$input->param('notes'):"",
42 }; # my $biblio
43 my $subtitle    = checkinp($input->param('subtitle'));
44 my $subject     = checkinp($input->param('subject'));
45 my $addauthor   = checkinp($input->param('additionalauthor'));
46 my $force       = $input->param('Force');
47 my %data;
48 my @sub;
49 my @subs;
50 my @names;
51 my $count;
52 my $error;
53
54 &modbiblio($biblio);
55 &modsubtitle($bibnum, $subtitle);
56 &modaddauthor($bibnum, $addauthor);
57
58 $subject = uc($subject);
59 @sub     = split(/\|/, $subject);
60 $count   = @sub;
61
62 for (my $i = 0; $i < $count; $i++) {
63     $sub[$i] =~ s/ +$//;
64 } # for
65
66 $error = &modsubject($bibnum,$force,@sub);
67
68 if ($error ne ''){
69     print $input->header;
70     print startpage();
71     print startmenu('catalogue');
72     print $error;
73     my @subs=split('\n',$error);
74     print "<p> Click submit to force the subject";
75     my @names=$input->param;
76     my %data;
77     my $count=@names;
78     for (my $i=0;$i<$count;$i++) {
79         if ($names[$i] ne 'Force') {
80             my $value=$input->param("$names[$i]");
81             $data{$names[$i]}="hidden\t$value\t$i";
82         } # if
83     } # for
84     $data{"Force"}="hidden\t$subs[0]\t$count";
85     print mkform3('updatebiblio.pl',%data);
86     print endmenu();
87     print endpage();
88 } else {
89     print $input->redirect("detail.pl?type=intra&bib=$bibnum");
90 } # else
91
92 sub checkinp{
93   my ($inp)=@_;
94   $inp=~ s/\'/\\\'/g;
95   $inp=~ s/\"/\\\"/g;
96   return($inp);
97 }