Exemple #1
0
  /** {@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());
  }
Exemple #2
0
 /** {@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);
   }
 }
Exemple #3
0
 /** {@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);
 }
Exemple #4
0
 /** {@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);
 }