+ $contact['about'] = $post['user_title'];
+
+ if (parse_url($post['avatar_template'], PHP_URL_SCHEME)) {
+ $contact['photo'] = str_replace('{size}', '300', $post['avatar_template']);
+ } else {
+ $contact['photo'] = $hostaddr . str_replace('{size}', '300', $post['avatar_template']);
+ }
+
+ $contact['addr'] = $contact['nick'] . '@' . $host;
+ $contact['contact-type'] = Contact::TYPE_PERSON;
+ $contact['url'] = $hostaddr . '/u/' . $contact['nick'];
+ $contact['nurl'] = Strings::normaliseLink($contact['url']);
+ $contact['baseurl'] = $hostaddr;
+ Logger::info('Contact', $contact);
+ $contact['id'] = Contact::getIdForURL($contact['url'], 0, true, $contact);
+ if (!empty($contact['id'])) {
+ $avatar = $contact['photo'];
+ unset($contact['photo']);
+ DBA::update('contact', $contact, ['id' => $contact['id']]);
+ Contact::updateAvatar($avatar, 0, $contact['id']);
+ $contact['photo'] = $avatar;
+ }
+
+ return $contact;
+}
+
+function discourse_process_post($message, $post, $hostaddr)
+{
+ $host = parse_url($hostaddr, PHP_URL_HOST);