X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FDirectory.php;h=3a0a9fa34e211b74431d5f0a4523ba5c8f498db8;hb=6dbbd081795fa1c8fe57db2248ac162efeeada88;hp=f24c0665074d4f4f942c9aad427edd76e0ad45a9;hpb=f2c31ef1c0e92208b58d22791fc72d0ad3e3d6ae;p=friendica.git diff --git a/src/Module/Directory.php b/src/Module/Directory.php index f24c066507..3a0a9fa34e 100644 --- a/src/Module/Directory.php +++ b/src/Module/Directory.php @@ -1,4 +1,23 @@ . + * + */ namespace Friendica\Module; @@ -7,33 +26,31 @@ 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\Model\Contact; +use Friendica\DI; +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 = self::getApp(); - $config = $app->getConfig(); + $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.')); + throw new HTTPException\ForbiddenException(DI::l10n()->t('Public access denied.')); } if (local_user()) { - $app->page['aside'] .= Widget::findPeople(); - $app->page['aside'] .= Widget::follow(); + DI::page()['aside'] .= Widget::findPeople(); + DI::page()['aside'] .= Widget::follow(); } $output = ''; @@ -41,9 +58,7 @@ 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'); @@ -51,21 +66,18 @@ class Directory extends BaseModule $gDirPath = Profile::zrl($dirURL, true); } - $pager = new Pager($app->query_string, 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); + 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); + } } } @@ -73,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']), ]); @@ -101,11 +113,11 @@ class Directory extends BaseModule */ public static function formatEntry(array $contact, $photo_size = 'photo') { - $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'])) { @@ -132,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), '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, ];