}
}
- if (Config::get('debug', 'total_ap_delivery')) {
+ if (self::isAnnounce($item) || Config::get('debug', 'total_ap_delivery')) {
// Will be activated in a later step
$networks = Protocol::FEDERATED;
} else {
$terms = Term::tagArrayFromItemId($item['id'], [Term::MENTION, Term::IMPLICIT_MENTION]);
- // Directly mention the original author upon a quoted reshare.
- // Else just ensure that the original author receives the reshare.
- $announce = self::getAnnounceArray($item);
- if (!empty($announce['comment'])) {
- $data['to'][] = $announce['actor']['url'];
- } elseif (!empty($announce)) {
- $data['cc'][] = $announce['actor']['url'];
- }
-
if (!$item['private']) {
+ // Directly mention the original author upon a quoted reshare.
+ // Else just ensure that the original author receives the reshare.
+ $announce = self::getAnnounceArray($item);
+ if (!empty($announce['comment'])) {
+ $data['to'][] = $announce['actor']['url'];
+ } elseif (!empty($announce)) {
+ $data['cc'][] = $announce['actor']['url'];
+ }
+
$data = array_merge($data, self::fetchPermissionBlockFromConversation($item));
$data['to'][] = ActivityPub::PUBLIC_COLLECTION;
return ['object' => $reshared_item, 'actor' => $profile, 'comment' => $reshared['comment']];
}
+ /**
+ * Checks if the provided item array is an announce
+ *
+ * @param array $item
+ *
+ * @return boolean
+ */
+ public static function isAnnounce($item)
+ {
+ $announce = self::getAnnounceArray($item);
+ if (empty($announce)) {
+ return false;
+ }
+
+ return empty($announce['comment']);
+ }
+
/**
* Creates an activity id for a given contact id
*