package C4::Dates;
+# Copyright 2007 Liblime
+# Parts Copyright ACPL 2011
+# Parts Copyright Catalyst IT 2012
+#
# 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 warnings;
use vars qw($debug $cgi_debug);
BEGIN {
- $VERSION = 0.04;
+ $VERSION = 3.07.00.049;
@ISA = qw(Exporter);
@EXPORT_OK = qw(format_date_in_iso format_date);
}
return $prefformat;
}
+sub reset_prefformat { # subroutine to clear the prefformat, called when we change it
+ if (defined $prefformat){
+ $prefformat = C4::Context->preference('dateformat');
+ }
+}
+
our %format_map = (
iso => 'yyyy-mm-dd', # plus " HH:MM:SS"
metric => 'dd/mm/yyyy', # plus " HH:MM:SS"
$self->{'dateformat'} = $dformat = ( scalar(@_) >= 2 ) ? $_[1] : _prefformat();
( $format_map{$dformat} ) or croak "Invalid date format '$dformat' from " . ( ( scalar(@_) >= 2 ) ? 'argument' : 'system preferences' );
$self->{'dmy_arrayref'} = [ ( (@_) ? $self->dmy_map(shift) : localtime ) ];
- $debug and warn "(during init) \@\$self->{'dmy_arrayref'}: " . join( ' ', @{ $self->{'dmy_arrayref'} } ) . "\n";
+ if ($debug && $debug > 1) { warn "(during init) \@\$self->{'dmy_arrayref'}: " . join( ' ', @{ $self->{'dmy_arrayref'} } ) . "\n"; }
return $self;
}
With no argument, format returns the object's current date_format. Otherwise it attempts to
set the object format to the supplied value.
-Some previously desireable functions are now unnecessary. For example, you might want a
+Some previously desirable functions are now unnecessary. For example, you might want a
method/function to tell you whether or not a Dates.pm object is of the 'iso' type. But you
can see by this example that such a test is trivial to accomplish, and not necessary to
include in the module:
Perhaps you want to force data obtained in a known format to display according to the user's system
preference, without necessarily knowing what that preference is. For this purpose, you can use the
-psuedo-format argument "syspref".
+pseudo-format argument "syspref".
For example, to print an ISO date (from the database) in the <systempreference> format: