Lines 1-5
Link Here
|
1 |
#!/usr/bin/perl |
1 |
#!/usr/bin/perl |
2 |
|
2 |
|
|
|
3 |
# Converted to new plugin style (Bug 13437) |
4 |
|
3 |
# Copyright 2009 Magnus Enger Libriotech |
5 |
# Copyright 2009 Magnus Enger Libriotech |
4 |
# |
6 |
# |
5 |
# This file is part of Koha. |
7 |
# This file is part of Koha. |
Lines 17-141
Link Here
|
17 |
# You should have received a copy of the GNU General Public License |
19 |
# You should have received a copy of the GNU General Public License |
18 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
20 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
19 |
|
21 |
|
20 |
use strict; |
22 |
use Modern::Perl; |
21 |
use C4::Auth; |
|
|
22 |
use CGI qw ( -utf8 ); |
23 |
use CGI qw ( -utf8 ); |
23 |
use C4::Context; |
|
|
24 |
|
24 |
|
25 |
use C4::Search; |
25 |
use C4::Auth; |
|
|
26 |
use C4::Context; |
26 |
use C4::Output; |
27 |
use C4::Output; |
27 |
|
28 |
|
28 |
sub plugin_javascript { |
29 |
my $builder = sub { |
29 |
my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_; |
30 |
my ( $params ) = @_; |
30 |
my $function_name= $field_number; |
31 |
my $function_name = $params->{id}; |
31 |
my $res=" |
32 |
my $res=" |
32 |
<script type=\"text/javascript\"> |
33 |
<script type=\"text/javascript\"> |
33 |
//<![CDATA[ |
34 |
//<![CDATA[ |
34 |
|
35 |
|
35 |
function Clic$function_name(i) { |
36 |
function Click$function_name(i) { |
36 |
defaultvalue=document.getElementById(\"$field_number\").value; |
37 |
defaultvalue=document.getElementById(\"$params->{id}\").value; |
37 |
newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_field_007.pl&index=$field_number&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes'); |
38 |
newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_field_007.pl&index=$params->{id}&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes'); |
38 |
|
39 |
|
39 |
} |
40 |
} |
40 |
//]]> |
41 |
//]]> |
41 |
</script> |
42 |
</script> |
42 |
"; |
43 |
"; |
|
|
44 |
return $res; |
45 |
}; |
43 |
|
46 |
|
44 |
return ($function_name,$res); |
47 |
my $launcher = sub { |
45 |
} |
48 |
my ( $params ) = @_; |
46 |
sub plugin { |
49 |
my $input = $params->{cgi}; |
47 |
my ($input) = @_; |
50 |
my $index= $input->param('index'); |
48 |
my $index= $input->param('index'); |
51 |
my $result= $input->param('result'); |
49 |
my $result= $input->param('result'); |
|
|
50 |
|
51 |
|
52 |
|
52 |
my $dbh = C4::Context->dbh; |
53 |
my $dbh = C4::Context->dbh; |
53 |
|
54 |
|
54 |
my ($template, $loggedinuser, $cookie) |
55 |
my ($template, $loggedinuser, $cookie) = get_template_and_user({ |
55 |
= get_template_and_user({template_name => "cataloguing/value_builder/normarc_field_007.tt", |
56 |
template_name => "cataloguing/value_builder/normarc_field_007.tt", |
56 |
query => $input, |
57 |
query => $input, |
57 |
type => "intranet", |
58 |
type => "intranet", |
58 |
authnotrequired => 0, |
59 |
authnotrequired => 0, |
59 |
flagsrequired => {editcatalogue => 1}, |
60 |
flagsrequired => {editcatalogue => 1}, |
60 |
debug => 1, |
61 |
debug => 1, |
61 |
}); |
62 |
}); |
62 |
$result = "ta" unless $result; |
63 |
$result = "ta" unless $result; |
63 |
my $f0 = substr($result,0,1); |
64 |
my $f0 = substr($result,0,1); |
64 |
my $f1 = substr($result,1,4); |
65 |
my $f1 = substr($result,1,4); |
65 |
#added new parameters to allow for all material types |
66 |
#added new parameters to allow for all material types |
66 |
my $f2 = substr($result,2,1); |
67 |
my $f2 = substr($result,2,1); |
67 |
my $f3 = substr($result,3,1); |
68 |
my $f3 = substr($result,3,1); |
68 |
my $f4 = substr($result,4,1); |
69 |
my $f4 = substr($result,4,1); |
69 |
my $f5 = substr($result,5,1); |
70 |
my $f5 = substr($result,5,1); |
70 |
my $f6 = substr($result,6,1); |
71 |
my $f6 = substr($result,6,1); |
71 |
my $f7 = substr($result,7,1); |
72 |
my $f7 = substr($result,7,1); |
72 |
my $f8 = substr($result,8,1); |
73 |
my $f8 = substr($result,8,1); |
73 |
my $f9 = substr($result,9,1); |
74 |
my $f9 = substr($result,9,1); |
74 |
my $f10 = substr($result,10,1); |
75 |
my $f10 = substr($result,10,1); |
75 |
my $f11 = substr($result,11,1); |
76 |
my $f11 = substr($result,11,1); |
76 |
my $f12 = substr($result,12,1); |
77 |
my $f12 = substr($result,12,1); |
77 |
my $f13 = substr($result,13,1); |
78 |
my $f13 = substr($result,13,1); |
78 |
my $f14 = substr($result,14,1); |
79 |
my $f14 = substr($result,14,1); |
79 |
my $f15 = substr($result,15,1); |
80 |
my $f15 = substr($result,15,1); |
80 |
my $f16 = substr($result,16,1); |
81 |
my $f16 = substr($result,16,1); |
81 |
my $f17 = substr($result,17,1); |
82 |
my $f17 = substr($result,17,1); |
82 |
my $f18 = substr($result,18,1); |
83 |
my $f18 = substr($result,18,1); |
83 |
my $f19 = substr($result,19,1); |
84 |
my $f19 = substr($result,19,1); |
84 |
my $f20 = substr($result,20,1); |
85 |
my $f20 = substr($result,20,1); |
85 |
my $f21 = substr($result,21,1); |
86 |
my $f21 = substr($result,21,1); |
86 |
my $f22 = substr($result,22,1); |
87 |
my $f22 = substr($result,22,1); |
87 |
#FIXME: There is probably a more-elegant way to do this! |
88 |
#FIXME: There is probably a more-elegant way to do this! |
88 |
#FIXME: Two of the material types treat position 06, 07, and 08 as a single |
89 |
#FIXME: Two of the material types treat position 06, 07, and 08 as a single |
89 |
#three-char field. This script works fine for creating values and sending them |
90 |
#three-char field. This script works fine for creating values and sending them |
90 |
#back to the MARC, but if there is already a value in the 007, it won't send |
91 |
#back to the MARC, but if there is already a value in the 007, it won't send |
91 |
#it properly to the value builder for those two instances. Not sure how to solve. |
92 |
#it properly to the value builder for those two instances. Not sure how to solve. |
92 |
$template->param( index => $index, |
93 |
$template->param( |
93 |
f0 => $f0, |
94 |
index => $index, |
94 |
"f0$f0" => $f0, |
95 |
f0 => $f0, |
95 |
f1 => $f1, |
96 |
"f0$f0" => $f0, |
96 |
"f1$f1" => $f1, |
97 |
f1 => $f1, |
97 |
f2 => $f2, |
98 |
"f1$f1" => $f1, |
98 |
"f2$f2" => $f2, |
99 |
f2 => $f2, |
99 |
f3 => $f3, |
100 |
"f2$f2" => $f2, |
100 |
"f3$f3" => $f3, |
101 |
f3 => $f3, |
101 |
f4 => $f4, |
102 |
"f3$f3" => $f3, |
102 |
"f4$f4" => $f4, |
103 |
f4 => $f4, |
103 |
f5 => $f5, |
104 |
"f4$f4" => $f4, |
104 |
"f5$f5" => $f5, |
105 |
f5 => $f5, |
105 |
f6 => $f6, |
106 |
"f5$f5" => $f5, |
106 |
"f6$f6" => $f6, |
107 |
f6 => $f6, |
107 |
f7 => $f7, |
108 |
"f6$f6" => $f6, |
108 |
"f7$f7" => $f7, |
109 |
f7 => $f7, |
109 |
f8 => $f8, |
110 |
"f7$f7" => $f7, |
110 |
"f8$f8" => $f8, |
111 |
f8 => $f8, |
111 |
f9 => $f9, |
112 |
"f8$f8" => $f8, |
112 |
"f9$f9" => $f9, |
113 |
f9 => $f9, |
113 |
f10 => $f10, |
114 |
"f9$f9" => $f9, |
114 |
"f10$f10" => $f10, |
115 |
f10 => $f10, |
115 |
f11 => $f11, |
116 |
"f10$f10" => $f10, |
116 |
"f11$f11" => $f11, |
117 |
f11 => $f11, |
117 |
f12 => $f12, |
118 |
"f11$f11" => $f11, |
118 |
"f12$f12" => $f12, |
119 |
f12 => $f12, |
119 |
f13 => $f13, |
120 |
"f12$f12" => $f12, |
120 |
"f13$f13" => $f13, |
121 |
f13 => $f13, |
121 |
f14 => $f14, |
122 |
"f13$f13" => $f13, |
122 |
"f14$f14" => $f14, |
123 |
f14 => $f14, |
123 |
f15 => $f15, |
124 |
"f14$f14" => $f14, |
124 |
"f15$f15" => $f15, |
125 |
f15 => $f15, |
125 |
f16 => $f16, |
126 |
"f15$f15" => $f15, |
126 |
"f16$f16" => $f16, |
127 |
f16 => $f16, |
127 |
f17 => $f17, |
128 |
"f16$f16" => $f16, |
128 |
"f17$f17" => $f17, |
129 |
f17 => $f17, |
129 |
f18 => $f18, |
130 |
"f17$f17" => $f17, |
130 |
"f18$f18" => $f18, |
131 |
f18 => $f18, |
131 |
f19 => $f19, |
132 |
"f18$f18" => $f18, |
132 |
"f19$f19" => $f19, |
133 |
f19 => $f19, |
133 |
f20 => $f20, |
134 |
"f19$f19" => $f19, |
134 |
"f20$f20" => $f20, |
135 |
f20 => $f20, |
135 |
f21 => $f21, |
136 |
"f20$f20" => $f20, |
136 |
"f21$f21" => $f21, |
137 |
f21 => $f21, |
137 |
f22 => $f22, |
138 |
"f21$f21" => $f21, |
138 |
"f22$f22" => $f22, |
139 |
f22 => $f22, |
139 |
); |
140 |
"f22$f22" => $f22, |
140 |
output_html_with_http_headers $input, $cookie, $template->output; |
141 |
); |
141 |
} |
142 |
output_html_with_http_headers $input, $cookie, $template->output; |
|
|
143 |
}; |
144 |
|
145 |
return { builder => $builder, launcher => $launcher }; |