package mircoders.servlet;
import mir.entity.adapter.EntityAdapter;
+import mir.entity.adapter.EntityAdapterEngine;
import mir.entity.adapter.EntityAdapterModel;
-import mir.entity.adapter.EntityIteratorAdapter;
import mir.generator.Generator;
import mir.log.LoggerWrapper;
import mir.misc.StringUtil;
* Article admin interface code
*/
-public class ServletModuleContent extends ServletModule
-{
+public class ServletModuleContent extends ServletModule {
private static ServletModuleContent instance = new ServletModuleContent();
public static ServletModule getInstance() { return instance; }
private static ModuleContent contentModule;
/**
* Attaches media to an article
- *
*/
public void attach(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
String mediaIdParam = aRequest.getParameter("mid");
String articleId = aRequest.getParameter("articleid");
-
if (articleId == null || mediaIdParam==null)
throw new ServletModuleExc("smod content :: attach :: articleid/mid missing");
-
+ // check if mediaIdParam and articleid are correct integers
+ try
+ {
+ Integer.parseInt(mediaIdParam);
+ Integer.parseInt(articleId);
+ }
+ catch(NumberFormatException e)
+ {
+ throw new ServletModuleExc("smod content :: attach :: invalid articleid/mid");
+ }
+
if (!MirGlobal.accessControl().article().mayEditArticle(ServletHelper.getUser(aRequest), articleId))
throw new ServletModuleExc("Article has been locked");
HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
EntityAdapterModel model = MirGlobal.localizer().dataModel().adapterModel();
- Map article;
+ Object article;
URLBuilder urlBuilder = new URLBuilder();
urlBuilder.setValue("module", "Content");
else {
List fields = DatabaseContent.getInstance().getFieldNames();
responseData.put("new", Boolean.TRUE);
- article = new HashMap();
+ Map emptyArticle = new HashMap();
Iterator i = fields.iterator();
while (i.hasNext()) {
- article.put(i.next(), null);
+ emptyArticle.put(i.next(), null);
}
- article.put("to_topics", null);
+ emptyArticle.put("to_topics", null);
- MirGlobal.localizer().adminInterface().initializeArticle(article);
+ MirGlobal.localizer().adminInterface().initializeArticle(emptyArticle);
+ article = emptyArticle;
responseData.put("mayEdit", Boolean.TRUE);
responseData.put("mayLock", Boolean.FALSE);
responseData.put("mayForceLock", Boolean.FALSE);
responseData.put("mayUnlock", Boolean.FALSE);
+
}
responseData.put("article", article);
categoryMap.put("key", "topic");
categoryMap.put("listtype", "0");
categoryMap.put("listparameter", "3");
- categoryMap.put("items",
- new EntityIteratorAdapter("", "title",
- 20, MirGlobal.localizer().dataModel().adapterModel(), "topic"));
+ categoryMap.put("items", EntityAdapterEngine.retrieveAdapterList(model, "topic", "", "title", -1, 0));
topicsList.add(categoryMap);
}
else {
try {
Map categoryMap = new HashMap();
List parts = StringRoutines.splitString(topicCategories[i], ":");
+
String key = null;
String listtype = "0";
String listparameter = "5";
categoryMap.put("key", key);
categoryMap.put("listtype", listtype);
categoryMap.put("listparameter", listparameter);
- categoryMap.put("items",
- new EntityIteratorAdapter(where, order,
- 20, MirGlobal.localizer().dataModel().adapterModel(), "topic"));
+ categoryMap.put("items", EntityAdapterEngine.retrieveAdapterList(model, "topic", where, order, -1, 0));
topicsList.add(categoryMap);
}
}
if (articleId == null)
throw new ServletModuleExc("ServletModuleContent.listchildren: article_id not set!");
- returnList(aRequest, aResponse, "to_content = " + articleId, "webdb_create desc", 0, null);
+ returnList(aRequest, aResponse, "to_content = " + articleId, "webdb_create desc", 0);
}
catch (Throwable e) {
throw new ServletModuleFailure(e);