$author_owner_fields = ['author-name', 'author-avatar', 'author-link', 'owner-name', 'owner-avatar', 'owner-link'];
foreach ($author_owner_fields as $field) {
- if (isset($fields[$field])) {
+ if (array_key_exists($field, $fields)) {
$fields[$field] = null;
}
}
if (array_key_exists('tag', $fields)) {
$tags = $fields['tag'];
- unset($fields['tag']);
+ $fields['tag'] = null;
} else {
$tags = '';
}
if (array_key_exists('file', $fields)) {
$files = $fields['file'];
- unset($fields['file']);
+ $fields['file'] = null;
} else {
$files = '';
}
if ($item['network'] == NETWORK_PHANTOM) {
logger('Missing network. Called by: '.System::callstack(), LOGGER_DEBUG);
- $contact = Contact::getDetailsByURL($item['author-link'], $item['uid']);
- if (!empty($contact['network'])) {
- $item['network'] = $contact["network"];
- } else {
- $item['network'] = NETWORK_DFRN;
- }
+ $item['network'] = NETWORK_DFRN;
logger("Set network to " . $item["network"] . " for " . $item["uri"], LOGGER_DEBUG);
}
put_item_in_cache($item);
if ($notify) {
+ $item['edit'] = false;
+ $item['parent'] = $parent_id;
Addon::callHooks('post_local', $item);
+ unset($item['edit']);
+ unset($item['parent']);
} else {
Addon::callHooks('post_remote', $item);
}
return;
}
+ $origin = $item['origin'];
+
unset($item['id']);
unset($item['parent']);
unset($item['mention']);
$parents = self::select(['uid', 'origin'], ["`uri` = ? AND `uid` != 0", $item['parent-uri']]);
while ($parent = dba::fetch($parents)) {
$users[$parent['uid']] = $parent['uid'];
- if ($parent['origin'] && !$item['origin']) {
+ if ($parent['origin'] && !$origin) {
$origin_uid = $parent['uid'];
}
}
}
// Prevent the forwarding of posts that are forwarded
- if ($datarray["extid"] == NETWORK_DFRN) {
+ if (!empty($datarray["extid"]) && ($datarray["extid"] == NETWORK_DFRN)) {
logger('Already forwarded', LOGGER_DEBUG);
return false;
}
'type' => 'activity',
'wall' => $item['wall'],
'origin' => 1,
+ 'network' => NETWORK_DFRN,
'gravity' => GRAVITY_ACTIVITY,
'parent' => $item['id'],
'parent-uri' => $item['uri'],