From 7a993e987767562aa3225ae0dda0446864765e40 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Fri, 5 Oct 2012 11:17:38 +0200 Subject: [PATCH] Bug in function is_date when implementing new date formats. --- includes/date_functions.inc | 55 +++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/includes/date_functions.inc b/includes/date_functions.inc index 59d8f4a..2c99d05 100644 --- a/includes/date_functions.inc +++ b/includes/date_functions.inc @@ -59,7 +59,33 @@ function is_date($date_) $date_ = trim($date_); $date = str_replace($sep, "", $date_); - if (strlen($date_) == 6) + + if ($how > 2) + { + global $tmonths; + $dd = explode($sep, $date_); + if ($how == 3) + { + $day = $dd[1]; + $month = array_search($dd[0], $tmonths); + $year = $dd[2]; + } + elseif ($how == 4) + { + $day = $dd[0]; + $month = array_search($dd[1], $tmonths); + $year = $dd[2]; + } + else + { + $day = $dd[2]; + $month = array_search($dd[1], $tmonths); + $year = $dd[0]; + } + if ($year < 1000) + return 0; + } + elseif (strlen($date) == 6) { if ($how == 0) { @@ -80,7 +106,7 @@ function is_date($date_) $year = substr($date,0,2); } } - elseif (strlen($date_) == 8) + elseif (strlen($date) == 8) { if ($how == 0) { @@ -101,31 +127,6 @@ function is_date($date_) $year = substr($date,0,4); } } - elseif ($how > 2) - { - global $tmonths; - $dd = explode($sep, $date_); - if ($how == 3) - { - $day = $dd[1]; - $month = array_search($dd[0], $tmonths); - $year = $dd[2]; - } - elseif ($how == 4) - { - $day = $dd[0]; - $month = array_search($dd[1], $tmonths); - $year = $dd[2]; - } - else - { - $day = $dd[2]; - $month = array_search($dd[1], $tmonths); - $year = $dd[0]; - } - if ($year < 1000) - return 0; - } if (!isset($year)|| (int)$year > 9999) { return 0; -- 2.30.2