From 731da9e7fe268a269129c83e2332a8e7e5a926c0 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 1 Apr 2015 13:58:50 +0200 Subject: [PATCH] Bug 9006: Remove AUTOLOAD in C4::Context Happily this was only used for intranetdir. It's time to remove it and replace existing calls. I used the following commands to catch calls to C4::Context: git grep 'C4::Context\->' | grep -v 'C4::Context->preference' | grep -v 'C4::Context->config' | grep -v 'C4::Context->userenv' | grep -v 'C4::Context->IsSuperLibrarian' | grep -v 'C4::Context->dbh' | grep -v 'C4::Context->set_preference' | grep -v '_syspref_cache' | grep -v _userenv | grep -v 'C4::Context->interface' | grep -v 'C4::Context->Zconn' | grep -v 'C4::Context->queryparser' | grep -v 'C4::Context->tz' | grep -v 'C4::Context->boolean_preference' | grep -v 'C4::Context->memcached' --- C4/Context.pm | 20 +------------------- C4/Items.pm | 2 +- admin/auth_subfields_structure.pl | 4 ++-- admin/marc_subfields_structure.pl | 4 ++-- authorities/authorities.pl | 4 ++-- cataloguing/addbiblio.pl | 4 ++-- cataloguing/additem.pl | 2 +- cataloguing/plugin_launcher.pl | 4 ++-- reports/manager.pl | 2 +- tools/batchMod.pl | 2 +- 10 files changed, 15 insertions(+), 33 deletions(-) diff --git a/C4/Context.pm b/C4/Context.pm index cc93af4..1965284 100644 --- a/C4/Context.pm +++ b/C4/Context.pm @@ -211,7 +211,7 @@ returns the kohaversion stored in kohaversion.pl file =cut sub KOHAVERSION { - my $cgidir = C4::Context->intranetdir; + my $cgidir = C4::Context->config('intranetdir'); # Apparently the GIT code does not run out of a CGI-BIN subdirectory # but distribution code does? (Stan, 1jan08) @@ -651,24 +651,6 @@ sub set_preference { $sth->finish; } -# AUTOLOAD -# This implements C4::Config->foo, and simply returns -# C4::Context->config("foo"), as described in the documentation for -# &config, above. - -# FIXME - Perhaps this should be extended to check &config first, and -# then &preference if that fails. OTOH, AUTOLOAD could lead to crappy -# code, so it'd probably be best to delete it altogether so as not to -# encourage people to use it. -sub AUTOLOAD -{ - my $self = shift; - - $AUTOLOAD =~ s/.*:://; # Chop off the package name, - # leaving only the function name. - return $self->config($AUTOLOAD); -} - =head2 Zconn $Zconn = C4::Context->Zconn diff --git a/C4/Items.pm b/C4/Items.pm index 845bc70..29a94ef 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -3032,7 +3032,7 @@ sub PrepareItemrecordDisplay { }; } elsif ( $tagslib->{$tag}->{$subfield}->{value_builder} ) { # opening plugin - my $plugin = C4::Context->intranetdir . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'}; + my $plugin = C4::Context->config('intranetdir') . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'}; if (do $plugin) { my $extended_param = plugin_parameters( $dbh, undef, $tagslib, $subfield_data{id}, undef ); my ( $function_name, $javascript ) = plugin_javascript( $dbh, undef, $tagslib, $subfield_data{id}, undef ); diff --git a/admin/auth_subfields_structure.pl b/admin/auth_subfields_structure.pl index 1a2ec15..311e0c5 100755 --- a/admin/auth_subfields_structure.pl +++ b/admin/auth_subfields_structure.pl @@ -108,9 +108,9 @@ if ($op eq 'add_form') { # 2 cases here : on CVS install, $cgidir does not need a /cgi-bin # on a standard install, /cgi-bin need to be added. # test one, then the other - my $cgidir = C4::Context->intranetdir ."/cgi-bin"; + my $cgidir = C4::Context->config('intranetdir') ."/cgi-bin"; unless (opendir(DIR, "$cgidir/cataloguing/value_builder")) { - $cgidir = C4::Context->intranetdir; + $cgidir = C4::Context->config('intranetdir'); opendir(DIR, "$cgidir/cataloguing/value_builder") || die "can't opendir $cgidir/value_builder: $!"; } while (my $line = readdir(DIR)) { diff --git a/admin/marc_subfields_structure.pl b/admin/marc_subfields_structure.pl index 5261dd4..07cec48 100755 --- a/admin/marc_subfields_structure.pl +++ b/admin/marc_subfields_structure.pl @@ -154,9 +154,9 @@ if ( $op eq 'add_form' ) { # 2 cases here : on CVS install, $cgidir does not need a /cgi-bin # on a standard install, /cgi-bin need to be added. # test one, then the other - my $cgidir = C4::Context->intranetdir . "/cgi-bin"; + my $cgidir = C4::Context->config('intranetdir') . "/cgi-bin"; unless ( opendir( DIR, "$cgidir/cataloguing/value_builder" ) ) { - $cgidir = C4::Context->intranetdir; + $cgidir = C4::Context->config('intranetdir'); opendir( DIR, "$cgidir/cataloguing/value_builder" ) || die "can't opendir $cgidir/value_builder: $!"; } diff --git a/authorities/authorities.pl b/authorities/authorities.pl index f9a79ad..c057ccd 100755 --- a/authorities/authorities.pl +++ b/authorities/authorities.pl @@ -218,9 +218,9 @@ sub create_input { # opening plugin. Just check whether we are on a developer computer on a production one # (the cgidir differs) - my $cgidir = C4::Context->intranetdir . "/cgi-bin/cataloguing/value_builder"; + my $cgidir = C4::Context->config('intranetdir') . "/cgi-bin/cataloguing/value_builder"; unless (-r $cgidir and -d $cgidir) { - $cgidir = C4::Context->intranetdir . "/cataloguing/value_builder"; + $cgidir = C4::Context->config('intranetdir') . "/cataloguing/value_builder"; } my $plugin = $cgidir . "/" . $tagslib->{$tag}->{$subfield}->{'value_builder'}; do $plugin || die "Plugin Failed: ".$plugin; diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl index 93ef3ef..f1c9ff5 100755 --- a/cataloguing/addbiblio.pl +++ b/cataloguing/addbiblio.pl @@ -396,9 +396,9 @@ sub create_input { # opening plugin. Just check whether we are on a developer computer on a production one # (the cgidir differs) - my $cgidir = C4::Context->intranetdir . "/cgi-bin/cataloguing/value_builder"; + my $cgidir = C4::Context->config('intranetdir') . "/cgi-bin/cataloguing/value_builder"; unless ( opendir( DIR, "$cgidir" ) ) { - $cgidir = C4::Context->intranetdir . "/cataloguing/value_builder"; + $cgidir = C4::Context->config('intranetdir') . "/cataloguing/value_builder"; closedir( DIR ); } my $plugin = $cgidir . "/" . $tagslib->{$tag}->{$subfield}->{'value_builder'}; diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl index 6ff3bbd..30a14d2 100755 --- a/cataloguing/additem.pl +++ b/cataloguing/additem.pl @@ -269,7 +269,7 @@ sub generate_subfield_form { # it's a plugin field elsif ( $subfieldlib->{value_builder} ) { # opening plugin - my $plugin = C4::Context->intranetdir . "/cataloguing/value_builder/" . $subfieldlib->{'value_builder'}; + my $plugin = C4::Context->config('intranetdir') . "/cataloguing/value_builder/" . $subfieldlib->{'value_builder'}; if (do $plugin) { my $extended_param = plugin_parameters( $dbh, $temp, $tagslib, $subfield_data{id}, $loop_data ); my ( $function_name, $javascript ) = plugin_javascript( $dbh, $temp, $tagslib, $subfield_data{id}, $loop_data ); diff --git a/cataloguing/plugin_launcher.pl b/cataloguing/plugin_launcher.pl index 50aeb32..b9b185f 100755 --- a/cataloguing/plugin_launcher.pl +++ b/cataloguing/plugin_launcher.pl @@ -29,10 +29,10 @@ my $plugin_name="cataloguing/value_builder/".$input->param("plugin_name"); # opening plugin. Just check whether we are on a developer computer on a production one # (the cgidir differs) -my $cgidir = C4::Context->intranetdir ."/cgi-bin"; +my $cgidir = C4::Context->config('intranetdir') ."/cgi-bin"; my $vbdir = "$cgidir/cataloguing/value_builder"; unless (-r $vbdir and -d $vbdir) { - $cgidir = C4::Context->intranetdir; + $cgidir = C4::Context->config('intranetdir'); } do $cgidir."/".$plugin_name; &plugin($input); diff --git a/reports/manager.pl b/reports/manager.pl index 7a91e9e..057fcba 100755 --- a/reports/manager.pl +++ b/reports/manager.pl @@ -44,7 +44,7 @@ $template->param(do_it => $do_it, ); my $cgidir = C4::Context->config('intranetdir')."/cgi-bin/reports/"; unless (-r $cgidir and -d $cgidir) { - $cgidir = C4::Context->intranetdir."/reports/"; + $cgidir = C4::Context->config('intranetdir')."/reports/"; } my $plugin = $cgidir.$report_name.".plugin"; require $plugin; diff --git a/tools/batchMod.pl b/tools/batchMod.pl index 4ff95e8..bbe2cf5 100755 --- a/tools/batchMod.pl +++ b/tools/batchMod.pl @@ -415,7 +415,7 @@ foreach my $tag (sort keys %{$tagslib}) { } elsif ( $tagslib->{$tag}->{$subfield}->{value_builder} ) { # opening plugin - my $plugin = C4::Context->intranetdir . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'}; + my $plugin = C4::Context->config('intranetdir') . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'}; if (do $plugin) { my $temp; my $extended_param = plugin_parameters( $dbh, $temp, $tagslib, $subfield_data{id}, \@loop_data ); -- 2.1.0