⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicsettingsaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			}
			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 + -