$apcontact = APContact::getByURL($publicContact['url'], false);
- $profileFields = $this->profileField->select(['uid' => $uid, 'psid' => PermissionSet::PUBLIC]);
- $fields = $this->mstdnField->createFromProfileFields($profileFields);
+ if (!empty($userContact['self'])) {
+ $profileFields = $this->profileField->select(['uid' => $uid, 'psid' => PermissionSet::PUBLIC]);
+ $fields = $this->mstdnField->createFromProfileFields($profileFields);
+ } else {
+ $fields = new Fields();
+ }
return new \Friendica\Object\Api\Mastodon\Account($this->baseUrl, $publicContact, $fields, $apcontact, $userContact);
}
$adminList = explode(',', str_replace(' ', '', DI::config()->get('config', 'admin_email')));
$administrator = User::getByEmail($adminList[0], ['nickname']);
if (!empty($administrator)) {
- $adminContact = DBA::selectFirst('contact', ['id'], ['nick' => $administrator['nickname'], 'self' => true]);
- $instance->contact_account = DI::mstdnAccount()->createFromContactId($adminContact['id']);
+ $adminContact = DBA::selectFirst('contact', ['id', 'uid'], ['nick' => $administrator['nickname'], 'self' => true]);
+ $instance->contact_account = DI::mstdnAccount()->createFromContactId($adminContact['id'], $adminContact['uid']);
}
}