X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FDirectory.php;h=deb090e4872bbbe551182bf27297aa009b958141;hb=ffa44b8dc0b2ac0d65da245766cf0826e219d9a8;hp=41f27502875207eab78f8326ac7b452ca02f072f;hpb=f2da1c5ab981ad273961eec86a8efdb5e4f01b5c;p=friendica.git diff --git a/src/Module/Directory.php b/src/Module/Directory.php index 41f2750287..deb090e487 100644 --- a/src/Module/Directory.php +++ b/src/Module/Directory.php @@ -1,4 +1,23 @@ . + * + */ namespace Friendica\Module; @@ -7,32 +26,29 @@ use Friendica\Content\Nav; use Friendica\Content\Pager; use Friendica\Content\Widget; use Friendica\Core\Hook; -use Friendica\Core\L10n; -use Friendica\Core\Session; use Friendica\Core\Renderer; +use Friendica\Core\Search; 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(); - if (($config->get('system', 'block_public') && !Session::isAuthenticated()) || - ($config->get('system', 'block_local_dir') && !Session::isAuthenticated())) { - throw new HTTPException\ForbiddenException(L10n::t('Public access denied.')); + if (($config->get('system', 'block_public') && !DI::userSession()->isAuthenticated()) || + ($config->get('system', 'block_local_dir') && !DI::userSession()->isAuthenticated())) { + throw new HTTPException\ForbiddenException(DI::l10n()->t('Public access denied.')); } - if (local_user()) { + if (DI::userSession()->getLocalUserId()) { DI::page()['aside'] .= Widget::findPeople(); DI::page()['aside'] .= Widget::follow(); } @@ -42,31 +58,26 @@ class Directory extends BaseModule Nav::setSelected('directory'); - $search = (!empty($_REQUEST['search']) ? - Strings::escapeTags(trim(rawurldecode($_REQUEST['search']))) : - ''); + $search = trim(rawurldecode($_REQUEST['search'] ?? '')); $gDirPath = ''; - $dirURL = $config->get('system', 'directory'); + $dirURL = Search::getGlobalDirectory(); if (strlen($dirURL)) { $gDirPath = Profile::zrl($dirURL, true); } - $pager = new Pager(DI::args()->getQueryString(), 60); + $pager = new Pager(DI::l10n(), DI::args()->getQueryString(), 60); $profiles = Profile::searchProfiles($pager->getStart(), $pager->getItemsPerPage(), $search); if ($profiles['total'] === 0) { - info(L10n::t('No entries (some entries may be hidden).') . EOL); + DI::sysmsg()->addNotice(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'], DI::userSession()->getLocalUserId()); + if (!empty($contact)) { + $entries[] = Contact::getContactTemplateVars($contact); + } } } @@ -74,15 +85,15 @@ class Directory extends BaseModule $output .= Renderer::replaceMacros($tpl, [ '$search' => $search, - '$globaldir' => L10n::t('Global Directory'), + '$globaldir' => DI::l10n()->t('Global Directory'), '$gDirPath' => $gDirPath, - '$desc' => L10n::t('Find on this site'), + '$desc' => DI::l10n()->t('Find on this site'), '$contacts' => $entries, - '$finding' => L10n::t('Results for:'), + '$finding' => DI::l10n()->t('Results for:'), '$findterm' => (strlen($search) ? $search : ""), - '$title' => L10n::t('Site Directory'), + '$title' => DI::l10n()->t('Site Directory'), '$search_mod' => 'directory', - '$submit' => L10n::t('Find'), + '$submit' => DI::l10n()->t('Find'), '$paginate' => $pager->renderFull($profiles['total']), ]); @@ -100,13 +111,13 @@ class Directory extends BaseModule * * @throws \Exception */ - public static function formatEntry(array $contact, $photo_size = 'photo') + public static function formatEntry(array $contact, string $photo_size = 'photo'): array { - $itemurl = (($contact['addr'] != "") ? $contact['addr'] : $contact['profile_url']); + $itemurl = (($contact['addr'] != "") ? $contact['addr'] : $contact['url']); - $profile_link = $contact['profile_url']; + $profile_link = $contact['url']; - $pdesc = (($contact['pdesc']) ? $contact['pdesc'] . '
' : ''); + $about = (($contact['about']) ? $contact['about'] . '
' : ''); $details = ''; if (strlen($contact['locality'])) { @@ -133,39 +144,33 @@ class Directory extends BaseModule || !empty($profile['postal-code']) || !empty($profile['country-name']) ) { - $location = L10n::t('Location:'); + $location = DI::l10n()->t('Location:'); } else { $location = ''; } - $gender = (!empty($profile['gender']) ? L10n::t('Gender:') : false); - $marital = (!empty($profile['marital']) ? L10n::t('Status:') : false); - $homepage = (!empty($profile['homepage']) ? L10n::t('Homepage:') : false); - $about = (!empty($profile['about']) ? L10n::t('About:') : false); + $homepage = (!empty($profile['homepage']) ? DI::l10n()->t('Homepage:') : false); $location_e = $location; $photo_menu = [ - 'profile' => [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'] ?? 0), 'profile' => $profile, 'location' => $location_e, 'tags' => $contact['pub_keywords'], - 'gender' => $gender, - 'pdesc' => $pdesc, - 'marital' => $marital, - 'homepage' => $homepage, 'about' => $about, + 'homepage' => $homepage, 'photo_menu' => $photo_menu, ];