Merge branch 'MT1105' into public_master
[koha.git] / cataloguing / value_builder / marc21_field_006.pl
1 #!/usr/bin/perl
2
3 # Copyright 2000-2002 Katipo Communications
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along with
17 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 # Suite 330, Boston, MA  02111-1307 USA
19
20 use strict;
21 use C4::Auth;
22 use CGI;
23 use C4::Context;
24
25 use C4::Search;
26 use C4::Output;
27
28 =head1
29
30 plugin_parameters : other parameters added when the plugin is called by the dopop function
31
32 =cut
33
34 sub plugin_parameters {
35     my ($dbh, $record, $tagslib, $i, $tabloop) = @_;
36     return "";
37 }
38
39 sub plugin_javascript {
40     my ($dbh, $record, $tagslib, $field_number, $tabloop) = @_;
41     my $function_name = $field_number;
42     my $res           = "
43 <script type=\"text/javascript\">
44 //<![CDATA[
45
46 function Focus$function_name(subfield_managed) {
47 return 1;
48 }
49
50 function Blur$function_name(subfield_managed) {
51         return 1;
52 }
53
54 function Clic$function_name(i) {
55         defaultvalue=document.getElementById(\"$field_number\").value;
56         newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_field_006.pl&index=$field_number&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
57
58 }
59 //]]>
60 </script>
61 ";
62
63     return ($function_name, $res);
64 }
65
66 sub plugin {
67     my ($input) = @_;
68     my $index   = $input->param('index');
69     my $result  = $input->param('result');
70
71     my $dbh = C4::Context->dbh;
72
73     my ($template, $loggedinuser, $cookie) = get_template_and_user(
74         {   template_name   => "cataloguing/value_builder/marc21_field_006.tmpl",
75             query           => $input,
76             type            => "intranet",
77             authnotrequired => 0,
78             flagsrequired   => { editcatalogue => '*' },
79             debug           => 1,
80         }
81     );
82     $result = "a|||||r|||| 00| 0 " unless $result;
83
84     #   $result = "a     r     00  0 " unless $result;
85     my $f0   = substr($result, 0,  1);
86     my $f014 = substr($result, 1,  4);
87     my $f5   = substr($result, 5,  1);
88     my $f6   = substr($result, 6,  1);
89     my $f710 = substr($result, 7,  4);
90     my $f11  = substr($result, 11, 1);
91     my $f12  = substr($result, 12, 1);
92     my $f13  = substr($result, 13, 1);
93     my $f14  = substr($result, 14, 1);
94     my $f15  = substr($result, 15, 1);
95     my $f16  = substr($result, 16, 1);
96     my $f17  = substr($result, 17, 1);
97
98     $template->param(
99         index       => $index,
100         f0          => $f0,
101         "f0$f0"     => $f0,
102         f014        => $f014,
103         "f014$f014" => $f014,
104         f5          => $f5,
105         "f5$f5"     => $f5,
106         f6          => $f6,
107         "f6$f6"     => $f6,
108         f710        => $f710,
109         "f710$f710" => $f710,
110         f11         => $f11,
111         "f11$f11"   => $f11,
112         f12         => $f12,
113         "f12$f12"   => $f12,
114         f13         => $f13,
115         "f13$f13"   => $f13,
116         f14         => $f14,
117         "f14$f14"   => $f14,
118         f15         => $f15,
119         "f15$f15"   => $f15,
120         f16         => $f16,
121         "f16$f16"   => $f16,
122         f17         => $f17,
123         "f17$f17"   => $f17,
124     );
125     output_html_with_http_headers $input, $cookie, $template->output;
126 }
127
128 1;