X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Factivitymover.php;h=fe33e9081ec1236c3670a6226ffb8466a6c79183;hb=eb955fe6294fc4f256001bb8324ff73c2b9cd362;hp=d5edab5caacb007b73c9fb9745a82a5c3aace820;hpb=2a4dc77a633cc78907934fd93200ac16d55be78e;p=quix0rs-gnu-social.git diff --git a/lib/activitymover.php b/lib/activitymover.php index d5edab5caa..fe33e9081e 100644 --- a/lib/activitymover.php +++ b/lib/activitymover.php @@ -56,7 +56,14 @@ class ActivityMover extends QueueHandler list ($act, $sink, $userURI, $remoteURI) = $data; $user = User::getKV('uri', $userURI); - $remote = Profile::fromURI($remoteURI); + try { + $remote = Profile::fromUri($remoteURI); + } catch (UnknownUriException $e) { + // Don't retry. It's hard to tell whether it's because of + // lookup failures or because the URI is permanently gone. + // If we knew it was temporary, we'd return false here. + return true; + } try { $this->moveActivity($act, $sink, $user, $remote); @@ -86,7 +93,7 @@ class ActivityMover extends QueueHandler } switch ($act->verb) { - case ActivityVerb::FAVORITE: +/* case ActivityVerb::FAVORITE: $this->log(LOG_INFO, "Moving favorite of {$act->objects[0]->id} by ". "{$act->actor->id} to {$remote->nickname}."); @@ -98,7 +105,7 @@ class ActivityMover extends QueueHandler 'notice_id' => $notice->id)); $fave->delete(); } - break; + break;*/ case ActivityVerb::POST: $this->log(LOG_INFO, "Moving notice {$act->objects[0]->id} by ". @@ -121,14 +128,16 @@ class ActivityMover extends QueueHandler } break; case ActivityVerb::FOLLOW: - if ($act->actor->id == $user->uri) { + if ($act->actor->id === $user->getUri()) { $this->log(LOG_INFO, "Moving subscription to {$act->objects[0]->id} by ". "{$act->actor->id} to {$remote->nickname}."); $sink->postActivity($act); - $other = Profile::fromURI($act->objects[0]->id); - if (!empty($other)) { + try { + $other = Profile::fromUri($act->objects[0]->id); Subscription::cancel($user->getProfile(), $other); + } catch (UnknownUriException $e) { + // Can't cancel subscription if we don't know who to alert } } else { $otherUser = User::getKV('uri', $act->actor->id);