<?php
/**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
return $emptyResultList;
}
- $contactDetails = Contact::getByURLForUser($user_data['url'] ?? '', local_user());
+ $contactDetails = Contact::getByURLForUser($user_data['url'] ?? '', DI::userSession()->getLocalUserId());
$result = new ContactResult(
$user_data['name'] ?? '',
foreach ($profiles as $profile) {
$profile_url = $profile['profile_url'] ?? '';
- $contactDetails = Contact::getByURLForUser($profile_url, local_user());
+ $contactDetails = Contact::getByURLForUser($profile_url, DI::userSession()->getLocalUserId());
$result = new ContactResult(
$profile['name'] ?? '',
}
// Add found profiles from the global directory to the local directory
- Worker::add(PRIORITY_LOW, 'SearchDirectory', $search);
+ Worker::add(Worker::PRIORITY_LOW, 'SearchDirectory', $search);
return $resultList;
}
{
Logger::info('Searching', ['search' => $search, 'mode' => $mode, 'page' => $page]);
- if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
+ if (DI::config()->get('system', 'block_public') && !DI::userSession()->isAuthenticated()) {
return [];
}
if ($curlResult->isSuccess()) {
$searchResult = json_decode($curlResult->getBody(), true);
if (!empty($searchResult['profiles'])) {
- $return = $searchResult['profiles'];
+ // Converting Directory Search results into contact-looking records
+ $return = array_map(function ($result) {
+ static $contactType = [
+ 'People' => Contact::TYPE_PERSON,
+ 'Forum' => Contact::TYPE_COMMUNITY,
+ 'Organization' => Contact::TYPE_ORGANISATION,
+ 'News' => Contact::TYPE_NEWS,
+ ];
+
+ return [
+ 'name' => $result['name'],
+ 'addr' => $result['addr'],
+ 'url' => $result['profile_url'],
+ 'network' => Protocol::DFRN,
+ 'micro' => $result['photo'],
+ 'contact-type' => $contactType[$result['account_type']],
+ ];
+ }, $searchResult['profiles']);
}
}
}