-
+import freemarker.template.SimpleList;
import freemarker.template.SimpleHash;
import freemarker.template.SimpleScalar;
import mir.misc.HTMLParseException;
import mir.misc.MirConfig;
import mir.misc.StringUtil;
import mir.servlet.*;
+import mir.producer.*;
+
+import mircoders.global.*;
+import mircoders.localizer.*;
import mircoders.entity.EntityUsers;
import mircoders.module.ModuleMessage;
import mircoders.module.ModuleUsers;
+import mircoders.storage.DatabaseArticleType;
import mircoders.storage.DatabaseMessages;
import mircoders.storage.DatabaseUsers;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Locale;
+import java.util.*;
/**
* Mir.java - main servlet, that dispatches to servletmodules
*
* @author $Author: mh $
- * @version $Revision: 1.17 $ $Date: 2002/07/21 22:27:39 $
+ * @version $Revision: 1.18 $ $Date: 2002/08/25 19:00:06 $
*
* $Log: Mir.java,v $
+ * Revision 1.18 2002/08/25 19:00:06 mh
+ * merge of localization branch into HEAD. mh and zap
+ *
* Revision 1.17 2002/07/21 22:27:39 mh
* make the user error msg look nicer
*
long startTime = System.currentTimeMillis();
long sessionConnectTime = 0;
+ EntityUsers userEntity;
String http = "";
// get the configration - this could conflict if 2 mirs are in the
MirConfig.setServletName(getServletName());
session = req.getSession(true);
+ userEntity = (EntityUsers) session.getAttribute("login.uid");
if (req.getServerPort() == 443) http = "https"; else http = "http";
res.setContentType("text/html; charset="
/** @todo for cleanup and readability this should be moved to
* method loginIfNecessary() */
+ if (moduleName!=null && moduleName.equals("direct")) {
+ //...
+ }
+
// Authentifizierung
- if (moduleName != null && moduleName.equals("login")) {
+ if ((moduleName != null && moduleName.equals("login")) || (userEntity==null)) {
String user = req.getParameter("login");
String passwd = req.getParameter("password");
theLog.printDebugInfo("--login: evaluating for user: " + user);
- EntityUsers userEntity = allowedUser(user, passwd);
+ userEntity = allowedUser(user, passwd);
if (userEntity == null) {
// login failed: redirecting to login
theLog.printWarning("--login: failed!");
_sendLoginPage(res, req, res.getWriter());
return;
}
- else {
+ else if (moduleName!=null && moduleName.equals("login")) {
// login successful
theLog.printInfo("--login: successful! setting uid: " + userEntity.getId());
}
// Check if authed!
- EntityUsers userEntity = (EntityUsers) session.getAttribute("login.uid");
if (userEntity == null) {
// redirect to loginpage
String redirectString = req.getRequestURI();
mergeData.put("login_user", userEntity);
if (messageModule == null) messageModule = new ModuleMessage(DatabaseMessages.getInstance());
mergeData.put("messages", messageModule.getByWhereClause(null, "webdb_create desc", 0, 10));
+
+ mergeData.put("articletypes", DatabaseArticleType.getInstance().selectByWhereClause("", "id", 0, 20));
+
+ SimpleList producersData = new SimpleList();
+ Iterator i = MirGlobal.localizer().producers().factories().entrySet().iterator();
+ while (i.hasNext()) {
+ Map.Entry entry = (Map.Entry) i.next();
+
+ SimpleList producerVerbs = new SimpleList();
+ Iterator j = ((ProducerFactory) entry.getValue()).verbs();
+ while (j.hasNext()) {
+ producerVerbs.add((String) j.next());
+ }
+
+ SimpleHash producerData = new SimpleHash();
+ producerData.put("key", (String) entry.getKey());
+ producerData.put("verbs", producerVerbs);
+
+ producersData.add(producerData);
+ }
+ mergeData.put("producers", producersData);
+
+
+
HTMLTemplateProcessor.process(res, startTemplate, mergeData, out, getLocale(req));
}
catch (Exception e) {
+ e.printStackTrace(System.out);
handleError(req, res, out, "error while trying to send startpage. " + e.toString());
}
}