- 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) {
- Sone currentSone = getCurrentSone(request.getToadletContext());
- webInterface.core().createPost(currentSone, System.currentTimeMillis(), 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);
+ Optional<Sone> recipient = webInterface.getCore().getSone(recipientId);
+ Optional<LocalSone> sender = webInterface.getCore().getLocalSone(senderId);
+ if (!sender.isPresent()) {
+ sender = getCurrentSone(request.getToadletContext());
+ }
+ text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
+ webInterface.getCore().createPost(sender.get(), recipient, text);
+ throw new RedirectException(returnPage);
+ }
+ templateContext.set("errorTextEmpty", true);