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