adding a MARC parameter in systempref ( which is ON or OFF)
[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 strict;
22 use CGI;
23 use C4::Acquisitions;
24 use C4::Output;
25 use HTML::Template;
26
27 # FIXME - This script uses a bunch of functions that appear in both
28 # C4::Acquisitions and C4::Biblio. But I gather that the latter are
29 # preferred. So should this script "use C4::Biblio;" ?
30
31 my $input       = new CGI;
32 my $bibnum      = checkinp($input->param('biblionumber'));
33 my $biblio = {
34     biblionumber => $bibnum,
35     title        => $input->param('title')?$input->param('title'):"",
36     author       => $input->param('author')?$input->param('author'):"",
37     abstract     => $input->param('abstract')?$input->param('abstract'):"",
38     copyright    => $input->param('copyrightdate')?$input->param('copyrightdate'):"",
39     seriestitle  => $input->param('seriestitle')?$input->param('seriestitle'):"",
40     serial       => $input->param('serial')?$input->param('serial'):"",
41     unititle     => $input->param('unititle')?$input->param('unititle'):"",
42     notes        => $input->param('notes')?$input->param('notes'):"",
43 }; # my $biblio
44 my $subtitle    = checkinp($input->param('subtitle'));
45 my $subject     = checkinp($input->param('subject'));
46 my $addauthor   = checkinp($input->param('additionalauthor'));
47 my $force       = $input->param('Force');
48 my %data;
49 my @sub;
50 my @subs;
51 my @names;
52 my $count;
53 my $error;
54
55 &modbiblio($biblio);
56 &modsubtitle($bibnum, $subtitle);
57 &modaddauthor($bibnum, $addauthor);
58
59 $subject = uc($subject);
60 @sub     = split(/\|/, $subject);
61 $count   = @sub;
62
63 for (my $i = 0; $i < $count; $i++) {
64     $sub[$i] =~ s/ +$//;
65 } # for
66
67 $error = &modsubject($bibnum,$force,@sub);
68
69 if ($error ne ''){
70         my $template = gettemplate("updatebiblio.tmpl");
71
72     my @subs=split('\n',$error);
73     my @names=$input->param;
74     my $count=@names;
75         my @dataloop;
76     for (my $i=0;$i<$count;$i++) {
77         if ($names[$i] ne 'Force') {
78                 my %line;
79             $line{'value'}=$input->param("$names[$i]");
80                 $line{'name'}=$names[$i];
81                 push(@dataloop, \%line);
82         } # if
83     } # for
84     template->param(substring =>$subs[0]);
85     template->param(error =>$error);
86     template->param(dataloop => \@dataloop);
87         print "Content-Type: text/html\n\n", $template->output;
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 }