$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)
{
$year = substr($date,0,2);
}
}
- elseif (strlen($date_) == 8)
+ elseif (strlen($date) == 8)
{
if ($how == 0)
{
$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;
global $date_system;
//for MySQL dates are in the format YYYY-mm-dd
- if ($date_ == null || strlen($date_) == 0)
- return "";
if (strpos($date_, "/"))
{ // In MySQL it could be either / or -
{
list($year, $month, $day) = explode("-", $date_);
}
+ if (!isset($day)) // data format error
+ return "";
if (strlen($day) > 4)
{ /*chop off the time stuff */