From 881a4139972b35804c3b6704784346b0298d3e6d Mon Sep 17 00:00:00 2001
From: David Cook <dcook@prosentient.com.au>
Date: Mon, 20 Jan 2014 13:52:38 +1100
Subject: [PATCH] Bug 11244: (follow-up) Fix $dateonly flag

At the moment, $dateonly is set to true when $1 is defined. However,
since the regex capture group only includes the time, this flag will
only be set when there is a value that includes a time.

In effect, this means that timestamps are reduced to dates only,
while dates have 00-00-0000 added to them.

This patch keeps the logic but reverses the values, so that $dateonly
will default to true unless $1 is defined.
---
 C4/Letters.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/C4/Letters.pm b/C4/Letters.pm
index 0afd344..933d43e 100644
--- a/C4/Letters.pm
+++ b/C4/Letters.pm
@@ -640,7 +640,7 @@ sub _parseletter {
         my $replacedby   = defined ($val) ? $val : '';
         if ( $replacedby and $replacedby =~ m|^\d{4}-\d{2}-\d{2}( \d{2}:\d{2}:\d{2})?$| ) {
             # If the value is XXXX-YY-ZZ[ AA:BB:CC] we assume it is a date
-            my $dateonly = defined $1 ? 1 : 0;
+            my $dateonly = defined $1 ? 0 : 1; #$1 refers to the capture group wrapped in parentheses. In this case, that's the hours, minutes, seconds.
             eval {
                 $replacedby = output_pref({ dt => dt_from_string( $replacedby ), dateonly => $dateonly });
             };
-- 
1.7.7.4