Marcel de Rooy
964fae60ee
This patch converts marc21 plugins to new style by making the following modifications: [1] Replace use strict with use Modern::Perl. This implies that we now re-enabled warnings. There are no redefine warnings anymore, but note that we need to silence some warnings from individual plugins that were covered by disabling the warnings pragma until now. Silencing these individual warnings is outside the scope of this report. [2] Sub plugin_javascript is replaced by an anonymous subroutine $builder. [3] The parameters of $builder are combined in a params hashref. In most cases we only need $params->{id} for the function name. [4] Javascript function Clicxxx is renamed to Clickxxx. [5] The builder does no longer return function_name. [6] Sub plugin is replaced by subroutine $launcher. [7] The parameters of $launcher are combined in a params hashref. We only use $params->{cgi}. Mostly we save that to $input. One exception: $query. [8] The plugins returns a hash with $builder and/or $launcher. Test plan: [1] Run t/db_dependent/FrameworkPlugin.t -incl cataloguing/value_builder/ marc21*.pl. This should catch compile errors and general problems when building or launching these plugins. NOTE: You will see several initialize warnings from individual plugins that were hidden until now by disabling warnings. This is fine; we will be able to address these warnings now on new reports. [2] Check behavior of several plugins in the marc editor. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Checked all marc21 plugins. Attached unused plugins to some field. Some plugins (unused by default) may need some further attention, but also outside the scope of this report. Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> New warnigs, but all seems to work. No errors. Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
95 lines
No EOL
2.8 KiB
Perl
Executable file
95 lines
No EOL
2.8 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Converted to new plugin style (Bug 13437)
|
|
|
|
# Copyright 2000-2002 Katipo Communications
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
|
|
|
use Modern::Perl;
|
|
|
|
use C4::Auth;
|
|
use CGI qw ( -utf8 );
|
|
use C4::Context;
|
|
|
|
use C4::Search;
|
|
use C4::Output;
|
|
|
|
my $builder = sub {
|
|
my ( $params ) = @_;
|
|
my $function_name = $params->{id};
|
|
my $res = "
|
|
<script type=\"text/javascript\">
|
|
//<![CDATA[
|
|
|
|
function Focus$function_name(subfield_managed) {
|
|
if(!document.getElementById(\"$params->{id}\").value){
|
|
document.getElementById(\"$params->{id}\").value = ' nz a22 n 4500';
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
function Click$function_name(i) {
|
|
defaultvalue=document.getElementById(\"$params->{id}\").value;
|
|
newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_leader_authorities.pl&index=$params->{id}&result=\"+defaultvalue,\"tag_editor\",'width=1000,height=600,toolbar=false,scrollbars=yes');
|
|
|
|
}
|
|
//]]>
|
|
</script>
|
|
";
|
|
|
|
return $res;
|
|
};
|
|
|
|
my $launcher = sub {
|
|
my ( $params ) = @_;
|
|
my $input = $params->{cgi};
|
|
my $index = $input->param('index');
|
|
my $result = $input->param('result');
|
|
|
|
my $dbh = C4::Context->dbh;
|
|
|
|
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|
{ template_name => "cataloguing/value_builder/marc21_leader_authorities.tt",
|
|
query => $input,
|
|
type => "intranet",
|
|
authnotrequired => 0,
|
|
flagsrequired => { editcatalogue => '*' },
|
|
debug => 1,
|
|
}
|
|
);
|
|
$result = " nz a22 n 4500" unless $result;
|
|
my $f5 = substr( $result, 5, 1 );
|
|
my $f6 = substr( $result, 6, 1 );
|
|
my $f7 = substr( $result, 7, 1 );
|
|
my $f8 = substr( $result, 8, 1 );
|
|
my $f9 = substr( $result, 9, 1 );
|
|
my $f17 = substr( $result, 17, 1 );
|
|
my $f2023 = substr( $result, 20, 4 );
|
|
$template->param(
|
|
index => $index,
|
|
"f5$f5" => 1,
|
|
"f6$f6" => 1,
|
|
"f7$f7" => 1,
|
|
"f8$f8" => 1,
|
|
"f9$f9" => 1,
|
|
"f17$f17" => 1,
|
|
"f2023" => $f2023,
|
|
);
|
|
output_html_with_http_headers $input, $cookie, $template->output;
|
|
};
|
|
|
|
return { builder => $builder, launcher => $launcher }; |