function timeFromStr($str)
{
if (!defined('ADODB_DATE_VERSION')) {
// safely load ADODB date library
require_once Pommo::$_baseDir . 'lib/adodb-time.inc.php';
}
// normalize delimiter
str_replace('-', '/', $str);
// Extract Year, Month, and Day from a string like "2007/08/03"
$a = explode("/", $str);
// Validate the string
if (count($a) != 3 || !is_numeric($a[0]) || !is_numeric($a[1]) || !is_numeric($a[2])) {
return false;
}
switch (Pommo::$_dateformat) {
case 1:
$year = substr($a[0], 0, 4);
$month = substr($a[1], 0, 2);
$day = substr($a[2], 0, 2);
break;
case 2:
$year = substr($a[2], 0, 4);
$month = substr($a[0], 0, 2);
$day = substr($a[1], 0, 2);
break;
case 3:
$year = substr($a[2], 0, 4);
$month = substr($a[1], 0, 2);
$day = substr($a[0], 0, 2);
break;
default:
Pommo::kill('Unknown date_format', TRUE);
}
// Y-M-D validation
if ($month < 1 || $month > 12) {
return false;
}
if ($day < 1 || $day > 31) {
return false;
}
// correction heuristic for short year @ end of century...
if (strlen($year) == 2) {
$year = $year < 50 ? '20' . $year : '19' . $year;
}
return adodb_mktime(0, 0, 0, $month, $day, $year);
}