Browse Source

Use standard function to update the contact to avoid SQL errors

tags/2019.09
Michael Vogel 4 months ago
parent
commit
807d2665ea
1 changed files with 4 additions and 17 deletions
  1. 4
    17
      src/Protocol/ActivityPub/Receiver.php

+ 4
- 17
src/Protocol/ActivityPub/Receiver.php View File

@@ -657,27 +657,14 @@ class Receiver
*/
public static function switchContact($cid, $uid, $url)
{
$profile = ActivityPub::probeProfile($url);
if (empty($profile)) {
return;
}

Logger::log('Switch contact ' . $cid . ' (' . $profile['url'] . ') for user ' . $uid . ' to ActivityPub');

$photo = defaults($profile, 'photo', null);
unset($profile['photo']);
unset($profile['baseurl']);
unset($profile['guid']);

$profile['nurl'] = Strings::normaliseLink($profile['url']);
DBA::update('contact', $profile, ['id' => $cid]);
Contact::updateFromProbe($cid, '', true);

Contact::updateAvatar($photo, $uid, $cid);
Logger::log('Switch contact ' . $cid . ' (' . $url . ') for user ' . $uid . ' to ActivityPub');

// Send a new follow request to be sure that the connection still exists
if (($uid != 0) && DBA::exists('contact', ['id' => $cid, 'rel' => [Contact::SHARING, Contact::FRIEND]])) {
ActivityPub\Transmitter::sendActivity('Follow', $profile['url'], $uid);
Logger::log('Send a new follow request to ' . $profile['url'] . ' for user ' . $uid, Logger::DEBUG);
ActivityPub\Transmitter::sendActivity('Follow', $url, $uid);
Logger::log('Send a new follow request to ' . $url . ' for user ' . $uid, Logger::DEBUG);
}
}


Loading…
Cancel
Save