4 #package to handle Boolean values in the parameters table
5 # Note: This is just a utility module; it should not be instantiated.
8 # Copyright 2003 Katipo Communications
10 # This file is part of Koha.
12 # Koha is free software; you can redistribute it and/or modify it under the
13 # terms of the GNU General Public License as published by the Free Software
14 # Foundation; either version 2 of the License, or (at your option) any later
17 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
18 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
19 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
21 # You should have received a copy of the GNU General Public License along with
22 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23 # Suite 330, Boston, MA 02111-1307 USA
29 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
31 # set the version for version checking
36 C4::Boolean - Convenience functions to handle boolean values
37 in the parameter table
45 In the parameter table, there are various Boolean values that
46 variously require a 0/1, no/yes, false/true, or off/on values.
47 This module aims to provide scripts a means to interpret these
48 Boolean values in a consistent way which makes common sense.
58 &INVALID_BOOLEAN_STRING_EXCEPTION
65 sub INVALID_BOOLEAN_STRING_EXCEPTION ()
66 { 'The given value does not seem to be interpretable as a Boolean value' }
68 use vars qw( %strings );
71 '0' => 0, '1' => 1, # C
73 'nil' => 0, 't' => 1, # LISP
74 'false' => 0, 'true' => 1, # Pascal
75 'off' => 0, 'on' => 1,
76 'no' => 0, 'yes' => 1,
82 if ( C4::Boolean::true_p(C4::Context->preference("insecure")) ) {
86 Tries to interpret the passed string as a Boolean value. Returns
87 the value if the string can be interpreted as such; otherwise an
95 if (!defined $x || ref($x) ne '') {
96 die INVALID_BOOLEAN_STRING_EXCEPTION;
100 if (defined $strings{$x}) {
103 die INVALID_BOOLEAN_STRING_EXCEPTION;
109 #---------------------------------
111 END { } # module clean-up code here (global destructor)
120 Koha Developement team <info@koha.org>