/** * @param Ticket $ticket * @param \DateTime $date * * @return string */ public function getStateByDate(Ticket $ticket, \DateTime $date) { $status = $ticket->getStatus(); $time = null; foreach ($ticket->getActivities() as $activity) { if ($activity->getAction() != 'UserChangeStateIssue') { continue; } $activityDate = $activity->getCreated()->getTimestamp(); if ((is_null($time) || $time > $activityDate) && $date->getTimestamp() > $activityDate) { $status = $activity->getValue(); } } return $status; }