static function Set($Subject, $action, $Object = false, $object_is_string = false, $offset = 0) { if (!$Subject || !$action) { return false; } $Event = new Event(); $Event->populate_alt(array_merge(array('subject_class' => get_class($Subject), 'subject_id' => $Subject->id, 'action' => $action), $Object != false ? array('object_class' => $object_is_string ? $Object : get_class($Object), 'object_id' => !$object_is_string ? $Object->id : null) : array())); $Event->set_datetime('timestamp', $offset != 0 ? time() + (int) $offset : null); return $Event->save(); }