import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.text.FreenetLinkParser;
import net.pterodactylus.sone.text.FreenetLinkParserContext;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.text.FreenetLinkParser;
import net.pterodactylus.sone.text.FreenetLinkParserContext;
import net.pterodactylus.util.template.Filter;
import net.pterodactylus.util.template.TemplateContext;
import net.pterodactylus.util.template.TemplateContextFactory;
import net.pterodactylus.util.template.Filter;
import net.pterodactylus.util.template.TemplateContext;
import net.pterodactylus.util.template.TemplateContextFactory;
- public ParserFilter(TemplateContextFactory templateContextFactory) {
- linkParser = new FreenetLinkParser(templateContextFactory);
+ public ParserFilter(Core core, TemplateContextFactory templateContextFactory) {
+ this.core = core;
+ linkParser = new FreenetLinkParser(core, templateContextFactory);
- FreenetLinkParserContext context = new FreenetLinkParserContext(sone);
+ if (sone == null) {
+ sone = core.getSone(soneKey, false);
+ }
+ FreenetLinkParserContext context = new FreenetLinkParserContext((Request) templateContext.get("request"), sone);
try {
return linkParser.parse(context, new StringReader(text));
} catch (IOException ioe1) {
try {
return linkParser.parse(context, new StringReader(text));
} catch (IOException ioe1) {