<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
{
$contact = Contact::getByURL($url);
if (empty($contact)) {
+ Logger::info('Contact not found', ['url' => $url]);
return;
}
if (!self::isDiscoverable($url, $contact)) {
+ Logger::info('Contact is not discoverable', ['url' => $url]);
return;
}
}
if (empty($followers) && empty($followings)) {
- DBA::update('contact', ['last-discovery' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
+ Contact::update(['last-discovery' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
Logger::info('The contact does not offer discoverable data', ['id' => $contact['id'], 'url' => $url, 'network' => $contact['network']]);
return;
}
DBA::delete('contact-relation', ['cid' => $target, 'follows' => false, 'last-interaction' => DBA::NULL_DATETIME]);
}
- DBA::update('contact', ['last-discovery' => DateTimeFormat::utcNow()], ['id' => $target]);
+ Contact::update(['last-discovery' => DateTimeFormat::utcNow()], ['id' => $target]);
Logger::info('Contacts discovery finished', ['id' => $target, 'url' => $url, 'follower' => $follower_counter, 'following' => $following_counter]);
return;
}
* @param array $rel
* @return array contact list
*/
- private static function getContacts(int $uid, array $rel)
+ private static function getContacts(int $uid, array $rel): array
{
$list = [];
$profile = Profile::getByUID($uid);
return $list;
}
- $condition = ['rel' => $rel, 'uid' => $uid, 'self' => false, 'deleted' => false,
- 'hidden' => false, 'archive' => false, 'pending' => false];
+ $condition = [
+ 'rel' => $rel,
+ 'uid' => $uid,
+ 'self' => false,
+ 'deleted' => false,
+ 'hidden' => false,
+ 'archive' => false,
+ 'pending' => false,
+ ];
$condition = DBA::mergeConditions($condition, ["`url` IN (SELECT `url` FROM `apcontact`)"]);
$contacts = DBA::select('contact', ['url'], $condition);
while ($contact = DBA::fetch($contacts)) {
* @param array $contact Contact array
* @return boolean True if contact is discoverable
*/
- public static function isDiscoverable(string $url, array $contact = [])
+ public static function isDiscoverable(string $url, array $contact = []): bool
{
$contact_discovery = DI::config()->get('system', 'contact_discovery');
}
/**
- * @param int $uid user
+ * Returns an array of suggested contacts for given user id
+ *
+ * @param int $uid User id
* @param int $start optional, default 0
* @param int $limit optional, default 80
* @return array
*/
- static public function getSuggestions(int $uid, int $start = 0, int $limit = 80)
+ static public function getSuggestions(int $uid, int $start = 0, int $limit = 80): array
{
$cid = Contact::getPublicIdByUserId($uid);
$totallimit = $start + $limit;
// The query returns contacts where contacts interacted with whom the given user follows.
// Contacts who already are in the user's contact table are ignored.
- $results = DBA::select('contact', [],
- ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` IN
+ $results = DBA::select('contact', [], ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` IN
(SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ?)
AND NOT `cid` IN (SELECT `id` FROM `contact` WHERE `uid` = ? AND `nurl` IN
(SELECT `nurl` FROM `contact` WHERE `uid` = ? AND `rel` IN (?, ?))))
AND NOT `hidden` AND `network` IN (?, ?, ?, ?)",
- $cid, 0, $uid, Contact::FRIEND, Contact::SHARING,
- Protocol::ACTIVITYPUB, Protocol::DFRN, $diaspora, $ostatus],
- ['order' => ['last-item' => true], 'limit' => $totallimit]
+ $cid,
+ 0,
+ $uid, Contact::FRIEND, Contact::SHARING,
+ Protocol::ACTIVITYPUB, Protocol::DFRN, $diaspora, $ostatus,
+ ], [
+ 'order' => ['last-item' => true],
+ 'limit' => $totallimit,
+ ]
);
while ($contact = DBA::fetch($results)) {
$contacts[$contact['id']] = $contact;
}
+
DBA::close($results);
Logger::info('Contacts of contacts who are followed by the given user', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]);
* @return int
* @throws Exception
*/
- public static function countFollows(int $cid, array $condition = [])
+ public static function countFollows(int $cid, array $condition = []): int
{
- $condition = DBA::mergeConditions($condition,
- ['`id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`)',
- $cid]
- );
+ $condition = DBA::mergeConditions($condition, [
+ '`id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`)',
+ $cid,
+ ]);
return DI::dba()->count('contact', $condition);
}
* @param int $count
* @param int $offset
* @param bool $shuffle
- * @return array
+ * @return array|bool Array on success, false on failure
* @throws Exception
*/
public static function listCommon(int $sourceId, int $targetId, array $condition = [], int $count = 30, int $offset = 0, bool $shuffle = false)
* @return int
* @throws Exception
*/
- public static function countCommonFollows(int $sourceId, int $targetId, array $condition = [])
+ public static function countCommonFollows(int $sourceId, int $targetId, array $condition = []): int
{
$condition = DBA::mergeConditions($condition,
['`id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`)
* @param int $count
* @param int $offset
* @param bool $shuffle
- * @return array
+ * @return array|bool Array on success, false on failure
* @throws Exception
*/
public static function listCommonFollows(int $sourceId, int $targetId, array $condition = [], int $count = 30, int $offset = 0, bool $shuffle = false)
* @return int
* @throws Exception
*/
- public static function countCommonFollowers(int $sourceId, int $targetId, array $condition = [])
+ public static function countCommonFollowers(int $sourceId, int $targetId, array $condition = []): int
{
$condition = DBA::mergeConditions($condition,
["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ? AND `follows`)
* @param int $count
* @param int $offset
* @param bool $shuffle
- * @return array
+ * @return array|bool Array on success, false on failure
* @throws Exception
*/
public static function listCommonFollowers(int $sourceId, int $targetId, array $condition = [], int $count = 30, int $offset = 0, bool $shuffle = false)