X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=SL%2FLocale.pm;h=8dc95e73c1bc0305540b51f16160d1f4d2b32cde;hb=522eb5a4a138c665b00a7f99a9e2b66d7d44857d;hp=8495553e8fd4d1a1a1571e04184d8e36ee962920;hpb=e09e900d226835ec8d8983e0df5861157bcb2897;p=kivitendo-erp.git diff --git a/SL/Locale.pm b/SL/Locale.pm index 8495553e8..8dc95e73c 100644 --- a/SL/Locale.pm +++ b/SL/Locale.pm @@ -80,11 +80,27 @@ sub _init { $self->{countrycode} = $country; if ($country && -d "locale/$country") { - local *IN; - if (open(IN, "<", "locale/$country/all")) { - my $code = join("", ); + if (open my $in, "<", "locale/$country/all") { + local $/ = undef; + my $code = <$in>; eval($code); - close(IN); + close($in); + } + + if (-d "locale/$country/more") { + opendir my $dh, "locale/$country/more" or die "can't open locale/$country/more: $!"; + my @files = sort grep -f "locale/$country/more/$_", readdir $dh; + close $dh; + + for my $file (@files) { + if (open my $in, "<", "locale/$country/more/$file") { + local $/ = undef; + my $code = <$in>; + eval($code); + close($in); + $self->{texts}{$_} = $self->{more_texts}{$_} for keys %{ $self->{more_texts} }; + } + } } } @@ -378,6 +394,9 @@ sub parse_date_to_object { return undef if !defined $string; + return DateTime->today_local if lc($string) eq 'today'; + return DateTime->today_local->subtract(days => 1) if lc($string) eq 'yesterday'; + $params{dateformat} ||= $::myconfig{dateformat} || 'yy-mm-dd'; $params{numberformat} ||= $::myconfig{numberformat} || '1,000.00'; my $num_separator = $params{numberformat} =~ m{,\d+$} ? ',' : '.';