View | Details | Raw Unified | Return to bug 13438
Collapse All | Expand All

(-)a/cataloguing/value_builder/normarc_field_007.pl (-101 / +105 lines)
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 };
(-)a/cataloguing/value_builder/normarc_field_008.pl (-30 / +40 lines)
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-77 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
# find today's date
29
sub date_entered {
29
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
30
    # find today's date
31
    my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =
32
        localtime(time);
33
    $year += 1900;
34
    $mon  += 1;
35
    return substr($year, 2, 2) . sprintf("%0.2d", $mon) .
36
        sprintf("%0.2d", $mday);
37
}
30
38
31
$year += 1900;
39
my $builder = sub {
32
$mon  += 1;
40
    my ( $params ) = @_;
33
my $dateentered = substr($year, 2, 2) . sprintf("%0.2d", $mon) . sprintf("%0.2d", $mday);
41
    my $function_name = $params->{id};
42
    my $dateentered = date_entered();
34
43
35
sub plugin_javascript {
36
    my $lang = C4::Context->preference('DefaultLanguageField008' );
44
    my $lang = C4::Context->preference('DefaultLanguageField008' );
37
    $lang = "eng" unless $lang;
45
    $lang = "eng" unless $lang;
38
    $lang = pack("A3", $lang);
46
    $lang = pack("A3", $lang);
39
    my ($dbh, $record, $tagslib, $field_number, $tabloop) = @_;
47
    my $res = "
40
    my $function_name = $field_number;
41
    my $res           = "
42
<script type=\"text/javascript\">
48
<script type=\"text/javascript\">
43
//<![CDATA[
49
//<![CDATA[
44
50
45
function Focus$function_name(subfield_managed) {
51
function Focus$function_name(subfield_managed) {
46
52
47
	if ( document.getElementById(\"$field_number\").value ) {
53
    if ( document.getElementById(\"$params->{id}\").value ) {
48
	}
54
    }
49
	else {
55
    else {
50
        document.getElementById(\"$field_number\").value='$dateentered' + 't        no ||||| |||| 00| 0 $lang d';
56
        document.getElementById(\"$params->{id}\").value='$dateentered' + 't        no ||||| |||| 00| 0 $lang d';
51
	}
57
    }
52
    return 1;
58
    return 1;
53
}
59
}
54
60
55
function Clic$function_name(i) {
61
function Click$function_name(i) {
56
	defaultvalue=document.getElementById(\"$field_number\").value;
62
    defaultvalue=document.getElementById(\"$params->{id}\").value;
57
	defaultvalue=defaultvalue.replace(/ /g, \"+\");
63
    defaultvalue=defaultvalue.replace(/ /g, \"+\");
58
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_field_008.pl&index=$field_number&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
64
    newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_field_008.pl&index=$params->{id}&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
59
65
60
}
66
}
61
//]]>
67
//]]>
62
</script>
68
</script>
63
";
69
";
70
    return $res;
71
};
64
72
65
    return ($function_name, $res);
73
my $launcher = sub {
66
}
74
    my ( $params ) = @_;
75
    my $input = $params->{cgi};
76
    my $index   = $input->param('index');
77
    my $result  = $input->param('result');
78
    my $dateentered = date_entered();
67
79
68
sub plugin {
69
    my $lang = C4::Context->preference('DefaultLanguageField008' );
80
    my $lang = C4::Context->preference('DefaultLanguageField008' );
70
    $lang = "eng" unless $lang;
81
    $lang = "eng" unless $lang;
71
    $lang = pack("A3", $lang);
82
    $lang = pack("A3", $lang);
72
    my ($input) = @_;
73
    my $index   = $input->param('index');
74
    my $result  = $input->param('result');
75
83
76
    my $dbh = C4::Context->dbh;
84
    my $dbh = C4::Context->dbh;
77
85
Lines 85-91 sub plugin { Link Here
85
        }
93
        }
86
    );
94
    );
87
95
88
    #	$result = "      t        xxu           00  0 eng d" unless $result;
96
    #    $result = "      t        xxu           00  0 eng d" unless $result;
89
    $result = "$dateentered" . "t        no ||||| |||| 00| 0 $lang d" unless $result;
97
    $result = "$dateentered" . "t        no ||||| |||| 00| 0 $lang d" unless $result;
90
    my $f1    = substr($result, 0,  6);
98
    my $f1    = substr($result, 0,  6);
91
    my $f6    = substr($result, 6,  1);
99
    my $f6    = substr($result, 6,  1);
Lines 170-173 sub plugin { Link Here
170
        "f39$f39"   => $f39,
178
        "f39$f39"   => $f39,
171
    );
179
    );
172
    output_html_with_http_headers $input, $cookie, $template->output;
180
    output_html_with_http_headers $input, $cookie, $template->output;
173
}
181
};
182
183
return { builder => $builder, launcher => $launcher };
(-)a/cataloguing/value_builder/normarc_leader.pl (-51 / +54 lines)
Lines 1-5 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
2
3
# Converted to new plugin style (Bug 13437)
3
4
4
# Copyright 2000-2002 Katipo Communications
5
# Copyright 2000-2002 Katipo Communications
5
#
6
#
Lines 18-90 Link Here
18
# 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
19
# along with Koha; if not, see <http://www.gnu.org/licenses>.
20
# along with Koha; if not, see <http://www.gnu.org/licenses>.
20
21
21
use strict;
22
use Modern::Perl;
22
use C4::Auth;
23
use CGI qw ( -utf8 );
23
use CGI qw ( -utf8 );
24
use C4::Context;
25
24
26
use C4::Search;
25
use C4::Auth;
26
use C4::Context;
27
use C4::Output;
27
use C4::Output;
28
28
29
sub plugin_javascript {
29
my $builder = sub {
30
my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
30
    my ( $params ) = @_;
31
my $function_name= $field_number;
31
    my $function_name = $params->{id};
32
my $res="
32
33
<script type=\"text/javascript\">
33
    my $res="<script type=\"text/javascript\">
34
//<![CDATA[
34
//<![CDATA[
35
35
36
function Focus$function_name(subfield_managed) {
36
function Focus$function_name(subfield_managed) {
37
    if(!document.getElementById(\"$field_number\").value){
37
    if(!document.getElementById(\"$params->{id}\").value){
38
        document.getElementById(\"$field_number\").value = '     nam a22     1  4500';
38
        document.getElementById(\"$params->{id}\").value = '     nam a22     1  4500';
39
    }
39
    }
40
    return 1;
40
    return 1;
41
}
41
}
42
42
43
function Clic$function_name(i) {
43
function Click$function_name(i) {
44
	defaultvalue=document.getElementById(\"$field_number\").value;
44
    defaultvalue=document.getElementById(\"$params->{id}\").value;
45
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_leader.pl&index=$field_number&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
45
    newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_leader.pl&index=$params->{id}&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
46
46
47
}
47
}
48
//]]>
48
//]]>
49
</script>
49
</script>
50
";
50
";
51
51
52
return ($function_name,$res);
52
    return $res;
53
}
53
};
54
sub plugin {
55
my ($input) = @_;
56
	my $index= $input->param('index');
57
	my $result= $input->param('result');
58
54
55
my $launcher = sub {
56
    my ( $params ) = @_;
57
    my $input = $params->{cgi};
58
    my $index= $input->param('index');
59
    my $result= $input->param('result');
59
60
60
	my $dbh = C4::Context->dbh;
61
    my $dbh = C4::Context->dbh;
61
62
62
my ($template, $loggedinuser, $cookie)
63
    my ($template, $loggedinuser, $cookie) = get_template_and_user({
63
    = get_template_and_user({template_name => "cataloguing/value_builder/normarc_leader.tt",
64
        template_name => "cataloguing/value_builder/normarc_leader.tt",
64
			     query => $input,
65
        query => $input,
65
			     type => "intranet",
66
        type => "intranet",
66
			     authnotrequired => 0,
67
        authnotrequired => 0,
67
			     flagsrequired => {editcatalogue => 1},
68
        flagsrequired => {editcatalogue => 1},
68
			     debug => 1,
69
        debug => 1,
69
			     });
70
    });
70
	$result = "     nam a22     1  4500" unless $result;
71
71
	my $f5 = substr($result,5,1);
72
    $result = "     nam a22     1  4500" unless $result;
72
	my $f6 = substr($result,6,1);
73
    my $f5 = substr($result,5,1);
73
	my $f7 = substr($result,7,1);
74
    my $f6 = substr($result,6,1);
74
	my $f8 = substr($result,8,1);
75
    my $f7 = substr($result,7,1);
75
	my $f17 = substr($result,17,1);
76
    my $f8 = substr($result,8,1);
76
	my $f18 = substr($result,18,1);
77
    my $f17 = substr($result,17,1);
77
	my $f19 = substr($result,19,1);
78
    my $f18 = substr($result,18,1);
78
	my $f2023 = substr($result,20,4);
79
    my $f19 = substr($result,19,1);
79
	$template->param(index => $index,
80
    my $f2023 = substr($result,20,4);
80
							"f5$f5" => 1,
81
    $template->param(index => $index,
81
							"f6$f6" => 1,
82
        "f5$f5" => 1,
82
							"f7$f7" => 1,
83
        "f6$f6" => 1,
83
							"f8$f8" => 1,
84
        "f7$f7" => 1,
84
							"f17$f17" => 1,
85
        "f8$f8" => 1,
85
							"f18$f18" => 1,
86
        "f17$f17" => 1,
86
							"f19$f19" => 1,
87
        "f18$f18" => 1,
87
							"f2023" => $f2023,
88
        "f19$f19" => 1,
88
					);
89
        "f2023" => $f2023,
89
        output_html_with_http_headers $input, $cookie, $template->output;
90
    );
90
}
91
    output_html_with_http_headers $input, $cookie, $template->output;
92
};
93
94
return { builder => $builder, launcher => $launcher };
91
- 

Return to bug 13438