X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Flocalizer%2Fbasic%2FMirBasicProducerAssistantLocalizer.java;h=3c9166f61c198559f191226e8269961f8d007c94;hb=2d3a3231809a1af4e373c3fd13902eeee26728c9;hp=d7747334820e779cbd8d2af17c68f281736537a5;hpb=259a8dadb6be28e48c7ffbd15de888eab066064c;p=mir.git diff --git a/source/mircoders/localizer/basic/MirBasicProducerAssistantLocalizer.java b/source/mircoders/localizer/basic/MirBasicProducerAssistantLocalizer.java index d7747334..3c9166f6 100755 --- a/source/mircoders/localizer/basic/MirBasicProducerAssistantLocalizer.java +++ b/source/mircoders/localizer/basic/MirBasicProducerAssistantLocalizer.java @@ -29,6 +29,15 @@ */ package mircoders.localizer.basic; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.StringWriter; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import mir.config.MirPropertiesConfiguration; import mir.entity.adapter.EntityAdapter; import mir.entity.adapter.EntityIteratorAdapter; @@ -37,27 +46,21 @@ import mir.generator.GeneratorExc; import mir.generator.GeneratorFailure; import mir.log.LoggerWrapper; import mir.misc.StringUtil; -import mir.util.*; +import mir.util.GeneratorDateTimeFunctions; +import mir.util.GeneratorFormatAdapters; import mir.util.generator.ReflectionGeneratorFunctionsAdapter; +import mir.util.StringRoutines; import mircoders.global.MirGlobal; import mircoders.localizer.MirLocalizerExc; import mircoders.localizer.MirLocalizerFailure; import mircoders.localizer.MirProducerAssistantLocalizer; + import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import org.w3c.tidy.Tidy; import org.w3c.tidy.Configuration; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.StringWriter; -import java.util.GregorianCalendar; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import org.w3c.tidy.Tidy; public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantLocalizer { protected LoggerWrapper logger; @@ -129,7 +132,8 @@ public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantL throw new MirLocalizerFailure(t); } - }; + } + public static class getLanguageIdFunction implements Generator.Function { private Map languageCodeToId; private String otherLanguageId; @@ -173,7 +177,7 @@ public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantL catch (Throwable t) { throw new GeneratorFailure("getLanguageIdFunction: " + t.getMessage(), t); } - }; + } } @@ -218,43 +222,18 @@ public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantL private boolean checkAttr(String attrName) { if (attrName.equals("onLoad") || attrName.equals("onClick") || attrName.equals("onFocus") || attrName.equals("onBlur") || attrName.equals("onMouseOver") || attrName.equals("onMouseOut") || attrName.equals("style") || attrName.equals("STYLE") || attrName.equals("height") || attrName.equals("width") || attrName.equals("HEIGHT") || attrName.equals("WIDTH")) return false; - else - return true; + return true; } private boolean checkNode(String nodeName) { - if (nodeName.equals("a") || - nodeName.equals("img") || - nodeName.equals("h1") || - nodeName.equals("h2") || - nodeName.equals("h3") || - nodeName.equals("h4") || - nodeName.equals("h5") || - nodeName.equals("h6") || - nodeName.equals("br") || - nodeName.equals("form") || - nodeName.equals("input") || - nodeName.equals("hr") || - nodeName.equals("strong") || - nodeName.equals("font") || - nodeName.equals("b") || - nodeName.equals("i") || - nodeName.equals("em") || - nodeName.equals("p") || - nodeName.equals("table") || - nodeName.equals("tr") || - nodeName.equals("td") || - nodeName.equals("th") || - nodeName.equals("ul") || - nodeName.equals("ol") || - nodeName.equals("li") - ) { - return true; - } else { - - return false; + List languages = StringRoutines.splitString(MirGlobal.config().getString("Localizer.HTML.Whitelist"), ","); + Iterator i = languages.iterator(); + while (i.hasNext()) { + if (nodeName.equals(i.next())) + return true; } + return false; } private void print(Node node, StringWriter out) throws IOException { @@ -324,6 +303,7 @@ public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantL public Utility () { super(new MirBasicUtilityFunctions()); } + public Object getDatetime() { return new GeneratorDateTimeFunctions.DateTimeFunctions( MirPropertiesConfiguration.instance().getString("Mir.DefaultTimezone"));