import java.util.GregorianCalendar;\r
import java.util.HashMap;\r
import java.util.Iterator;\r
-import java.util.List;\r
+import java.util.*;\r
import java.util.Locale;\r
import java.util.Map;\r
import javax.servlet.http.HttpServletRequest;\r
import mir.util.HTTPRequestParser;\r
import mir.util.JDBCStringRoutines;\r
import mir.util.SQLQueryBuilder;\r
-import mir.util.URLBuilder;\r
+import mir.util.*;\r
import mircoders.entity.EntityContent;\r
import mircoders.global.MirGlobal;\r
import mircoders.module.ModuleContent;\r
* ServletModuleContent -\r
* deliver html for the article admin form.\r
*\r
- * @version $Id: ServletModuleContent.java,v 1.52.2.6 2003/09/03 17:49:40 zapata Exp $\r
+ * @version $Id: ServletModuleContent.java,v 1.52.2.11 2003/09/24 02:08:04 zapata Exp $\r
* @author rk, mir-coders\r
*\r
*/\r
int offset = requestParser.getIntegerWithDefault("offset", 0);\r
String selectArticleUrl = requestParser.getParameter("selectarticleurl");\r
\r
- returnArticleList(aRequest, aResponse, where, order, offset, selectArticleUrl);\r
+ returnList(aRequest, aResponse, where, order, offset, selectArticleUrl);\r
}\r
\r
public void search(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc, ServletModuleFailure {\r
queryBuilder.appendAscendingOrder("creator");\r
}\r
\r
- returnArticleList(aRequest, aResponse, queryBuilder.getWhereClause(), queryBuilder.getOrderByClause(), 0, selectArticleUrl);\r
+ returnList(aRequest, aResponse, queryBuilder.getWhereClause(), queryBuilder.getOrderByClause(), 0, selectArticleUrl);\r
}\r
catch (Throwable e) {\r
throw new ServletModuleFailure(e);\r
}\r
\r
public void add(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {\r
- _showObject(null, aRequest, aResponse);\r
+ editObject(aRequest, aResponse, null);\r
}\r
\r
\r
withValues.remove("webdb_create");\r
\r
String id = mainModule.add(withValues);\r
+ logAdminUsage(aRequest, id, "object added");\r
+\r
List topics;\r
\r
DatabaseContentToTopics.getInstance().setTopics(id, aRequest.getParameterValues("to_topic"));\r
\r
- _showObject(id, aRequest, aResponse);\r
+ editObject(aRequest, aResponse, id);\r
}\r
catch (Throwable e) {\r
throw new ServletModuleFailure(e);\r
String idParam = aRequest.getParameter("id");\r
if (idParam == null)\r
throw new ServletModuleExc("Invalid call: id not supplied ");\r
- _showObject(idParam, aRequest, aResponse);\r
+ editObject(aRequest, aResponse, idParam);\r
}\r
\r
// methods for attaching media file\r
throw new ServletModuleFailure(e);\r
}\r
\r
- _showObject(articleId, aRequest, aResponse);\r
+ logAdminUsage(aRequest, articleId, "media " + mediaIdParam + " attached");\r
+\r
+ editObject(aRequest, aResponse, articleId);\r
}\r
\r
public void dettach(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc\r
throw new ServletModuleFailure(e);\r
}\r
\r
- _showObject(articleId, aRequest, aResponse);\r
+ logAdminUsage(aRequest, articleId, "media " + midParam + " deattached");\r
+\r
+ editObject(aRequest, aResponse, articleId);\r
}\r
\r
public void update(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc\r
withValues.remove("webdb_create");\r
\r
String id = mainModule.set(withValues);\r
+\r
+ logAdminUsage(aRequest, id, "object modified");\r
+\r
DatabaseContentToTopics.getInstance().setTopics(aRequest.getParameter("id"), aRequest.getParameterValues("to_topic"));\r
\r
if (returnUrl!=null && !returnUrl.equals("")){\r
redirect(aResponse, returnUrl);\r
}\r
else\r
- _showObject(idParam, aRequest, aResponse);\r
+ editObject(aRequest, aResponse, idParam);\r
}\r
catch (Throwable e) {\r
throw new ServletModuleFailure(e);\r
* @param aResponse\r
* @throws ServletModuleExc\r
*/\r
- public void _showObject(String id, HttpServletRequest aRequest, HttpServletResponse aResponse)\r
+ public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse, String id)\r
throws ServletModuleExc {\r
try {\r
HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);\r
}\r
responseData.put("article", article);\r
\r
- responseData.put("topics",\r
- new EntityIteratorAdapter("", configuration.getString("Mir.Localizer.Admin.TopicListOrder"),\r
- 20, MirGlobal.localizer().dataModel().adapterModel(), "topic"));\r
+ List topicsList = new Vector();\r
+\r
+ String[] topicCategories = configuration.getStringArray("Mir.Localizer.Admin.TopicLists");\r
+\r
+ if (topicCategories.length==0 ) {\r
+ Map categoryMap = new HashMap();\r
+ categoryMap.put("key", "topic");\r
+ categoryMap.put("listtype", "0");\r
+ categoryMap.put("listparameter", "3");\r
+ categoryMap.put("items",\r
+ new EntityIteratorAdapter("", "title",\r
+ 20, MirGlobal.localizer().dataModel().adapterModel(), "topic"));\r
+ topicsList.add(categoryMap);\r
+ }\r
+ else\r
+ {\r
+\r
+ for (int i = 0; i < topicCategories.length; i++) {\r
+ try {\r
+ Map categoryMap = new HashMap();\r
+ List parts = StringRoutines.splitString(topicCategories[i], ":");\r
+ String key = null;\r
+ String listtype = "0";\r
+ String listparameter = "5";\r
+ String where = "";\r
+ String order = "";\r
+\r
+ if (parts.size() > 0)\r
+ key = (String) parts.get(0);\r
+ if (parts.size() > 1)\r
+ listtype = (String) parts.get(1);\r
+ if (parts.size() > 2)\r
+ listparameter = (String) parts.get(2);\r
+ if (parts.size() > 3)\r
+ where = (String) parts.get(3);\r
+ if (parts.size() > 4)\r
+ order = (String) parts.get(4);\r
+\r
+ if (key != null) {\r
+ categoryMap.put("key", key);\r
+ categoryMap.put("listtype", listtype);\r
+ categoryMap.put("listparameter", listparameter);\r
+ categoryMap.put("items",\r
+ new EntityIteratorAdapter(where, order,\r
+ 20, MirGlobal.localizer().dataModel().adapterModel(), "topic"));\r
+ topicsList.add(categoryMap);\r
+ }\r
+ }\r
+ catch (Throwable t) {\r
+ logger.error("error while preparing topics: " + t.toString());\r
+ }\r
+ }\r
+ }\r
+\r
+ responseData.put("topics", topicsList);\r
\r
responseData.put("returnurl", requestParser.getParameter("returnurl"));\r
responseData.put("thisurl", urlBuilder.getQuery());\r
}\r
}\r
\r
- public void returnArticleList(\r
+ public void returnList(HttpServletRequest aRequest, HttpServletResponse aResponse,\r
+ String aWhereClause, String anOrderByClause, int anOffset) throws ServletModuleExc {\r
+ this.returnList(aRequest, aResponse, aWhereClause, anOrderByClause, anOffset, null);\r
+ }\r
+\r
+ public void returnList(\r
HttpServletRequest aRequest,\r
HttpServletResponse aResponse,\r
String aWhereClause,\r
urlBuilder.setValue("childid", requestParser.getParameter("id"));\r
urlBuilder.setValue("returnurl", requestParser.getParameter("returnurl"));\r
\r
- returnArticleList(aRequest, aResponse, "", "", 0, urlBuilder.getQuery());\r
+ returnList(aRequest, aResponse, "", "", 0, urlBuilder.getQuery());\r
}\r
catch (Throwable e) {\r
throw new ServletModuleFailure(e);\r
if (articleId == null)\r
throw new ServletModuleExc("ServletModuleContent.listchildren: article_id not set!");\r
\r
- returnArticleList(aRequest, aResponse, "to_content = " + articleId, "", 0, null);\r
+ returnList(aRequest, aResponse, "to_content = " + articleId, "", 0, null);\r
}\r
catch (Throwable e) {\r
throw new ServletModuleFailure(e);\r
article.setValueForProperty("to_content", parentId);\r
article.setProduced(false);\r
article.update();\r
+ logAdminUsage(aRequest, articleId, "parent set to " + parentId);\r
}\r
catch(Throwable e) {\r
logger.error("ServletModuleContent.setparent: " + e.getMessage());\r
article.setValueForProperty("to_content", "");\r
article.setProduced(false);\r
article.update();\r
+ logAdminUsage(aRequest, articleId, "parent cleared");\r
}\r
catch(Throwable e) {\r
e.printStackTrace(logger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));\r