📄 basicsettingsaction.java
字号:
}
request.setAttribute("projectId", projectId);
request.setAttribute("extcredits", extcredits);
request.setAttribute("creditspolicy", creditspolicy);
request.setAttribute("creditstrans", creditstrans);
request.setAttribute("creditsformula", creditsformula);
request.setAttribute("creditstax", creditstax);
request.setAttribute("transfermincredits", transfermincredits);
request.setAttribute("exchangemincredits", exchangemincredits);
request.setAttribute("maxincperthread", maxincperthread);
request.setAttribute("maxchargespan", maxchargespan);
request.setAttribute("projects", dataBaseService.executeQuery("SELECT id,name FROM "+tablePrefix+"projects WHERE type='extcredit'"));
return mapping.findForward("credit");
}else if(settingsubmit != null){
String projectsave = request.getParameter("projectsave");
String projectId = request.getParameter("projectid");
Map<String,String> oldSettingMap = ForumInit.settings;
Map<String,String> newSettingMap = new HashMap<String,String>();
Map<Integer, Map> extcreditsMap = new HashMap<Integer, Map>();
Map<String, Map> creditspolicyMap = new HashMap<String, Map>();
Map<Integer, Integer> creditspolicyValue_post = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_reply = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_digest = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_postattach = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_getattach = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_pm = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_search = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_promotion_visit = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_promotion_register = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_tradefinished = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_votepoll = new TreeMap<Integer, Integer>();
Map<Integer, Integer> creditspolicyValue_lowerlimit = new TreeMap<Integer, Integer>();
String[] extcreditId = request.getParameterValues("extcreditId");
StringBuffer initcredits = new StringBuffer();
String creditstrans = request.getParameter("creditstrans");
for (int i = 0; i < extcreditId.length; i++) {
Integer extcreditsKey = new Integer(extcreditId[i]);
String extcredits_title = request.getParameter("extcredits_title_" + extcreditId[i]);
String extcredits_unit = request.getParameter("extcredits_unit_" + extcreditId[i]);
String extcredits_ratio = request.getParameter("extcredits_ratio_" + extcreditId[i]);
extcredits_ratio = FormDataCheck.turnToDoubleString(extcredits_ratio);
String extcredits_available = request.getParameter("extcredits_available_" + extcreditId[i]);
if (extcredits_available == null && creditstrans.equals(extcreditId[i])) {
request.setAttribute("errorInfo", "交易积分必须是已经被启用的积分类型,或\"无\"。请返回修改。");
return mapping.findForward("error");
}
String extcredits_showinthread = request.getParameter("extcredits_showinthread_" + extcreditId[i]);
String extcredits_allowexchangeout = request.getParameter("extcredits_allowexchangeout_" + extcreditId[i]);
String extcredits_allowexchangein = request.getParameter("extcredits_allowexchangein_" + extcreditId[i]);
String creditspolicy_lowerlimit = request.getParameter("creditspolicy_lowerlimit_" + extcreditId[i]);
if (creditspolicy_lowerlimit == null) {
creditspolicy_lowerlimit = "0";
}else{
creditspolicy_lowerlimit = getTrueString(creditspolicy_lowerlimit);
}
Map<String, Object> extcreditsValue = new TreeMap<String, Object>();
extcreditsValue.put("title", extcredits_title);
extcreditsValue.put("unit", extcredits_unit);
extcreditsValue.put("ratio", Double.valueOf(extcredits_ratio));
extcreditsValue.put("available", extcredits_available);
extcreditsValue.put("showinthread", extcredits_showinthread);
extcreditsValue.put("allowexchangeout", extcredits_allowexchangeout);
extcreditsValue.put("allowexchangein", extcredits_allowexchangein);
extcreditsValue.put("lowerlimit", Integer.valueOf(creditspolicy_lowerlimit));
extcreditsMap.put(extcreditsKey, extcreditsValue);
String creditspolicy_post = request.getParameter("creditspolicy_post_" + extcreditId[i]);
if (creditspolicy_post != null) {
creditspolicy_post = getTrueString(creditspolicy_post);
}
String creditspolicy_reply = request.getParameter("creditspolicy_reply_" + extcreditId[i]);
if (creditspolicy_reply != null) {
creditspolicy_reply = getTrueString(creditspolicy_reply);
}
String creditspolicy_digest = request.getParameter("creditspolicy_digest_" + extcreditId[i]);
if (creditspolicy_digest != null) {
creditspolicy_digest = getTrueString(creditspolicy_digest);
}
String creditspolicy_postattach = request.getParameter("creditspolicy_postattach_" + extcreditId[i]);
if (creditspolicy_postattach != null) {
creditspolicy_postattach = getTrueString(creditspolicy_postattach);
}
String creditspolicy_getattach = request.getParameter("creditspolicy_getattach_" + extcreditId[i]);
if (creditspolicy_getattach != null) {
creditspolicy_getattach = getTrueString(creditspolicy_getattach);
}
String creditspolicy_pm = request.getParameter("creditspolicy_pm_" + extcreditId[i]);
if (creditspolicy_pm != null) {
creditspolicy_pm = getTrueString(creditspolicy_pm);
}
String creditspolicy_search = request.getParameter("creditspolicy_search_" + extcreditId[i]);
if (creditspolicy_search != null) {
creditspolicy_search = getTrueString(creditspolicy_search);
}
String creditspolicy_promotion_visit = request.getParameter("creditspolicy_promotion_visit_" + extcreditId[i]);
if (creditspolicy_promotion_visit != null) {
creditspolicy_promotion_visit = getTrueString(creditspolicy_promotion_visit);
}
String creditspolicy_promotion_register = request.getParameter("creditspolicy_promotion_register_" + extcreditId[i]);
if (creditspolicy_promotion_register != null) {
creditspolicy_promotion_register = getTrueString(creditspolicy_promotion_register);
}
String creditspolicy_tradefinished = request.getParameter("creditspolicy_tradefinished_" + extcreditId[i]);
if (creditspolicy_tradefinished != null) {
creditspolicy_tradefinished = getTrueString(creditspolicy_tradefinished);
}
String creditspolicy_votepoll = request.getParameter("creditspolicy_votepoll_" + extcreditId[i]);
if (creditspolicy_votepoll != null) {
creditspolicy_votepoll = getTrueString(creditspolicy_votepoll);
}
String initcreditsString = request.getParameter("initcredits_" + extcreditId[i]);
initcreditsString = FormDataCheck.getNumberFromFormOfDisplayorder(initcreditsString);
try {
Integer.valueOf(initcreditsString);
} catch (Exception exception) {
if (initcreditsString.startsWith("-")) {
initcreditsString = Integer.valueOf(Integer.MIN_VALUE).toString();
} else {
initcreditsString = Integer.valueOf(Integer.MAX_VALUE).toString();
}
}
if (i + 1 == extcreditId.length) {
initcredits = initcredits.append(initcreditsString);
} else {
initcredits = initcredits.append(initcreditsString + ",");
}
if(creditspolicy_post != null && !"0".equals(creditspolicy_post)){
creditspolicyValue_post.put(extcreditsKey, Integer.valueOf(creditspolicy_post));
}
if(creditspolicy_reply != null && !"0".equals(creditspolicy_reply)){
creditspolicyValue_reply.put(extcreditsKey, Integer.valueOf(creditspolicy_reply));
}
if(creditspolicy_digest != null && !"0".equals(creditspolicy_digest)){
creditspolicyValue_digest.put(extcreditsKey, Integer.valueOf(creditspolicy_digest));
}
if(creditspolicy_postattach != null && !"0".equals(creditspolicy_postattach)){
creditspolicyValue_postattach.put(extcreditsKey, Integer.valueOf(creditspolicy_postattach));
}
if(creditspolicy_getattach != null && !"0".equals(creditspolicy_getattach)){
creditspolicyValue_getattach.put(extcreditsKey, Integer.valueOf(creditspolicy_getattach));
}
if(creditspolicy_pm != null && !"0".equals(creditspolicy_pm)){
creditspolicyValue_pm.put(extcreditsKey, Integer.valueOf(creditspolicy_pm));
}
if(creditspolicy_search != null && !"0".equals(creditspolicy_search)){
creditspolicyValue_search.put(extcreditsKey, Integer.valueOf(creditspolicy_search));
}
if(creditspolicy_promotion_visit != null && !"0".equals(creditspolicy_promotion_visit)){
creditspolicyValue_promotion_visit.put(extcreditsKey, Integer.valueOf(creditspolicy_promotion_visit));
}
if(creditspolicy_promotion_register != null && !"0".equals(creditspolicy_promotion_register)){
creditspolicyValue_promotion_register.put(extcreditsKey, Integer.valueOf(creditspolicy_promotion_register));
}
if (creditspolicy_tradefinished != null && !"0".equals(creditspolicy_tradefinished)) {
creditspolicyValue_tradefinished.put(extcreditsKey, Integer.valueOf(creditspolicy_tradefinished));
}
if (creditspolicy_votepoll != null && !"0".equals(creditspolicy_votepoll)) {
creditspolicyValue_votepoll.put(extcreditsKey, Integer.valueOf(creditspolicy_votepoll));
}
if (creditspolicy_lowerlimit != null && !"0".equals(creditspolicy_lowerlimit)) {
creditspolicyValue_lowerlimit.put(extcreditsKey, Integer.valueOf(creditspolicy_lowerlimit));
}
}
creditspolicyMap.put("post", creditspolicyValue_post);
creditspolicyMap.put("reply", creditspolicyValue_reply);
creditspolicyMap.put("digest", creditspolicyValue_digest);
creditspolicyMap.put("postattach", creditspolicyValue_postattach);
creditspolicyMap.put("getattach", creditspolicyValue_getattach);
creditspolicyMap.put("pm", creditspolicyValue_pm);
creditspolicyMap.put("search", creditspolicyValue_search);
creditspolicyMap.put("promotion_visit", creditspolicyValue_promotion_visit);
creditspolicyMap.put("promotion_register", creditspolicyValue_promotion_register);
creditspolicyMap.put("tradefinished", creditspolicyValue_tradefinished);
creditspolicyMap.put("votepoll", creditspolicyValue_votepoll);
creditspolicyMap.put("lowerlimit", creditspolicyValue_lowerlimit);
putValue("extcredits", dataParse.combinationChar(extcreditsMap), oldSettingMap, newSettingMap);
putValue("creditspolicy", dataParse.combinationChar(creditspolicyMap), oldSettingMap, newSettingMap);
putValue("initcredits", initcredits.toString(), oldSettingMap, newSettingMap);
String creditsformula = request.getParameter("creditsformula");
if (creditsformula==null||creditsformula.trim().equals("")||!validateExpressions(creditsformula)) {
request.setAttribute("errorInfo","积分公式包含无效变量或运算符,请返回修改。");
return mapping.findForward("error");
}
putValue("creditsformula", creditsformula, oldSettingMap, newSettingMap);
putValue("creditsformulaexp", trunExpression(creditsformula,extcreditsMap), oldSettingMap, newSettingMap);
putValue("creditstrans", creditstrans, oldSettingMap, newSettingMap);
String creditstax = request.getParameter("creditstax");
creditstax = FormDataCheck.turnToDoubleString(creditstax);
Double double1 = Double.valueOf(creditstax);
if (double1 >= 1) {
creditstax = "0";
}
if (double1 < 0) {
creditstax = "0";
}
putValue("creditstax", creditstax, oldSettingMap, newSettingMap);
String transfermincredits = request.getParameter("transfermincredits");
if (!transfermincredits.equals("INF")&& !transfermincredits.equals("-INF")) {
transfermincredits = Double.valueOf(FormDataCheck.getDoubleString(transfermincredits)).toString();
}
if (transfermincredits.equals("Infinity")) {
transfermincredits = "INF";
}
if (transfermincredits.equals("-Infinity")) {
transfermincredits = "-INF";
}
if (transfermincredits.endsWith(".0")) {
transfermincredits = transfermincredits.substring(0,
transfermincredits.length() - 2);
}
putValue("transfermincredits", transfermincredits, oldSettingMap, newSettingMap);
String exchangemincredits = request.getParameter("exchangemincredits");
if (!exchangemincredits.equals("INF")&& !exchangemincredits.equals("-INF")) {
exchangemincredits = Double.valueOf(FormDataCheck.getDoubleString(exchangemincredits)).toString();
}
if (exchangemincredits.equals("Infinity")) {
exchangemincredits = "INF";
}
if (exchangemincredits.equals("-Infinity")) {
exchangemincredits = "-INF";
}
if (exchangemincredits.endsWith(".0")) {
exchangemincredits = exchangemincredits.substring(0,exchangemincredits.length() - 2);
}
putValue("exchangemincredits", exchangemincredits, oldSettingMap, newSettingMap);
String maxincperthread = request.getParameter("maxincperthread");
if (!maxincperthread.equals("INF") && !maxincperthread.equals("-INF")) {
maxincperthread = Double.valueOf(
FormDataCheck.getDoubleString(maxincperthread)).toString();
}
if (maxincperthread.equals("Infinity")) {
maxincperthread = "INF";
}
if (maxincperthread.equals("-Infinity")) {
maxincperthread = "-INF";
}
if (maxincperthread.endsWith(".0")) {
maxincperthread = maxincperthread.substring(0, maxincperthread.length() - 2);
}
putValue("maxincperthread", maxincperthread, oldSettingMap, newSettingMap);
String maxchargespan = request.getParameter("maxchargespan");
if (!maxchargespan.equals("INF") && !maxchargespan.equals("-INF")) {
maxchargespan = Double.valueOf(FormDataCheck.getDoubleString(maxchargespan)).toString();
}
if (maxchargespan.equals("Infinity")) {
maxchargespan = "INF";
}
if (maxchargespan.equals("-Infinity")) {
maxchargespan = "-INF";
}
if (maxchargespan.endsWith(".0")) {
maxchargespan = maxchargespan.substring(0,maxchargespan.length() - 2);
}
putValue("maxchargespan", maxchargespan, oldSettingMap, newSettingMap);
updateSettings(newSettingMap,oldSettingMap);
if(newSettingMap.get("creditsformula")!=null){
String hql = "UPDATE Members SET credits ="+creditsformula;
memberService.updateMembers(hql);
}
if (projectsave.equals("projectsave")) {
HttpSession session = request.getSession(false);
boolean isfounder = (Boolean)session.getAttribute("isfounder");
boolean ishavefounder = (Boolean)session.getAttribute("ishavefounder");
if(ishavefounder && !isfounder){
request.setAttribute("resultInfo", "您没有权限访问该设置,出于安全考虑此设置只有论坛创始人可以使用。");
return mapping.findForward("result");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -