From 1d27176daef5f543a68171a6bdcd0ccb3dd34806 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Fri, 7 Nov 2014 15:45:08 +0100 Subject: [PATCH] Bug 13223: Plugin housekeeping: do not redefine wrapper Content-Type: text/plain; charset=utf-8 This report is connected to bug 10480 which will change the general mechanism of loading plugins, but can be tested independently and ahead of that proposed change. Several unimarc plugins use a wrapper sub. The code of this subroutine is not exactly the same for all plugins: in some cases the routine is extended for double character strings (dblspace and dblpipe). It would not hurt to use the extended code for all plugins. By moving the code to a module in the local dir, we prevent redefinition when two or more plugins are loading wrapper in a do-statement. NOTE: You will not see wrapper redefine errors in your log, since the plugins do not use the warnings pragma (yet). Since this patch touches seventeen unimarc plugins, a unimarc signoff is preferred :) Test plan: Use some plugins changed in this patch (if not in use already). Load the MARC editor. Click on some tag editor-buttons to check unchanged behavior. --- cataloguing/value_builder/unimarc_field_100.pl | 9 ++------- .../value_builder/unimarc_field_100_authorities.pl | 9 ++------- cataloguing/value_builder/unimarc_field_105.pl | 8 ++------ cataloguing/value_builder/unimarc_field_110.pl | 8 ++------ cataloguing/value_builder/unimarc_field_115a.pl | 8 ++------ cataloguing/value_builder/unimarc_field_115b.pl | 8 ++------ cataloguing/value_builder/unimarc_field_116.pl | 10 ++-------- cataloguing/value_builder/unimarc_field_117.pl | 10 ++-------- cataloguing/value_builder/unimarc_field_120.pl | 9 ++------- cataloguing/value_builder/unimarc_field_121a.pl | 8 ++------ cataloguing/value_builder/unimarc_field_125b.pl | 8 ++------ cataloguing/value_builder/unimarc_field_126a.pl | 8 ++------ cataloguing/value_builder/unimarc_field_128b.pl | 7 ++----- cataloguing/value_builder/unimarc_field_130.pl | 8 ++------ cataloguing/value_builder/unimarc_field_135a.pl | 8 ++------ cataloguing/value_builder/unimarc_field_140.pl | 9 ++------- cataloguing/value_builder/unimarc_leader.pl | 8 ++------ cataloguing/value_builder/wrapper.pm | 12 ++++++++++++ 18 files changed, 46 insertions(+), 109 deletions(-) create mode 100644 cataloguing/value_builder/wrapper.pm diff --git a/cataloguing/value_builder/unimarc_field_100.pl b/cataloguing/value_builder/unimarc_field_100.pl index 6a660d3..20d8a6e 100755 --- a/cataloguing/value_builder/unimarc_field_100.pl +++ b/cataloguing/value_builder/unimarc_field_100.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -67,13 +69,6 @@ sub plugin_javascript { return ( $field_number, $res ); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "dblspace" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_100_authorities.pl b/cataloguing/value_builder/unimarc_field_100_authorities.pl index d929e88..e320415 100644 --- a/cataloguing/value_builder/unimarc_field_100_authorities.pl +++ b/cataloguing/value_builder/unimarc_field_100_authorities.pl @@ -18,6 +18,8 @@ # along with Koha; if not, see . use Modern::Perl; + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -65,13 +67,6 @@ sub plugin_javascript { return ( $field_number, $res ); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "dblspace" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_105.pl b/cataloguing/value_builder/unimarc_field_105.pl index ec6d967..f7a7b3d 100755 --- a/cataloguing/value_builder/unimarc_field_105.pl +++ b/cataloguing/value_builder/unimarc_field_105.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -63,12 +65,6 @@ sub plugin_javascript { return ($field_number,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_110.pl b/cataloguing/value_builder/unimarc_field_110.pl index a2a866b..60ad1b7 100755 --- a/cataloguing/value_builder/unimarc_field_110.pl +++ b/cataloguing/value_builder/unimarc_field_110.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -63,12 +65,6 @@ sub plugin_javascript { return ($field_number,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_115a.pl b/cataloguing/value_builder/unimarc_field_115a.pl index dda2e91..66ae273 100755 --- a/cataloguing/value_builder/unimarc_field_115a.pl +++ b/cataloguing/value_builder/unimarc_field_115a.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -69,12 +71,6 @@ sub plugin_javascript { return ( $field_number, $res ); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_115b.pl b/cataloguing/value_builder/unimarc_field_115b.pl index 32cdfb1..bd4e260 100755 --- a/cataloguing/value_builder/unimarc_field_115b.pl +++ b/cataloguing/value_builder/unimarc_field_115b.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -63,12 +65,6 @@ function Clic$field_number() { return ( $field_number, $res ); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_116.pl b/cataloguing/value_builder/unimarc_field_116.pl index 389ee21..81d6ce0 100755 --- a/cataloguing/value_builder/unimarc_field_116.pl +++ b/cataloguing/value_builder/unimarc_field_116.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -63,14 +65,6 @@ function Clic$field_number(i) { return ( $field_number, $res ); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "dblspace" if $char eq " "; - return "pipe" if $char eq "|"; - return "dblpipe" if $char eq "||"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_117.pl b/cataloguing/value_builder/unimarc_field_117.pl index cc558cf..08283a1 100755 --- a/cataloguing/value_builder/unimarc_field_117.pl +++ b/cataloguing/value_builder/unimarc_field_117.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -63,14 +65,6 @@ function Clic$field_number(i) { return ($field_number,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "dblspace" if $char eq " "; - return "pipe" if $char eq "|"; - return "dblpipe" if $char eq "||"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_120.pl b/cataloguing/value_builder/unimarc_field_120.pl index 26d9521..44b2839 100755 --- a/cataloguing/value_builder/unimarc_field_120.pl +++ b/cataloguing/value_builder/unimarc_field_120.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -64,13 +66,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "dblspace" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_121a.pl b/cataloguing/value_builder/unimarc_field_121a.pl index 9918697..eed0cf1 100755 --- a/cataloguing/value_builder/unimarc_field_121a.pl +++ b/cataloguing/value_builder/unimarc_field_121a.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -64,12 +66,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_125b.pl b/cataloguing/value_builder/unimarc_field_125b.pl index ea3efcb..bfc13ae 100755 --- a/cataloguing/value_builder/unimarc_field_125b.pl +++ b/cataloguing/value_builder/unimarc_field_125b.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -61,12 +63,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_126a.pl b/cataloguing/value_builder/unimarc_field_126a.pl index 17da533..3aac4b8 100755 --- a/cataloguing/value_builder/unimarc_field_126a.pl +++ b/cataloguing/value_builder/unimarc_field_126a.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -61,12 +63,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_128b.pl b/cataloguing/value_builder/unimarc_field_128b.pl index 94eafa0..9b05123 100755 --- a/cataloguing/value_builder/unimarc_field_128b.pl +++ b/cataloguing/value_builder/unimarc_field_128b.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -61,11 +63,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "dblpipe" if $char eq "||"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_130.pl b/cataloguing/value_builder/unimarc_field_130.pl index 6441ecd..0fb3c3d 100755 --- a/cataloguing/value_builder/unimarc_field_130.pl +++ b/cataloguing/value_builder/unimarc_field_130.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -62,12 +64,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_135a.pl b/cataloguing/value_builder/unimarc_field_135a.pl index fab677d..6f7e7b3 100755 --- a/cataloguing/value_builder/unimarc_field_135a.pl +++ b/cataloguing/value_builder/unimarc_field_135a.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -64,12 +66,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_field_140.pl b/cataloguing/value_builder/unimarc_field_140.pl index 524f0dc..ced026a 100755 --- a/cataloguing/value_builder/unimarc_field_140.pl +++ b/cataloguing/value_builder/unimarc_field_140.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -64,13 +66,6 @@ function Clic$function_name(i) { return ($function_name,$res); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "dblspace" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/unimarc_leader.pl b/cataloguing/value_builder/unimarc_leader.pl index 497d9a7..6bcafc3 100755 --- a/cataloguing/value_builder/unimarc_leader.pl +++ b/cataloguing/value_builder/unimarc_leader.pl @@ -20,6 +20,8 @@ use strict; #use warnings; FIXME - Bug 2505 + +use cataloguing::value_builder::wrapper; use C4::Auth; use CGI; use C4::Context; @@ -68,12 +70,6 @@ function Clic$function_name(i) { return ( $function_name, $res ); } -sub wrapper { - my ($char) = @_; - return "space" if $char eq " "; - return "pipe" if $char eq "|"; - return $char; -} sub plugin { my ($input) = @_; diff --git a/cataloguing/value_builder/wrapper.pm b/cataloguing/value_builder/wrapper.pm new file mode 100644 index 0000000..67e84da --- /dev/null +++ b/cataloguing/value_builder/wrapper.pm @@ -0,0 +1,12 @@ +use Modern::Perl; + +sub wrapper { + my ( $str ) = @_; + return "space" if $str eq " "; + return "dblspace" if $str eq " "; + return "pipe" if $str eq "|"; + return "dblpipe" if $str eq "||"; + return $str; +} + +1; -- 1.7.7.6