*/
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;
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;
throw new MirLocalizerFailure(t);
}
- };
+ }
+
public static class getLanguageIdFunction implements Generator.Function {
private Map languageCodeToId;
private String otherLanguageId;
catch (Throwable t) {
throw new GeneratorFailure("getLanguageIdFunction: " + t.getMessage(), t);
}
- };
+ }
}
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 {
public Utility () {
super(new MirBasicUtilityFunctions());
}
+
public Object getDatetime() {
return new GeneratorDateTimeFunctions.DateTimeFunctions(
MirPropertiesConfiguration.instance().getString("Mir.DefaultTimezone"));