1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-06 14:16:39 +02:00

DibiRow: null time checking consistent with DibiResult

Conflicts:
	dibi/libs/DibiRow.php
This commit is contained in:
David Grudl
2013-12-12 16:23:19 +01:00
parent a007ea95f9
commit d4429546e2

View File

@@ -39,7 +39,7 @@ class DibiRow implements ArrayAccess, IteratorAggregate, Countable
{ {
$time = $this[$key]; $time = $this[$key];
if (!$time instanceof DibiDateTime) { if (!$time instanceof DibiDateTime) {
if ((int) $time === 0) { // '', NULL, FALSE, '0000-00-00', ... if ((int) $time === 0 && substr((string) $time, 0, 3) !== '00:') { // '', NULL, FALSE, '0000-00-00', ...
return NULL; return NULL;
} }
$time = new DibiDateTime(is_numeric($time) ? date('Y-m-d H:i:s', $time) : $time); $time = new DibiDateTime(is_numeric($time) ? date('Y-m-d H:i:s', $time) : $time);
@@ -56,10 +56,7 @@ class DibiRow implements ArrayAccess, IteratorAggregate, Countable
public function asTimestamp($key) public function asTimestamp($key)
{ {
trigger_error(__METHOD__ . '() is deprecated.', E_USER_WARNING); trigger_error(__METHOD__ . '() is deprecated.', E_USER_WARNING);
$time = $this[$key]; return $this->asDateTime($key, 'U');
return (int) $time === 0 // '', NULL, FALSE, '0000-00-00', ...
? NULL
: (is_numeric($time) ? (int) $time : strtotime($time));
} }