Followup Adding system preference XSLT*FileName
[koha.git] / C4 / Dates.pm
index 1064fa4..451e2d3 100644 (file)
@@ -63,12 +63,17 @@ our %dmy_subs = (                   # strings to eval  (after using regular expression returned
 sub regexp ($;$) {
        my $self = shift;
        my $delim = qr/:?\:|\/|-/;      # "non memory" cluster: no backreference
-       my $format = (@_) ? shift : $self->{'dateformat'};      # w/o arg. relies on dateformat being defined
+       my $format = (@_) ? _recognize_format(shift) : ($self->{'dateformat'} || _prefformat());
+
+    # Extra layer of checking $self->{'dateformat'}.
+    # Why?  Because it is assumed you might want to check regexp against an *instantiated* Dates object as a
+    # way of saying "does this string match *whatever* format that Dates object is?"
+
        ($format eq 'sql') and 
-       return qr/^(\d{4})(\d{2})(\d{2})(?:\s{4}(\d{2})(\d{2})(\d{2}))?/;
+       return qr/^(\d{4})(\d{1,2})(\d{1,2})(?:\s{4}(\d{2})(\d{2})(\d{2}))?/;
        ($format eq 'iso') and 
-       return qr/^(\d{4})$delim(\d{2})$delim(\d{2})(?:(?:\s{1}|T)(\d{2})\:?(\d{2})\:?(\d{2}))?Z?/;
-       return qr/^(\d{2})$delim(\d{2})$delim(\d{4})(?:\s{1}(\d{2})\:?(\d{2})\:?(\d{2}))?/;  # everything else
+       return qr/^(\d{4})$delim(\d{1,2})$delim(\d{1,2})(?:(?:\s{1}|T)(\d{2})\:?(\d{2})\:?(\d{2}))?Z?/;
+       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 ($$) {