From 4569cae57f127afd093794310ccd290d2d9fdf36 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Wed, 20 Apr 2016 10:58:46 -0400
Subject: [PATCH] Merge branch 'stable-3.1'

---
 interface/lib/classes/validate_autoresponder.inc.php |   34 +++++++++++++++++-----------------
 1 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/interface/lib/classes/validate_autoresponder.inc.php b/interface/lib/classes/validate_autoresponder.inc.php
index fa29b7e..98d49fd 100755
--- a/interface/lib/classes/validate_autoresponder.inc.php
+++ b/interface/lib/classes/validate_autoresponder.inc.php
@@ -33,15 +33,14 @@
 {
 	function start_date($field_name, $field_value, $validator)
 	{
+		global $app;
+		
 		// save field value for later use in end_date()
 		$this->start_date = $field_value;
 
-		if ($this->_datetime_selected($field_value)) {
-			// We just require a start date be set
-			return;
-		}
-		if($_POST['autoresponder'] == 'y') {
-			return "No start date selected";
+		if($_POST['autoresponder'] == 'y' && $field_value == '') {
+			// we need a start date when autoresponder is on
+			return $app->tform->lng($validator['errmsg']).'<br />';
 		}
 	}
 
@@ -51,17 +50,18 @@
 
 		$start_date = $this->start_date;
 		//$start_date = $app->tform_actions->dataRecord['autoresponder_start_date'];
-
-		$_msg = $this->not_empty('autoresponder_start_date', $start_date, $validator);
-		if (!$_msg) // Start date set
-			{
-			if ( !($_msg = $this->not_empty($field_name, $field_value, $validator)) ) // End date set
-				{
-				$validator['compare'] = $this->_get_timestamp_value($start_date);
-				$_msg = $this->is_greater($field_name, $field_value, $validator);
-			}
-
-			return $_msg;
+		
+		// Parse date
+		$start_date_array = date_parse_from_format($app->lng('conf_format_datetime'),$start_date);
+		$end_date_array = date_parse_from_format($app->lng('conf_format_datetime'),$field_value);
+		
+		//calculate timestamps
+		$start_date_tstamp = mktime($start_date_array['hour'], $start_date_array['minute'], $start_date_array['second'], $start_date_array['month'], $start_date_array['day'], $start_date_array['year']);
+		$end_date_tstamp = mktime($end_date_array['hour'], $end_date_array['minute'], $end_date_array['second'], $end_date_array['month'], $end_date_array['day'], $end_date_array['year']);
+		
+		// End date has to be > start date
+		if($end_date_tstamp <= $start_date_tstamp && ($start_date || $field_value)) {
+			return $app->tform->lng($validator['errmsg']).'<br />';
 		}
 	}
 

--
Gitblit v1.9.1