mirror of
https://github.com/friendica/friendica
synced 2025-04-24 11:10:18 +00:00
Avoid more local links and bad http requests
This commit is contained in:
parent
fc46778a00
commit
999cdc7db9
11 changed files with 62 additions and 81 deletions
|
@ -1467,13 +1467,14 @@ class Processor
|
|||
* @param array $child activity array with the child of this message
|
||||
* @param string $relay_actor Relay actor
|
||||
* @param int $completion Completion mode, see Receiver::COMPLETION_*
|
||||
* @param int $uid User id that is used to fetch the activity
|
||||
* @return string fetched message URL
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
public static function fetchMissingActivity(string $url, array $child = [], string $relay_actor = '', int $completion = Receiver::COMPLETION_MANUAL): string
|
||||
public static function fetchMissingActivity(string $url, array $child = [], string $relay_actor = '', int $completion = Receiver::COMPLETION_MANUAL, int $uid = 0): string
|
||||
{
|
||||
$object = self::fetchCachedActivity($url, 0);
|
||||
$object = self::fetchCachedActivity($url, $uid);
|
||||
if (empty($object)) {
|
||||
return '';
|
||||
}
|
||||
|
@ -1536,17 +1537,21 @@ class Processor
|
|||
|
||||
Contact::updateByUrlIfNeeded($actor);
|
||||
|
||||
if (!empty($relay_actor)) {
|
||||
$ldactivity['thread-completion'] = $ldactivity['from-relay'] = Contact::getIdForURL($relay_actor);
|
||||
$ldactivity['completion-mode'] = Receiver::COMPLETION_RELAY;
|
||||
} elseif (!empty($child['thread-completion'])) {
|
||||
if (!empty($child['thread-completion'])) {
|
||||
$ldactivity['thread-completion'] = $child['thread-completion'];
|
||||
$ldactivity['completion-mode'] = $child['completion-mode'] ?? Receiver::COMPLETION_NONE;
|
||||
} else {
|
||||
$ldactivity['thread-completion'] = Contact::getIdForURL($actor);
|
||||
$ldactivity['thread-completion'] = Contact::getIdForURL($relay_actor ?: $actor);
|
||||
$ldactivity['completion-mode'] = $completion;
|
||||
}
|
||||
|
||||
if ($completion == Receiver::COMPLETION_RELAY) {
|
||||
$ldactivity['from-relay'] = $ldactivity['thread-completion'];
|
||||
if (!self::acceptIncomingMessage($ldactivity, $object['id'])) {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($child['thread-children-type'])) {
|
||||
$ldactivity['thread-children-type'] = $child['thread-children-type'];
|
||||
} elseif (!empty($child['type'])) {
|
||||
|
@ -1555,13 +1560,9 @@ class Processor
|
|||
$ldactivity['thread-children-type'] = 'as:Create';
|
||||
}
|
||||
|
||||
if (!empty($relay_actor) && !self::acceptIncomingMessage($ldactivity, $object['id'])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if (($completion == Receiver::COMPLETION_RELAY) && Queue::exists($url, 'as:Create')) {
|
||||
Logger::notice('Activity has already been queued.', ['url' => $url, 'object' => $activity['id']]);
|
||||
} elseif (ActivityPub\Receiver::processActivity($ldactivity, json_encode($activity), 0, true, false, $signer, '', $completion)) {
|
||||
} elseif (ActivityPub\Receiver::processActivity($ldactivity, json_encode($activity), $uid, true, false, $signer, '', $completion)) {
|
||||
Logger::notice('Activity had been fetched and processed.', ['url' => $url, 'entry' => $child['entry-id'] ?? 0, 'completion' => $completion, 'object' => $activity['id']]);
|
||||
} else {
|
||||
Logger::notice('Activity had been fetched and will be processed later.', ['url' => $url, 'entry' => $child['entry-id'] ?? 0, 'completion' => $completion, 'object' => $activity['id']]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue