}
$item['changed'] = DateTimeFormat::utcNow();
- $item['edited'] = $activity['updated'];
+ $item['edited'] = DateTimeFormat::utc($activity['updated']);
$item = self::processContent($activity, $item);
if (empty($item)) {
$item['private'] = !in_array(0, $activity['receiver']);
$item['author-link'] = $activity['author'];
$item['author-id'] = Contact::getIdForURL($activity['author'], 0, true);
+ $item['owner-link'] = $activity['actor'];
+ $item['owner-id'] = Contact::getIdForURL($activity['actor'], 0, true);
- if (empty($activity['thread-completion'])) {
- $item['owner-link'] = $activity['actor'];
- $item['owner-id'] = Contact::getIdForURL($activity['actor'], 0, true);
- } else {
- Logger::info('Ignoring actor because of thread completion.');
+ if (!empty($activity['thread-completion'])) {
+ // Store the original actor in the "causer" fields to enable the check for ignored or blocked contacts
+ $item['causer-link'] = $item['owner-link'];
+ $item['causer-id'] = $item['owner-id'];
+
+ Logger::info('Ignoring actor because of thread completion.', ['actor' => $item['owner-link']]);
$item['owner-link'] = $item['author-link'];
$item['owner-id'] = $item['author-id'];
}
$item['uri'] = $activity['id'];
- $item['created'] = $activity['published'];
- $item['edited'] = $activity['updated'];
+ $item['created'] = DateTimeFormat::utc($activity['published']);
+ $item['edited'] = DateTimeFormat::utc($activity['updated']);
$item['guid'] = $activity['diaspora:guid'];
$item = self::processContent($activity, $item);
}
Logger::log('Updating profile for ' . $activity['object_id'], Logger::DEBUG);
- APContact::getByURL($activity['object_id'], true);
+ Contact::updateFromProbeByURL($activity['object_id'], true);
}
/**