function _expand_datetime($fields, $relation, $subject) { $dates = explode(',', $subject); $start_date = fix_datetime_string($dates[0]); // one date value uses a >= search if (count($dates) == 1) { $result = $fields . ">='" . $start_date . "'"; } else { $end_date = fix_datetime_string($dates[1], '23:59:59'); $result = $fields . " BETWEEN '" . $start_date . "' AND '" . $end_date . "'"; } return $result; }
function test_fix_datetime_string() { $this->assertEqual(fix_datetime_string('2010-01-01'), '2010-01-01 00:00:00'); $this->assertEqual(fix_datetime_string('2010-01-01 01'), '2010-01-01 01:00:00'); $this->assertEqual(fix_datetime_string('2010-01-01 02:03'), '2010-01-01 02:03:00'); $this->assertEqual(fix_datetime_string('2010-01-01 02:03:04'), '2010-01-01 02:03:04'); $this->assertEqual(fix_datetime_string('2010-01-01', '23:59:59'), '2010-01-01 23:59:59'); $this->assertEqual(fix_datetime_string('2010-01-01 01', '23:59:59'), '2010-01-01 01:59:59'); $this->assertEqual(fix_datetime_string('2010-01-01 02:03', '23:59:59'), '2010-01-01 02:03:59'); $this->assertEqual(fix_datetime_string('2010-01-01 02:03:04', '23:59:59'), '2010-01-01 02:03:04'); }