<?php
/**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
use Friendica\Core\Session;
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Model\Contact;
+use Friendica\Model;
use Friendica\Model\Profile;
use Friendica\Network\HTTPException;
-use Friendica\Util\Proxy as ProxyUtils;
-use Friendica\Util\Strings;
/**
* Shows the local directory of this node
*/
class Directory extends BaseModule
{
- public static function content(array $parameters = [])
+ protected function content(array $request = []): string
{
$app = DI::app();
$config = DI::config();
Nav::setSelected('directory');
- $search = (!empty($_REQUEST['search']) ?
- Strings::escapeTags(trim(rawurldecode($_REQUEST['search']))) :
- '');
+ $search = trim(rawurldecode($_REQUEST['search'] ?? ''));
$gDirPath = '';
$dirURL = $config->get('system', 'directory');
if ($profiles['total'] === 0) {
notice(DI::l10n()->t('No entries (some entries may be hidden).'));
} else {
- if (in_array('small', $app->argv)) {
- $photo = 'thumb';
- } else {
- $photo = 'photo';
- }
-
foreach ($profiles['entries'] as $entry) {
- $entries[] = self::formatEntry($entry, $photo);
+ $contact = Model\Contact::getByURLForUser($entry['url'], local_user());
+ if (!empty($contact)) {
+ $entries[] = Contact::getContactTemplateVars($contact);
+ }
}
}
$location_e = $location;
$photo_menu = [
- 'profile' => [DI::l10n()->t("View Profile"), Contact::magicLink($profile_link)]
+ 'profile' => [DI::l10n()->t("View Profile"), Model\Contact::magicLink($profile_link)]
];
$entry = [
'id' => $contact['id'],
- 'url' => Contact::magicLink($profile_link),
+ 'url' => Model\Contact::magicLink($profile_link),
'itemurl' => $itemurl,
- 'thumb' => ProxyUtils::proxifyUrl($contact[$photo_size], false, ProxyUtils::SIZE_THUMB),
+ 'thumb' => Model\Contact::getThumb($contact),
'img_hover' => $contact['name'],
'name' => $contact['name'],
'details' => $details,
- 'account_type' => Contact::getAccountType($contact),
+ 'account_type' => Model\Contact::getAccountType($contact['contact-type']),
'profile' => $profile,
'location' => $location_e,
'tags' => $contact['pub_keywords'],