package C4::Boolean;
-
#package to handle Boolean values in the parameters table
# Note: This is just a utility module; it should not be instantiated.
#
# 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 2 of the License, or (at your option) any later
-# version.
+# 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.
+# 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, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
use strict;
-use POSIX;
-require Exporter;
+use warnings;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
+use Carp;
+use base qw(Exporter);
-# set the version for version checking
-$VERSION = 0.01;
+our @EXPORT_OK = qw( true_p);
=head1 NAME
-C4::Boolean - Convenience functions to handle boolean values
+C4::Boolean - Convenience function to handle boolean values
in the parameter table
=head1 SYNOPSIS
=cut
-@ISA = qw(Exporter);
-@EXPORT = (
- &INVALID_BOOLEAN_STRING_EXCEPTION
- );
-
-@EXPORT_OK = qw(
- true_p
- );
-
-sub INVALID_BOOLEAN_STRING_EXCEPTION ()
- { 'The given value does not seem to be interpretable as a Boolean value' }
-
-use vars qw( %strings );
-
-%strings = (
- '0' => 0, '1' => 1, # C
- '-1' => 1, # BASIC
- 'nil' => 0, 't' => 1, # LISP
- 'false' => 0, 'true' => 1, # Pascal
- 'off' => 0, 'on' => 1,
- 'no' => 0, 'yes' => 1,
- 'n' => 0, 'y' => 1,
+use constant INVALID_BOOLEAN_STRING_EXCEPTION =>
+ q{The given value does not seem to be interpretable as a Boolean value};
+
+our %strings = (
+ '0' => 0, '1' => 1, # C
+ '-1' => 1, # BASIC
+ 'nil' => 0, 't' => 1, # LISP
+ 'false' => 0, 'true' => 1, # Pascal
+ 'off' => 0, 'on' => 1,
+ 'no' => 0, 'yes' => 1,
+ 'n' => 0, 'y' => 1,
);
=item true_p
- if ( C4::Boolean::true_p(C4::Context->preference("insecure")) ) {
- ...
+ if ( C4::Boolean::true_p(C4::Context->preference("IndependentBranches")) ) {
+ ...
}
Tries to interpret the passed string as a Boolean value. Returns
=cut
-sub true_p ($) {
- my($x) = @_;
+sub true_p {
+ my $x = shift;
my $it;
- if (!defined $x || ref($x) ne '') {
- die INVALID_BOOLEAN_STRING_EXCEPTION;
+ if (!defined $x || ref $x ) {
+ carp INVALID_BOOLEAN_STRING_EXCEPTION;
+ return;
}
- $x = lc($x);
+ $x = lc $x;
$x =~ s/\s//g;
if (defined $strings{$x}) {
- $it = $strings{$x};
+ $it = $strings{$x};
} else {
- die INVALID_BOOLEAN_STRING_EXCEPTION;
+ carp INVALID_BOOLEAN_STRING_EXCEPTION;
}
return $it;
}
-
-#---------------------------------
-
-END { } # module clean-up code here (global destructor)
-
1;
__END__
=head1 AUTHOR
-Koha Developement team <info@koha.org>
+Koha Development Team <http://koha-community.org/>
=cut