X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FContact%2FContacts.php;h=92235e85477e2240bf3fa82c0eaebb906bdc6ce4;hb=79235b6db1c9badd6c9602d54ad0d550e4bec2fd;hp=e328b978ce2b0b2aecbd2b32516a2febb97212fe;hpb=00974324fe48b67ee30e000171e887e5e435ffe5;p=friendica.git diff --git a/src/Module/Contact/Contacts.php b/src/Module/Contact/Contacts.php index e328b978ce..92235e8547 100644 --- a/src/Module/Contact/Contacts.php +++ b/src/Module/Contact/Contacts.php @@ -1,28 +1,48 @@ . + * + */ namespace Friendica\Module\Contact; use Friendica\BaseModule; use Friendica\Content\Pager; +use Friendica\Content\Widget; use Friendica\Core\Renderer; -use Friendica\Core\Session; use Friendica\DI; use Friendica\Model; +use Friendica\Model\User; use Friendica\Module; use Friendica\Network\HTTPException; class Contacts extends BaseModule { - public static function content(array $parameters = []) + protected function content(array $request = []): string { - $app = DI::app(); - - if (!local_user()) { + if (!DI::userSession()->getLocalUserId()) { throw new HTTPException\ForbiddenException(); } - $cid = $parameters['id']; - $type = $parameters['type'] ?? 'all'; + $cid = $this->parameters['id']; + $type = $this->parameters['type'] ?? 'all'; + $accounttype = $_GET['accounttype'] ?? ''; + $accounttypeid = User::getAccountTypeByString($accounttype); if (!$cid) { throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid contact.')); @@ -33,9 +53,9 @@ class Contacts extends BaseModule throw new HTTPException\NotFoundException(DI::l10n()->t('Contact not found.')); } - $localContactId = Model\Contact::getPublicIdByUserId(local_user()); + $localContactId = Model\Contact::getPublicIdByUserId(DI::userSession()->getLocalUserId()); - Model\Profile::load($app, '', $contact); + DI::page()['aside'] = Widget\VCard::getHTML($contact); $condition = [ 'blocked' => false, @@ -44,6 +64,10 @@ class Contacts extends BaseModule 'failed' => false, ]; + if (isset($accounttypeid)) { + $condition['contact-type'] = $accounttypeid; + } + $noresult_label = DI::l10n()->t('No known contacts.'); switch ($type) { @@ -57,10 +81,6 @@ class Contacts extends BaseModule $total = Model\Contact\Relation::countMutuals($cid, $condition); break; case 'common': - $condition = [ - 'NOT `self` AND NOT `blocked` AND NOT `hidden` AND `id` != ?', - $localContactId, - ]; $total = Model\Contact\Relation::countCommon($localContactId, $cid, $condition); $noresult_label = DI::l10n()->t('No common contacts.'); break; @@ -119,6 +139,8 @@ class Contacts extends BaseModule '$paginate' => $pager->renderFull($total), ]); + DI::page()['aside'] .= Widget::accountTypes($_SERVER['REQUEST_URI'], $accounttype); + return $o; } }