From 326ae9e8736f515aaee35312cbd90b4c10757eb6 Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Mon, 8 Aug 2011 21:35:32 +1200 Subject: [PATCH] Bug 6679 : scripts under admin style fixed Contrary to common belief, subroutine prototypes do not enable compile-time checks for proper arguments. Don't use them. Defining a named sub within another sub, does not prevent that subroutine being global --- admin/authorised_values.pl | 2 +- admin/preferences.pl | 19 +++++++++---------- t/00-testcritic.t | 2 +- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/admin/authorised_values.pl b/admin/authorised_values.pl index c26f3a9..d7872d6 100755 --- a/admin/authorised_values.pl +++ b/admin/authorised_values.pl @@ -27,7 +27,7 @@ use C4::Koha; use C4::Output; -sub AuthorizedValuesForCategory ($) { +sub AuthorizedValuesForCategory { my ($searchstring) = shift or return; my $dbh = C4::Context->dbh; $searchstring=~ s/\'/\\\'/g; diff --git a/admin/preferences.pl b/admin/preferences.pl index d523c75..f4d1823 100755 --- a/admin/preferences.pl +++ b/admin/preferences.pl @@ -194,12 +194,6 @@ sub SearchPrefs { my %tab_files = _get_pref_files( $input ); our @terms = split( /\s+/, $searchfield ); - sub matches { - my ( $text ) = @_; - - return !grep( { $text !~ /$_/i } @terms ); - } - foreach my $tab_name ( keys %tab_files ) { my $data = GetTab( $input, $tab_name ); my $title = ( keys( %$data ) )[0]; @@ -209,7 +203,7 @@ sub SearchPrefs { my $matched_groups; while ( my ( $group_title, $contents ) = each %$tab ) { - if ( matches( $group_title ) ) { + if ( matches( $group_title, \@terms ) ) { $matched_groups->{$group_title} = $contents; next; } @@ -225,12 +219,12 @@ sub SearchPrefs { my ( undef, $LINES ) = TransformPrefsToHTML( $data, $searchfield ); return { search_jumped => 1, tab => $tab_name, tab_title => $title, LINES => $LINES }; - } elsif ( matches( $piece->{'pref'} ) ) { + } elsif ( matches( $piece->{'pref'}, \@terms) ) { $matched = 1; - } elsif ( ref( $piece->{'choices'} ) eq 'HASH' && grep( { $_ && matches( $_ ) } values( %{ $piece->{'choices'} } ) ) ) { + } elsif ( ref( $piece->{'choices'} ) eq 'HASH' && grep( { $_ && matches( $_, \@terms ) } values( %{ $piece->{'choices'} } ) ) ) { $matched = 1; } - } elsif ( matches( $piece ) ) { + } elsif ( matches( $piece, \@terms ) ) { $matched = 1; } last if ( $matched ); @@ -252,6 +246,11 @@ sub SearchPrefs { return @tabs; } +sub matches { + my ( $text, $terms ) = @_; + return !grep( { $text !~ /$_/i } @$terms ); +} + my $dbh = C4::Context->dbh; our $input = new CGI; diff --git a/t/00-testcritic.t b/t/00-testcritic.t index 4a285b3..bc7a3cd 100755 --- a/t/00-testcritic.t +++ b/t/00-testcritic.t @@ -16,7 +16,7 @@ my @all_koha_dirs = qw( acqui admin authorities basket C4 catalogue cataloguing labels members misc offline_circ opac patroncards reports reserve reviews rotating_collections serials sms suggestion t tags test tools virtualshelves); -my @dirs = qw( acqui basket circ debian errors offline_circ reserve reviews rotating_collections +my @dirs = qw( acqui admin basket circ debian errors offline_circ reserve reviews rotating_collections serials sms virtualshelves ); if ( not $ENV{TEST_QA} ) { -- 1.7.4.1