public function calculateRow(&$Row)
{
$ActivityType = self::getActivityType($Row['ActivityTypeID']);
$Row['ActivityType'] = val('Name', $ActivityType);
if (is_string($Row['Data'])) {
$Row['Data'] = dbdecode($Row['Data']);
}
$Row['PhotoUrl'] = url($Row['Route'], true);
if (!$Row['Photo']) {
if (isset($Row['ActivityPhoto'])) {
$Row['Photo'] = $Row['ActivityPhoto'];
$Row['PhotoUrl'] = userUrl($Row, 'Activity');
} else {
$User = Gdn::userModel()->getID($Row['ActivityUserID'], DATASET_TYPE_ARRAY);
if ($User) {
$Photo = $User['Photo'];
$Row['PhotoUrl'] = userUrl($User);
if (!$Photo || stringBeginsWith($Photo, 'http')) {
$Row['Photo'] = $Photo;
} else {
$Row['Photo'] = Gdn_Upload::url(changeBasename($Photo, 'n%s'));
}
}
}
}
$Data = $Row['Data'];
if (isset($Data['ActivityUserIDs'])) {
$Row['ActivityUserID'] = array_merge([$Row['ActivityUserID']], $Data['ActivityUserIDs']);
$Row['ActivityUserID_Count'] = val('ActivityUserID_Count', $Data);
}
if (isset($Data['RegardingUserIDs'])) {
$Row['RegardingUserID'] = array_merge([$Row['RegardingUserID']], $Data['RegardingUserIDs']);
$Row['RegardingUserID_Count'] = val('RegardingUserID_Count', $Data);
}
$Row['Url'] = externalUrl($Row['Route']);
if ($Row['HeadlineFormat']) {
$Row['Headline'] = formatString($Row['HeadlineFormat'], $Row);
} else {
$Row['Headline'] = Gdn_Format::activityHeadline($Row);
}
}