diff --git a/admin/inc/class.admin_cmd.inc.php b/admin/inc/class.admin_cmd.inc.php index de05a4e2d2..698778c5c6 100644 --- a/admin/inc/class.admin_cmd.inc.php +++ b/admin/inc/class.admin_cmd.inc.php @@ -184,7 +184,7 @@ abstract class admin_cmd */ function __construct(array $data) { - $this->created = time(); + $this->created = new Api\DateTime('now'); $this->creator = $GLOBALS['egw_info']['user']['account_id']; $this->creator_email = admin_cmd::user_email(); @@ -363,7 +363,7 @@ abstract class admin_cmd } if (!is_null($this->id)) { - $this->modified = time(); + $this->modified = new Api\DateTime('now'); $this->modifier = $set_modifier ? $GLOBALS['egw_info']['user']['account_id'] : 0; if ($set_modifier) $this->modifier_email = admin_cmd::user_email(); } @@ -669,7 +669,8 @@ abstract class admin_cmd { if (is_null(admin_cmd::$sql)) { - admin_cmd::$sql = new Api\Storage\Base('admin','egw_admin_queue',null,'cmd_'); + admin_cmd::$sql = new Api\Storage\Base('admin','egw_admin_queue',null,'cmd_', true, 'object'); + admin_cmd::$sql->convert_all_timestamps(); } } diff --git a/api/src/Storage/Base.php b/api/src/Storage/Base.php index 7bf73c8363..86bc9bf5e0 100644 --- a/api/src/Storage/Base.php +++ b/api/src/Storage/Base.php @@ -304,9 +304,9 @@ class Base $check_already_included = !empty($this->timestamps); foreach($this->table_def['fd'] as $name => $data) { - if ($data['type'] == 'timestamp' && (!$check_already_included || !in_array($name,$this->timestamps))) + if (($data['type'] === 'timestamp' || $data['meta'] === 'timestamp') && (!$check_already_included || !in_array($name,$this->timestamps))) { - $this->timestamps[] = $name; + $this->timestamps[] = $this->db_cols[$name] ?? $name; } } }