X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FContact.php;h=becc80c0c3c6e09e557e77778aaf37cc59882b80;hb=c141a3eb7951a7b171e700ebfdaba83a154f6f40;hp=f60a362c57689ce22b3f14e88f6f98101db23736;hpb=89534b5be37dd817e93b51892d8e6dc6d036a7b8;p=friendica.git diff --git a/src/Model/Contact.php b/src/Model/Contact.php index f60a362c57..becc80c0c3 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1142,7 +1142,7 @@ class Contact // Fetch contact data from the contact table for the given user $r = q("SELECT `id`, `id` AS `cid`, 0 AS `gid`, 0 AS `zid`, `uid`, `url`, `nurl`, `alias`, `network`, `name`, `nick`, `addr`, `location`, `about`, `xmpp`, - `keywords`, `photo`, `thumb`, `micro`, `forum`, `prv`, (`forum` | `prv`) AS `community`, `contact-type`, `bd` AS `birthday`, `self`, `rel`, `pending` + `keywords`, `photo`, `thumb`, `micro`, `forum`, `prv`, (`forum` | `prv`) AS `community`, `contact-type`, `bd` AS `birthday`, `self`, `rel`, `pending`,`baseurl` FROM `contact` WHERE `addr` = '%s' AND `uid` = %d AND NOT `deleted`", DBA::escape($addr), intval($uid) @@ -1150,7 +1150,7 @@ class Contact // Fetch the data from the contact table with "uid=0" (which is filled automatically) if (!DBA::isResult($r)) { $r = q("SELECT `id`, 0 AS `cid`, `id` AS `zid`, 0 AS `gid`, `uid`, `url`, `nurl`, `alias`, `network`, `name`, `nick`, `addr`, `location`, `about`, `xmpp`, - `keywords`, `photo`, `thumb`, `micro`, `forum`, `prv`, (`forum` | `prv`) AS `community`, `contact-type`, `bd` AS `birthday`, 0 AS `self`, `rel`, `pending` + `keywords`, `photo`, `thumb`, `micro`, `forum`, `prv`, (`forum` | `prv`) AS `community`, `contact-type`, `bd` AS `birthday`, 0 AS `self`, `rel`, `pending`, `baseurl` FROM `contact` WHERE `addr` = '%s' AND `uid` = 0 AND NOT `deleted`", DBA::escape($addr) ); @@ -1159,7 +1159,7 @@ class Contact // Fetch the data from the gcontact table if (!DBA::isResult($r)) { $r = q("SELECT 0 AS `id`, 0 AS `cid`, `id` AS `gid`, 0 AS `zid`, 0 AS `uid`, `url`, `nurl`, `alias`, `network`, `name`, `nick`, `addr`, `location`, `about`, '' AS `xmpp`, - `keywords`, `photo`, `photo` AS `thumb`, `photo` AS `micro`, `community` AS `forum`, 0 AS `prv`, `community`, `contact-type`, `birthday`, 0 AS `self`, 2 AS `rel`, 0 AS `pending` + `keywords`, `photo`, `photo` AS `thumb`, `photo` AS `micro`, `community` AS `forum`, 0 AS `prv`, `community`, `contact-type`, `birthday`, 0 AS `self`, 2 AS `rel`, 0 AS `pending`, `server_url` AS `baseurl` FROM `gcontact` WHERE `addr` = '%s'", DBA::escape($addr) ); @@ -1235,7 +1235,7 @@ class Contact } if (($contact['network'] == Protocol::DFRN) && !$contact['self'] && empty($contact['pending'])) { - $poke_link = DI::baseUrl() . '/poke/?c=' . $contact['id']; + $poke_link = 'contact/' . $contact['id'] . '/poke'; } $contact_url = DI::baseUrl() . '/contact/' . $contact['id']; @@ -1621,6 +1621,9 @@ class Contact // Update the gcontact entry if ($uid == 0) { GContact::updateFromPublicContactID($contact_id); + if (($data['network'] == Protocol::ACTIVITYPUB) && in_array(DI::config()->get('system', 'gcontact_discovery'), [GContact::DISCOVERY_DIRECT, GContact::DISCOVERY_RECURSIVE])) { + GContact::discoverFollowers($data['url']); + } } } } else { @@ -1911,7 +1914,7 @@ class Contact * @param int $cid Contact id * @param bool $force force picture update * - * @return array Returns array of the different avatar sizes + * @return void * @throws HTTPException\InternalServerErrorException * @throws HTTPException\NotFoundException * @throws \ImagickException @@ -1920,8 +1923,7 @@ class Contact { $contact = DBA::selectFirst('contact', ['avatar', 'photo', 'thumb', 'micro', 'nurl'], ['id' => $cid, 'self' => false]); if (!DBA::isResult($contact)) { - Logger::error('Contact not found', ['cid' => $cid]); - throw new HTTPException\NotFoundException('Contact not found'); + return; } $data = [ @@ -1952,12 +1954,8 @@ class Contact DBA::update('contact', $fields, ['id' => $pcontact['id']]); } } - - return $photos; } } - - return $data; } /** @@ -2059,6 +2057,7 @@ class Contact Worker::add(PRIORITY_HIGH, 'MergeContact', $first, $duplicate['id'], $uid); } + DBA::close($duplicates); Logger::info('Duplicates handled', ['uid' => $uid, 'nurl' => $nurl]); return true; } @@ -2734,6 +2733,7 @@ class Contact ); } } + DBA::close($contacts); } /**