From d573a283682c835b850a66d9e2c1c3db0dd38b05 Mon Sep 17 00:00:00 2001 From: Henri-Damien LAURENT Date: Wed, 28 Jan 2009 14:55:47 +0100 Subject: [PATCH] Revert "more readable version of the init and new sub" This reverts commit 5a74b4fa0cf79163755560daed640ead85fa0b71. --- C4/Dates.pm | 48 ++++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/C4/Dates.pm b/C4/Dates.pm index 578e08e992..1064fa462c 100644 --- a/C4/Dates.pm +++ b/C4/Dates.pm @@ -111,39 +111,27 @@ sub _chron_to_hms { } sub new { - shift; # as clone isn't implemented, we don't carre about package name - my $self = bless {}, __PACKAGE__; - $self->init(@_) + my $this = shift; + my $class = ref($this) || $this; + my $self = {}; + bless $self, $class; + return $self->init(@_); } - sub init ($;$$) { - my ($self,$string_date,$dformat) = @_; - - my $from; - if ( $dformat ) { - $from = 'argument'; - } else { - $from = 'system preferences'; - $dformat = _prefformat; - } - - $self->{'dateformat'} = $dformat; - $format_map{$dformat} or croak "Invalid date format '$dformat' from $from"; - - $self->{'dmy_arrayref'} = $string_date - ? $self->dmy_map($string_date) - : localtime - ; - - $debug and warn - q[(during init) @$self->{'dmy_arrayref'}:] - , join(' ',@{$self->{'dmy_arrayref'}}) - , "\n" - ; - - return $self; + my $self = shift; + my $dformat; + $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"; + return $self; +} +sub output ($;$) { + my $self = shift; + my $newformat = (@_) ? _recognize_format(shift) : _prefformat(); + return (eval {POSIX::strftime($posix_map{$newformat}, @{$self->{'dmy_arrayref'}})} || undef); } - sub today ($;$) { # NOTE: sets date value to today (and returns it in the requested or current format) my $class = shift; $class = ref($class) || $class; -- 2.39.2