/** * Logs audit event * @param string $eventName * @param array $data * @param Project $project * @param User $user * @return boolean */ public static function logAuditEvent($eventName, Project $project, $data = null, User $user = null) { assert('is_string($eventName) && $eventName != ""'); assert('$project->id > 0'); if ($user === null) { $user = Yii::app()->user->userModel; if (!$user instanceof User) { throw new NoCurrentUserSecurityException(); } } $projectAuditEvent = new ProjectAuditEvent(); $projectAuditEvent->dateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time()); $projectAuditEvent->eventName = $eventName; $projectAuditEvent->user = $user; $projectAuditEvent->project = $project; $projectAuditEvent->serializedData = serialize($data); //Removed the validation on save to fix: https://www.pivotaltracker.com/story/show/70712466 $saved = $projectAuditEvent->save(false); if ($saved) { return true; } else { throw new FailedToSaveModelException(); } }