icingadb-web/library/Icingadb/Model/Behavior/Timestamp.php
2021-01-14 15:07:44 +01:00

37 lines
744 B
PHP

<?php
/* Icinga DB Web | (c) 2020 Icinga GmbH | GPLv2 */
namespace Icinga\Module\Icingadb\Model\Behavior;
use ipl\Orm\Contract\PropertyBehavior;
class Timestamp extends PropertyBehavior
{
public function fromDb($value, $key, $_)
{
if ($value === null) {
return $value;
}
return $value / 1000.0;
}
public function toDb($value, $key, $_)
{
if ($value === null) {
return $value;
}
if (! ctype_digit($value)) {
$timestamp = strtotime($value);
if ($timestamp === false) {
return $value;
} else {
$value = $timestamp;
}
}
return $value * 1000.0;
}
}