- protected void processTemplate(Request request, Template template) throws RedirectException {
- super.processTemplate(request, template);
- String text = request.getHttpRequest().getPartAsStringFailsafe("text", 65536).trim();
- if (text.length() != 0) {
- getCurrentSone(request.getToadletContext()).addPost(text);
- throw new RedirectException("index.html");
+ protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
+ super.processTemplate(request, templateContext);
+ String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);
+ if (request.getMethod() == Method.POST) {
+ String text = request.getHttpRequest().getPartAsStringFailsafe("text", 65536).trim();
+ if (text.length() != 0) {
+ String senderId = request.getHttpRequest().getPartAsStringFailsafe("sender", 43);
+ String recipientId = request.getHttpRequest().getPartAsStringFailsafe("recipient", 43);
+ Sone currentSone = getCurrentSone(request.getToadletContext());
+ Optional<Sone> sender = webInterface.getCore().getLocalSone(senderId);
+ if (sender == null) {
+ sender = of(currentSone);
+ }
+ Optional<Sone> recipient = webInterface.getCore().getSone(recipientId);
+ text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
+ sender.get().newPostBuilder().to(recipient.transform(Identified.GET_ID)).withText(text).build(webInterface.getCore().postCreated());
+ throw new RedirectException(returnPage);
+ }
+ templateContext.set("errorTextEmpty", true);