Contact\User::insertForContactArray($contact);
+ if ((empty($contact['baseurl']) || empty($contact['gsid'])) && Probe::isProbable($contact['network'])) {
+ Logger::debug('Update missing baseurl', ['id' => $contact['id'], 'url' => $contact['url'], 'callstack' => System::callstack(4, 0, true)]);
+ UpdateContact::add(['priority' => Worker::PRIORITY_MEDIUM, 'dont_fork' => true], $contact['id']);
+ }
+
return $contact['id'];
}
return self::isSharing($cid, $uid, $strict);
}
+ /**
+ * Checks if the provided public contact id has got followers on this system
+ *
+ * @param integer $cid
+ * @return boolean
+ */
+ public static function hasFollowers(int $cid): bool
+ {
+ return DBA::exists('account-user-view', ["`pid` = ? AND `uid` != ? AND `rel` IN (?, ?)", $cid, 0, self::SHARING, self::FRIEND]);
+ }
+
/**
* Get the basepath for a given contact link
*
$user = DBA::selectFirst(
'user',
['uid', 'username', 'nickname', 'pubkey', 'prvkey'],
- ['uid' => $uid, 'account_expired' => false]
+ ['uid' => $uid, 'verified' => true, 'blocked' => false, 'account_removed' => false, 'account_expired' => false]
);
if (!DBA::isResult($user)) {
return false;
}
$fields = ['uid', 'username', 'nickname', 'page-flags', 'account-type', 'prvkey', 'pubkey'];
- $user = DBA::selectFirst('user', $fields, ['uid' => $uid, 'account_expired' => false]);
+ $user = DBA::selectFirst('user', $fields, ['uid' => $uid, 'verified' => true, 'blocked' => false, 'account_removed' => false, 'account_expired' => false]);
if (!DBA::isResult($user)) {
return false;
}
$fields = [
'uid' => $uid,
'url' => $data['url'],
+ 'baseurl' => $data['baseurl'] ?? '',
'nurl' => Strings::normaliseLink($data['url']),
'network' => $data['network'],
'created' => DateTimeFormat::utcNow(),
return false;
}
- $fields = ['id', 'url', 'name', 'nick', 'avatar', 'photo', 'network', 'blocked'];
+ $fields = ['id', 'url', 'name', 'nick', 'avatar', 'photo', 'network', 'blocked', 'baseurl'];
$pub_contact = DBA::selectFirst('contact', $fields, ['id' => $datarray['author-id']]);
if (!DBA::isResult($pub_contact)) {
// Should never happen
'created' => DateTimeFormat::utcNow(),
'url' => $url,
'nurl' => Strings::normaliseLink($url),
+ 'baseurl' => $pub_contact['baseurl'] ?? '',
'name' => $name,
'nick' => $nick,
'network' => $network,