if ($notify) {
$item['edit'] = false;
$item['parent'] = $parent_id;
+
+ // Trigger automatic reactions for addons
+ $item['api_source'] = true;
+
+ // We have to tell the hooks who we are - this really should be improved
+ if (!local_user()) {
+ $_SESSION['authenticated'] = true;
+ $_SESSION['uid'] = $uid;
+ $dummy_session = true;
+ } else {
+ $dummy_session = false;
+ }
+
Hook::callAll('post_local', $item);
+
+ if ($dummy_session) {
+ unset($_SESSION['authenticated']);
+ unset($_SESSION['uid']);
+ }
} else {
Hook::callAll('post_remote', $item);
}
$result = true;
}
- // Trigger automatic reactions for addons
- $datarray['api_source'] = true;
-
- // We have to tell the hooks who we are - this really should be improved
- $_SESSION['authenticated'] = true;
- $_SESSION['uid'] = $contact['uid'];
-
return (bool)$result;
}
$shared_links = [];
}
- $attachments = Post\Media::splitAttachments($item['uri-id'], $item['guid'], $shared_links);
+ $attachments = Post\Media::splitAttachments($item['uri-id'], $item['guid'] ?? '', $shared_links);
$s = self::addVisualAttachments($attachments, $item, $s, false);
$s = self::addLinkAttachment($attachments, $body, $s, false, $shared_links);
$s = self::addNonVisualAttachments($attachments, $item, $s, false);
$data['description'] = '';
}
- if (!empty($data['author_name']) && !empty($data['provider_name'])) {
+ if (($data['author_name'] ?? '') == ($data['provider_name'] ?? '')) {
$data['author_name'] = '';
}
- if (!empty($data['author_url']) && !empty($data['provider_url'])) {
+ if (($data['author_url'] ?? '') == ($data['provider_url'] ?? '')) {
$data['author_url'] = '';
}
} elseif (preg_match("/.*(\[attachment.*?\].*?\[\/attachment\]).*/ism", $body, $match)) {
DI::profiler()->saveTimestamp($stamp1, 'rendering');
if (isset($data['url']) && !in_array($data['url'], $ignore_links)) {
- if (!empty($data['description']) || !empty($data['image'] || !empty($data['preview']))) {
+ if (!empty($data['description']) || !empty($data['image']) || !empty($data['preview'])) {
$parts = parse_url($data['url']);
if (!empty($parts['scheme']) && !empty($parts['host'])) {
if (empty($data['provider_name'])) {