private function convertActivityToArray(array $activity)
{
$activityArray = array();
$previousGroupNumber = null;
/** @var Activity $activityItem */
foreach ($activity as $activityItem) {
$type = $activityItem->getType();
$groupNumber = $activityItem->getGroupNumber();
$user = $activityItem->getUser();
$name = $user->getName();
$avatar = $this->request->getScheme() .'://' . $this->request->getHttpHost() . $this->request->getBasePath() . '/uploads/avatar/' . $user->getAvatar();
$data = $activityItem->getData();
$created = $activityItem->getCreatedAt();
$activityArray[$groupNumber]['type'] = $type;
$activityArray[$groupNumber]['created'] = $created;
if ($type == ActivityType::Like) {
if ($groupNumber != $previousGroupNumber) {
$data['documentaryThumbnail'] = $this->request->getScheme() .'://' . $this->request->getHttpHost() . $this->request->getBasePath() . '/uploads/posters/' . $data['documentaryThumbnail'];
$activityArray[$groupNumber]['parent']['data'] = $data;
$activityArray[$groupNumber]['parent']['user']['name'] = $name;
$activityArray[$groupNumber]['parent']['user']['avatar'] = $avatar;
} else {
$data['documentaryThumbnail'] = $this->request->getScheme() .'://' . $this->request->getHttpHost() . $this->request->getBasePath() . '/uploads/posters/' . $data['documentaryThumbnail'];
$child['data'] = $data;
$child['user']['name'] = $name;
$child['user']['avatar'] = $avatar;
$activityArray[$groupNumber]['child'][] = $child;
}
} else if ($type == ActivityType::Comment) {
$activityArray[$groupNumber]['parent']['user']['name'] = $name;
$activityArray[$groupNumber]['parent']['user']['avatar'] = $avatar;
$activityArray[$groupNumber]['parent']['data'] = $data;
} else if ($type == ActivityType::Joined) {
if ($groupNumber != $previousGroupNumber) {
$activityArray[$groupNumber]['parent']['user']['name'] = $name;
$activityArray[$groupNumber]['parent']['user']['avatar'] = $avatar;
} else {
$child['user']['name'] = $name;
$child['user']['avatar'] = $avatar;#
$activityArray[$groupNumber]['child'][] = $child;
}
} else if ($type == ActivityType::Added) {
if ($groupNumber != $previousGroupNumber) {
$activityArray[$groupNumber]['parent']['data'] = $data;
$activityArray[$groupNumber]['parent']['user']['name'] = $name;
$activityArray[$groupNumber]['parent']['user']['avatar'] = $avatar;
} else {
$child['data'] = $data;
$child['user']['name'] = $name;
$child['user']['avatar'] = $avatar;
$activityArray[$groupNumber]['child'][] = $child;
}
}
$previousGroupNumber = $groupNumber;
}
return $activityArray;
}