container->loginManager->isLoggedIn()) { return $this->redirectFromReferer($request, $response, ['visibility']); } $newVisibility = $args['visibility'] ?? null; if (false === in_array($newVisibility, [BookmarkFilter::$PRIVATE, BookmarkFilter::$PUBLIC], true)) { $newVisibility = null; } $currentVisibility = $this->container->sessionManager->getSessionParameter(SessionManager::KEY_VISIBILITY); // Visibility not set or not already expected value, set expected value, otherwise reset it if ($newVisibility !== null && (null === $currentVisibility || $currentVisibility !== $newVisibility)) { // See only public bookmarks $this->container->sessionManager->setSessionParameter( SessionManager::KEY_VISIBILITY, $newVisibility ); } else { $this->container->sessionManager->deleteSessionParameter(SessionManager::KEY_VISIBILITY); } return $this->redirectFromReferer($request, $response, ['visibility']); } }