package mirlocal.indymedia.nl;
+import java.util.*;
+import mir.util.*;
+import mir.entity.*;
+import mir.storage.*;
import mircoders.localizer.*;
import mircoders.global.*;
import mircoders.localizer.basic.*;
+import mircoders.entity.*;
+import mircoders.storage.*;
public class IndyNLOpenPostingLocalizer extends MirBasicOpenPostingLocalizer {
+
+// private static String[] CONTENT_FIELDS_TO_CHECK = { "content_data", "description", "title", "creator" };
- public void afterContentPosting() {
+
+ public void afterContentPosting(EntityContent aContent) {
+ if (checkEntity(aContent)) {
+ try {
+ aContent.setValueForProperty("to_article_type", "8");
+ aContent.update();
+ }
+ catch (Throwable t) {
+ }
+ }
+
MirGlobal.producerEngine().addJob("media", "new");
MirGlobal.producerEngine().addJob("content", "new");
MirGlobal.producerEngine().addJob("startpage", "(default)");
MirGlobal.producerEngine().addJob("synchronization", "run");
}
- public void afterCommentPosting() {
- super.afterCommentPosting();
+ public void afterCommentPosting(EntityComment aComment) {
+ if (checkEntity(aComment)) {
+ try {
+ aComment.setValueForProperty("is_published", "0");
+ aComment.update();
+ }
+ catch (Throwable t) {
+ }
+ }
+ super.afterCommentPosting(aComment);
+ }
+
+ private boolean checkEntity(Entity anEntity) {
+ String forbiddenWordsSpecification = MirGlobal.getConfigPropertyWithDefault("IndymediaNL.forbiddenExpressions", "");
+ List forbiddenWords = ParameterExpander.splitString(forbiddenWordsSpecification, ":");
+ Iterator i, j;
+ boolean found = false;
+ String field;
+
+
+ try {
+ j = anEntity.getFields().iterator();
+ while (!found && j.hasNext()) {
+ field = anEntity.getValue((String) j.next());
+
+ if (field!=null) {
+ field=field.toLowerCase();
+ i = forbiddenWords.iterator();
+ while (!found && i.hasNext()) {
+ String forbiddenWord = (String) i.next();
+
+ try {
+ if (field.indexOf(forbiddenWord.toLowerCase())>=0) {
+ found = true;
+ }
+ }
+ catch (Throwable t) {
+ logger.printError("Error while matching " + field + " to " + forbiddenWord + ": " + t.toString());
+ }
+ }
+ }
+ }
+ }
+ catch (Throwable t) {
+ }
+
+ return found;
}
}