id = $publicContact['id']; $account->username = $publicContact['nick']; $account->acct = strpos($publicContact['url'], $baseUrl->get() . '/') === 0 ? $publicContact['nick'] : $publicContact['addr']; $account->display_name = $publicContact['name']; $account->locked = !empty($apcontact['manually-approve']); $account->created_at = DateTimeFormat::utc($publicContact['created'], DateTimeFormat::ATOM); $account->followers_count = $apcontact['followers_count'] ?? 0; $account->following_count = $apcontact['following_count'] ?? 0; $account->statuses_count = $apcontact['statuses_count'] ?? 0; $account->note = BBCode::convert($publicContact['about'], false); $account->url = $publicContact['url']; $account->avatar = $userContact['avatar'] ?? $publicContact['avatar']; $account->avatar_static = $userContact['avatar'] ?? $publicContact['avatar']; // No header picture in Friendica $account->header = ''; $account->header_static = ''; // No custom emojis per account in Friendica $account->emojis = []; // No metadata fields in Friendica $account->fields = []; $account->bot = ($publicContact['contact-type'] == Contact::TYPE_NEWS); $account->group = ($publicContact['contact-type'] == Contact::TYPE_COMMUNITY); $account->discoverable = !$publicContact['unsearchable']; $publicContactLastItem = $publicContact['last-item'] ?: DBA::NULL_DATETIME; $userContactLastItem = $userContact['last-item'] ?? DBA::NULL_DATETIME; $lastItem = $userContactLastItem > $publicContactLastItem ? $userContactLastItem : $publicContactLastItem; $account->last_status_at = $lastItem != DBA::NULL_DATETIME ? DateTimeFormat::utc($lastItem, DateTimeFormat::ATOM) : null; return $account; } }