X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FItem%2FDisplay.php;h=a97c9db830f756903ed15ea389ddc81d6e693c20;hb=f5422111895fd6e67375569bc60da355003f84f7;hp=df500f7ccb4aedd31a95b52b9c82c8cefc0cfe04;hpb=25992b063ac984d42c8d0f63f45f77eab1ee34be;p=friendica.git diff --git a/src/Module/Item/Display.php b/src/Module/Item/Display.php index df500f7ccb..a97c9db830 100644 --- a/src/Module/Item/Display.php +++ b/src/Module/Item/Display.php @@ -1,6 +1,6 @@ session->getLocalUserId(); + $itemUid = $this->session->getLocalUserId(); $parent = null; if (!$this->session->getLocalUserId() && !empty($item['parent-uri-id'])) { @@ -206,8 +205,7 @@ class Display extends BaseModule if (!empty($parent)) { $pageUid = $parent['uid']; - $isRemoteContact = $this->session->getRemoteContactID($pageUid); - if ($isRemoteContact) { + if ($this->session->getRemoteContactID($pageUid)) { $itemUid = $parent['uid']; } } else { @@ -215,13 +213,11 @@ class Display extends BaseModule } if (!empty($pageUid) && ($pageUid != $this->session->getLocalUserId())) { - $page_user = User::getById($pageUid, ['hidewall']); + $page_user = User::getById($pageUid, ['nickname', 'hidewall']); } - $is_owner = $this->session->getLocalUserId() && (in_array($pageUid, [$this->session->getLocalUserId(), 0])); - - if (!empty($page_user['hidewall']) && !$is_owner && !$isRemoteContact) { - throw new HTTPException\ForbiddenException($this->t('Access to this profile has been restricted.')); + if (!empty($page_user['hidewall']) && !$this->session->isAuthenticated()) { + $this->baseUrl->redirect('profile/' . $page_user['nickname'] . '/restricted'); } $sql_extra = Item::getPermissionsSQLByUserId($pageUid); @@ -275,12 +271,14 @@ class Display extends BaseModule $output = ''; + $is_owner = $this->session->getLocalUserId() && (in_array($pageUid, [$this->session->getLocalUserId(), 0])); + // We need the editor here to be able to reshare an item. if ($is_owner && !$update) { $output .= $this->conversation->statusEditor([], 0, true); } - $output .= $this->conversation->create([$item], 'display', $updateUid, false, 'commented', $itemUid); + $output .= $this->conversation->create([$item], Conversation::MODE_DISPLAY, $updateUid, false, 'commented', $itemUid); return $output; }