Bug 6679: Fix 11 perlcritic violations in C4/Dates.pm
- Subroutine prototypes used at line 82, column 1. See page 194 of PBP. (Severity: 5) - "return" statement with explicit "undef" at line 102, column 28. See page 199 of PBP. (Severity: 5) - Expression form of "eval" at line 108, column 20. See page 161 of PBP. (Severity: 5) - Variable declared in conditional statement at line 126, column 5. Declare variables outside of the condition. (Severity: 5) Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
d7dc11e61f
commit
2ee1a35dfa
1 changed files with 13 additions and 11 deletions
24
C4/Dates.pm
24
C4/Dates.pm
|
@ -79,7 +79,7 @@ our @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
|
|||
|
||||
our @days = qw(Sun Mon Tue Wed Thu Fri Sat);
|
||||
|
||||
sub regexp ($;$) {
|
||||
sub regexp {
|
||||
my $self = shift;
|
||||
my $delim = qr/:?\:|\/|-/; # "non memory" cluster: no backreference
|
||||
my $format = (@_) ? _recognize_format(shift) : ( $self->{'dateformat'} || _prefformat() );
|
||||
|
@ -97,15 +97,15 @@ sub regexp ($;$) {
|
|||
return qr/^(\d{1,2})$delim(\d{1,2})$delim(\d{4})(?:\s{1}(\d{1,2})\:?(\d{1,2})\:?(\d{1,2}))?/; # everything else
|
||||
}
|
||||
|
||||
sub dmy_map ($$) {
|
||||
sub dmy_map {
|
||||
my $self = shift;
|
||||
my $val = shift or return undef;
|
||||
my $dformat = $self->{'dateformat'} or return undef;
|
||||
my $val = shift or return;
|
||||
my $dformat = $self->{'dateformat'} or return;
|
||||
my $re = $self->regexp();
|
||||
my $xsub = $dmy_subs{$dformat};
|
||||
$debug and print STDERR "xsub: $xsub \n";
|
||||
if ( $val =~ /$re/ ) {
|
||||
my $aref = eval $xsub;
|
||||
my $aref = eval {$xsub};
|
||||
if ($dformat eq 'rfc822') {
|
||||
$aref = _abbr_to_numeric($aref, $dformat);
|
||||
pop(@{$aref}); #pop off tz offset because we are not setup to handle tz conversions just yet
|
||||
|
@ -123,7 +123,9 @@ sub dmy_map ($$) {
|
|||
sub _abbr_to_numeric {
|
||||
my $aref = shift;
|
||||
my $dformat = shift;
|
||||
my ($month_abbr, $day_abbr) = ($aref->[4], $aref->[3]) if $dformat eq 'rfc822';
|
||||
|
||||
my ($month_abbr, $day_abbr); # keep perlcritic happy ;)
|
||||
($month_abbr, $day_abbr) = ($aref->[4], $aref->[3]) if $dformat eq 'rfc822';
|
||||
|
||||
for( my $i = 0; $i < scalar(@months); $i++ ) {
|
||||
if ( $months[$i] =~ /$month_abbr/ ) {
|
||||
|
@ -171,7 +173,7 @@ sub new {
|
|||
return $self->init(@_);
|
||||
}
|
||||
|
||||
sub init ($;$$) {
|
||||
sub init {
|
||||
my $self = shift;
|
||||
my $dformat;
|
||||
$self->{'dateformat'} = $dformat = ( scalar(@_) >= 2 ) ? $_[1] : _prefformat();
|
||||
|
@ -181,27 +183,27 @@ sub init ($;$$) {
|
|||
return $self;
|
||||
}
|
||||
|
||||
sub output ($;$) {
|
||||
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)
|
||||
sub today { # NOTE: sets date value to today (and returns it in the requested or current format)
|
||||
my $class = shift;
|
||||
$class = ref($class) || $class;
|
||||
my $format = (@_) ? _recognize_format(shift) : _prefformat();
|
||||
return $class->new()->output($format);
|
||||
}
|
||||
|
||||
sub _recognize_format($) {
|
||||
sub _recognize_format {
|
||||
my $incoming = shift;
|
||||
( $incoming eq 'syspref' ) and return _prefformat();
|
||||
( scalar grep ( /^$incoming$/, keys %format_map ) == 1 ) or croak "The format you asked for ('$incoming') is unrecognized.";
|
||||
return $incoming;
|
||||
}
|
||||
|
||||
sub DHTMLcalendar ($;$) { # interface to posix_map
|
||||
sub DHTMLcalendar { # interface to posix_map
|
||||
my $class = shift;
|
||||
my $format = (@_) ? shift : _prefformat();
|
||||
return $posix_map{$format};
|
||||
|
|
Loading…
Reference in a new issue