Skip to content

Commit be4831c

Browse files
committed
fix(datefield, datetimefield): comparison against empty string
1 parent ce07899 commit be4831c

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

inc/field/datefield.class.php

+6
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,15 @@ public function greaterThan($value): bool {
163163
} else {
164164
$answer = $this->value;
165165
}
166+
if (empty($value)) {
167+
$value = '0000-00-00';
168+
}
166169
$answerDatetime = DateTime::createFromFormat(self::DATE_FORMAT, $answer);
167170
$answerDatetime->setTime(0, 0, 0, 0);
168171
$compareDatetime = DateTime::createFromFormat(self::DATE_FORMAT, $value);
172+
if ($compareDatetime === false) {
173+
return true;
174+
}
169175
$compareDatetime->setTime(0, 0, 0, 0);
170176
return $answerDatetime > $compareDatetime;
171177
}

inc/field/datetimefield.class.php

+6
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,14 @@ public function greaterThan($value): bool {
164164
} else {
165165
$answer = $this->value;
166166
}
167+
if (empty($value)) {
168+
$value = '0000-00-00';
169+
}
167170
$answerDatetime = DateTime::createFromFormat(self::DATE_FORMAT, $answer);
168171
$compareDatetime = DateTime::createFromFormat(self::DATE_FORMAT, $value);
172+
if ($compareDatetime === false) {
173+
return true;
174+
}
169175
return $answerDatetime > $compareDatetime;
170176
}
171177

0 commit comments

Comments
 (0)