const PR_DIRECT = 77;
const PR_ACTIVITY = 78;
const PR_DISTRIBUTE = 79;
+ const PR_PUSHED = 80;
+ const PR_LOCAL = 81;
// system.accept_only_sharer setting values
const COMPLETION_NONE = 1;
$item['post-reason'] = self::PR_FOLLOWER;
}
+ if ($item['origin'] && empty($item['post-reason'])) {
+ $item['post-reason'] = self::PR_LOCAL;
+ }
+
// Ensure that there is an avatar cache
Contact::checkAvatarCache($item['author-id']);
Contact::checkAvatarCache($item['owner-id']);
$condition = ['id' => $itemid, 'uid' => 0,
'network' => array_merge(Protocol::FEDERATED ,['']),
'visible' => true, 'deleted' => false, 'private' => [self::PUBLIC, self::UNLISTED]];
- $item = Post::selectFirst(self::ITEM_FIELDLIST, $condition);
+ $item = Post::selectFirst(array_merge(self::ITEM_FIELDLIST, ['protocol']), $condition);
if (!DBA::isResult($item)) {
Logger::warning('Item not found', ['condition' => $condition]);
return;
return 0;
}
- $item = Post::selectFirst(self::ITEM_FIELDLIST, ['uri-id' => $uri_id, 'uid' => $source_uid]);
+ $item = Post::selectFirst(array_merge(self::ITEM_FIELDLIST, ['protocol']), ['uri-id' => $uri_id, 'uid' => $source_uid]);
if (!DBA::isResult($item)) {
Logger::warning('Item could not be fetched', ['uri-id' => $uri_id, 'uid' => $source_uid]);
return 0;
return;
}
- $item = Post::selectFirst(self::ITEM_FIELDLIST, ['id' => $itemid]);
+ $item = Post::selectFirst(array_merge(self::ITEM_FIELDLIST, ['protocol']), ['id' => $itemid]);
if (DBA::isResult($item)) {
// Preparing public shadow (removing user specific data)
*/
private static function addShadowPost(int $itemid)
{
- $item = Post::selectFirst(self::ITEM_FIELDLIST, ['id' => $itemid]);
+ $item = Post::selectFirst(array_merge(self::ITEM_FIELDLIST, ['protocol']), ['id' => $itemid]);
if (!DBA::isResult($item)) {
return;
}