/** {@inheritDoc} */ @Override protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException { super.processTemplate(request, templateContext); String soneId = request.getHttpRequest().getParam("sone"); Optional<Sone> sone = webInterface.getCore().getSone(soneId); templateContext.set("sone", sone.orNull()); templateContext.set("soneId", soneId); if (!sone.isPresent()) { return; } List<Post> sonePosts = sone.get().getPosts(); sonePosts.addAll(webInterface.getCore().getDirectedPosts(sone.get().getId())); Collections.sort(sonePosts, Post.TIME_COMPARATOR); Pagination<Post> postPagination = new Pagination<Post>(sonePosts, webInterface.getCore().getPreferences().getPostsPerPage()) .setPage(parseInt(request.getHttpRequest().getParam("postPage"), 0)); templateContext.set("postPagination", postPagination); templateContext.set("posts", postPagination.getItems()); Set<PostReply> replies = sone.get().getReplies(); final Map<Post, List<PostReply>> repliedPosts = new HashMap<Post, List<PostReply>>(); for (PostReply reply : replies) { Optional<Post> post = reply.getPost(); if (!post.isPresent() || repliedPosts.containsKey(post.get()) || sone.get().equals(post.get().getSone()) || (sone.get().getId().equals(post.get().getRecipientId().orNull()))) { continue; } repliedPosts.put(post.get(), webInterface.getCore().getReplies(post.get().getId())); } List<Post> posts = new ArrayList<Post>(repliedPosts.keySet()); Collections.sort( posts, new Comparator<Post>() { @Override public int compare(Post leftPost, Post rightPost) { return (int) Math.min( Integer.MAX_VALUE, Math.max( Integer.MIN_VALUE, repliedPosts.get(rightPost).get(0).getTime() - repliedPosts.get(leftPost).get(0).getTime())); } }); Pagination<Post> repliedPostPagination = new Pagination<Post>(posts, webInterface.getCore().getPreferences().getPostsPerPage()) .setPage(parseInt(request.getHttpRequest().getParam("repliedPostPage"), 0)); templateContext.set("repliedPostPagination", repliedPostPagination); templateContext.set("repliedPosts", repliedPostPagination.getItems()); }
/** {@inheritDoc} */ @Override protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException { super.processTemplate(request, templateContext); if (request.getMethod() == Method.POST) { String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256); String identity = request.getHttpRequest().getPartAsStringFailsafe("sone", 44); Sone currentSone = getCurrentSone(request.getToadletContext()); Sone sone = webInterface.getCore().getSone(identity, false); if (sone != null) { webInterface.getCore().untrustSone(currentSone, sone); } throw new RedirectException(returnPage); } }
/** {@inheritDoc} */ @Override protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException { super.processTemplate(request, templateContext); String albumId = request.getHttpRequest().getParam("album", null); if (albumId != null) { Album album = webInterface.getCore().getAlbum(albumId, false); templateContext.set("albumRequested", true); templateContext.set("album", album); templateContext.set("page", request.getHttpRequest().getParam("page")); return; } String imageId = request.getHttpRequest().getParam("image", null); if (imageId != null) { Image image = webInterface.getCore().getImage(imageId, false); templateContext.set("imageRequested", true); templateContext.set("image", image); return; } String soneId = request.getHttpRequest().getParam("sone", null); if (soneId != null) { Sone sone = webInterface.getCore().getSone(soneId, false); templateContext.set("soneRequested", true); templateContext.set("sone", sone); return; } String mode = request.getHttpRequest().getParam("mode", null); if ("gallery".equals(mode)) { templateContext.set("galleryRequested", true); List<Album> albums = new ArrayList<Album>(); for (Sone sone : webInterface.getCore().getSones()) { albums.addAll(sone.getAllAlbums()); } Collections.sort(albums, Album.TITLE_COMPARATOR); Pagination<Album> albumPagination = new Pagination<Album>(albums, 12) .setPage(Numbers.safeParseInteger(request.getHttpRequest().getParam("page"), 0)); templateContext.set("albumPagination", albumPagination); templateContext.set("albums", albumPagination.getItems()); return; } Sone sone = getCurrentSone(request.getToadletContext(), false); templateContext.set("soneRequested", true); templateContext.set("sone", sone); }
/** {@inheritDoc} */ @Override protected void processTemplate(Request request, Template template) throws RedirectException { super.processTemplate(request, template); /* get all own identities. */ List<Sone> localSones = new ArrayList<Sone>(webInterface.getCore().getLocalSones()); Collections.sort(localSones, Sone.NICE_NAME_COMPARATOR); template.set("sones", localSones); if (request.getMethod() == Method.POST) { String soneId = request.getHttpRequest().getPartAsStringFailsafe("sone-id", 100); Sone selectedSone = webInterface.getCore().getLocalSone(soneId, false); if (selectedSone != null) { setCurrentSone(request.getToadletContext(), selectedSone); throw new RedirectException("index.html"); } } List<OwnIdentity> ownIdentitiesWithoutSone = CreateSonePage.getOwnIdentitiesWithoutSone(webInterface.getCore()); template.set("identitiesWithoutSone", ownIdentitiesWithoutSone); }