. * */ namespace Friendica\Module\Contact; use Friendica\App; use Friendica\BaseModule; use Friendica\Content\Widget; use Friendica\Core\L10n; use Friendica\Core\Session\Capability\IHandleUserSessions; use Friendica\DI; use Friendica\Model; use Friendica\Model\Contact as ModelContact; use Friendica\Module\Contact; use Friendica\Module\Response; use Friendica\Network\HTTPException\BadRequestException; use Friendica\Util\Profiler; use Psr\Log\LoggerInterface; /** * GUI for media posts of a contact */ class Media extends BaseModule { /** * @var IHandleUserSessions */ private $userSession; public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, IHandleUserSessions $userSession, $server, array $parameters = []) { parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters); $this->userSession = $userSession; } protected function content(array $request = []): string { $cid = $this->parameters['id']; $contact = Model\Contact::selectFirst([], ['id' => $cid]); if (empty($contact)) { throw new BadRequestException(DI::l10n()->t('Contact not found.')); } DI::page()['aside'] = Widget\VCard::getHTML($contact); $o = Contact::getTabsHTML($contact, Contact::TAB_MEDIA); $o .= ModelContact::getPostsFromUrl($contact['url'], $this->userSession->getLocalUserId(), true); return $o; } }