|
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 }; |