import java.io.*;
import java.sql.*;
import java.util.*;
+import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import mir.misc.*;
import mir.entity.*;
import mir.storage.*;
-import mir.servlet.ServletModuleException;
import mircoders.entity.*;
import mircoders.storage.*;
public class ServletModuleLinksImcs extends ServletModule
{
+ private ModuleLanguage languageModule;
+
// Singelton / Kontruktor
private static ServletModuleLinksImcs instance = new ServletModuleLinksImcs();
public static ServletModule getInstance() { return instance; }
try {
mainModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance());
+ languageModule = new ModuleLanguage(DatabaseLanguage.getInstance());
} catch (StorageObjectException e) {
theLog.printDebugInfo("ServletModuleLinksImcs konnte nicht initialisiert werden");
}
throws ServletModuleException {
try {
SimpleHash modelRoot = new SimpleHash();
- EntityList theList;
+ EntityList theParentList;
+ EntityList theLanguageList;
int offset = 0;
- theList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset);
+ theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000);
+ theLanguageList = languageModule.getByWhereClause(null, "name", 0);
+
modelRoot.put("new", "1");
- modelRoot.put("imcsparentlist",HTMLTemplateProcessor.makeSimpleList(theList));
+ modelRoot.put("parentlist",HTMLTemplateProcessor.makeSimpleList(theParentList));
+ modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(theLanguageList));
- if (theList == null || theList.getCount() == 0 || theList.getCount()>1){
+ if (theParentList == null || theParentList.getCount() == 0 || theParentList.getCount()>1){
HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+templateObjektString, modelRoot, res.getWriter());
} else {
deliver(req, res, modelRoot, templateObjektString);
SimpleHash modelRoot = new SimpleHash();
EntityList theParentList;
EntityList theImcsList;
+ EntityList theLanguageList;
String offsetParam = req.getParameter("offset");
String where = "";
String offset = "";
PrintWriter out = res.getWriter();
+ // Parameter auswerten
+ String query_text = req.getParameter("query_text");
+ modelRoot.put("query_text",query_text);
+ if (query_text!=null) modelRoot.put("query_text_encoded",URLEncoder.encode(query_text));
+ String query_field = req.getParameter("query_field");
+ modelRoot.put("query_field",query_field);
+ String parent = req.getParameter("to_parent_id");
+ modelRoot.put("to_parent_id",parent);
+ String language = req.getParameter("to_language");
+ modelRoot.put("to_language",language);
+ modelRoot.put("language", getLanguage(req));
+
+ String whereClause=""; boolean isFirst=true;
+ if (query_text!=null && !query_text.equalsIgnoreCase("")) {
+ whereClause += "lower("+query_field+") like lower('%"+query_text+"%')"; isFirst=false;}
+ if (parent != null && !parent.equals("")) {
+ if (isFirst==false) whereClause+=" and ";
+ whereClause += "to_parent_id='"+parent+"'";
+ isFirst=false;
+ }
+ if (language != null && !language.equals("")) {
+ if (isFirst==false) whereClause+=" and ";
+ whereClause += "to_language='"+language+"'";
+ isFirst=false;
+ }
+
// hier offsetcode bearbeiten
if (offsetParam != null && !offsetParam.equals("")){
offset = offsetParam;
if (offset==null || offset.equals("")) offset="0";
modelRoot.put("offset",(new Integer(offset)).toString());
- theParentList = mainModule.getByWhereClause("to_parent_id=NULL", 0);
- theImcsList = mainModule.getByWhereClause(null, "title", (new Integer(offset)).intValue());
+ theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", 0, 1000);
+ theImcsList = mainModule.getByWhereClause(whereClause, "title", (new Integer(offset)).intValue());
+ theLanguageList = languageModule.getByWhereClause(null, "name", 0);
modelRoot.put("parentlist",HTMLTemplateProcessor.makeSimpleList(theParentList));
modelRoot.put("imcslist",HTMLTemplateProcessor.makeSimpleList(theImcsList));
+ modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(theLanguageList));
modelRoot.put("count", (new Integer(theImcsList.getCount())).toString());
modelRoot.put("from", (new Integer(theImcsList.getFrom())).toString());
modelRoot.put("to", (new Integer(theImcsList.getTo())).toString());
public void edit(HttpServletRequest req, HttpServletResponse res)
throws ServletModuleException {
try {
+
SimpleHash modelRoot = new SimpleHash();
EntityList parentList;
- EntityList parentNamesList;
+ EntityList theLanguageList;
int offset = 0;
String idParam = req.getParameter("id");
String where = "";
- parentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset);
+ parentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000);
+ theLanguageList = languageModule.getByWhereClause(null, "name", 0);
- modelRoot.put("imcsparentlist",HTMLTemplateProcessor.makeSimpleList(parentList));
+ modelRoot.put("parentlist",HTMLTemplateProcessor.makeSimpleList(parentList));
+ modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(theLanguageList));
modelRoot.put("entity", HTMLTemplateProcessor.makeSimpleHash(mainModule.getById(idParam)));
deliver(req, res, modelRoot, templateObjektString);
<include "head.template">
<if imcslist>
<table border="0">
+ <tr>
+ <td colspan="5"><form method="post" action="/mir/servlet/Mir">
+ <input type="hidden" name="module" value="LinksImcs">
+ <input type="hidden" name="do" value="list">
+ <input type="hidden" name="cid" value="">
+ <table border="0">
+ <tr bgcolor="Pink">
+ <td>Text suchen in:</td>
+ <td>Parent:</td>
+ <td>Sprache:</td>
+ <td> </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="text" size="10" maxlength="20" name="query_text" value="${query_text}">
+ <select name="query_field">
+ <option value="title"<if query_field == "title"> selected</if>>Name
+ <option value="url"<if query_field == "url"> selected</if>>URL
+ </select>
+ </td>
+ <td>
+ <select name="to_parent_id">
+ <option value=""></option>
+ <list parentlist as parent><option value="${parent.id}"<if to_parent_id == parent.id> selected</if>>${parent.title}</option>
+ </list>
+ </select>
+ </td>
+ <td>
+ <select name="to_language">
+ <option value="">alle</option>
+ <list languagelist as language><option value="${language.id}"<if to_language == language.id> selected</if>>${language.name}</option>
+ </list>
+ </select>
+ </td>
+ <td>
+ <input type="submit" name="search" value="filter">
+ </td>
+ </tr>
+ </table>
+ </form>
+ </td>
+ </tr>
+
<tr bgcolor="#006600">
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1" color="#ffffff">
<b>Name</b></font></td>
</tr>
<list imcslist as entry>
<assign parent = "">
+ <assign language = "">
<list parentlist as p>
<if entry.to_parent_id == p.id><assign parent = p.title></if>
</list>
+ <list languagelist as l>
+ <if entry.to_language == l.id><assign language = l.name></if>
+ </list>
+
<tr <if grey=="1"><assign grey="0">bgcolor="#dddddd" <else><assign grey="1"> </if>>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">${entry.title} </font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">${parent}</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">${entry.url}</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">${entry.sortpriority}</font></td>
- <td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">${entry.to_language}</font></td>
+ <td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">${language}</font></td>
<td><font size="1"> <a href="${actionRoot}?module=LinksImcs&do=delete&id=${entry.id}">delete</a>
| <a href="${actionRoot}?module=LinksImcs&do=edit&id=${entry.id}">edit</a></font>
</td>
</table>
<P>
<if prev>
- <a href="${actionRoot}?module=LinksImcs&do=list&where=${where}&prevoffset=${prev}&prev=zurück">zurueck</a>
+ <a href="${actionRoot}?module=LinksImcs&do=list&order=${order}&query_text=${query_text_encoded}&query_field=${query_field}&to_parent_id=${to_parent_id}&to_language=${to_language}&prevoffset=${prev}&prev=zurück">zurueck</a>
</if>
<if next>
-<a href="${actionRoot}?module=LinksImcs&do=list&where=${where}&nextoffset=${next}&next=weiter">weiter</a>
-</if>
-<if (prev || next)>
- <form method="post" action="${actionRoot}">
- <input type="hidden" name="do" value="list">
- <input type="hidden" name="module" value="LinksImcs">
- <input type="hidden" name="where" value="${where}">
-<if prev>
- <input type="hidden" name="prevoffset" value="${prev}">
- <input type="submit" name="prev" value="zurück">
-</if>
-<if next>
- <input type="hidden" name="nextoffset" value="${next}">
- <input type="submit" name="next" value="weiter">
-</if>
- </form>
+<a href="${actionRoot}?module=LinksImcs&do=list&order=${order}&query_text=${query_text_encoded}&query_field=${query_field}&to_parent_id=${to_parent_id}&to_language=${to_language}&nextoffset=${next}&next=weiter">weiter</a>
</if>
<else>