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

📄 basicsettingsaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		}
		String variables[]={"archiverstatus","rewritestatus","rewritecompatible","seotitle","seokeywords","seodescription","seohead","baidusitemap","baidusitemap_life"};					
		Map<String,String> oldSettings=ForumInit.settings;
		Map<String,String> settings=new HashMap<String,String>();
		for (String variable: variables) {
			String value=request.getParameter(variable);	    	
			if("rewritestatus".equals(variable)){
				int sum=0;
				for(int j=0;j<5;j++){
					String rewritestatus=request.getParameter(variable+j);
					if(rewritestatus!=null){
						sum=sum+Integer.valueOf(rewritestatus);
					}
				}
				value=String.valueOf(sum);
			}
			else if("baidusitemap_life".equals(variable)){
				value=Common.toDigit(value, 24l, 1l).toString();
			}
			this.putValue(variable, value, oldSettings, settings);
		}
		this.updateSettings(settings,oldSettings);
		return this.getForward(mapping, request);
	}
	public ActionForward cachethread(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String settingsubmit=request.getParameter("settingsubmit");
		if(settingsubmit==null){
			HttpSession session=request.getSession();
			short groupid = (Short)session.getAttribute("jsprun_groupid");
			Members member = (Members)session.getAttribute("user");
			request.setAttribute("forumselect", Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",null,false));
			return mapping.findForward("setting_cachethread");
		}
		String[] variables =new String[]{"cacheindexlife", "cachethreadlife","cachethreaddir", "threadcaches" };
		Map<String,String> oldSettings=ForumInit.settings;
		Map<String,String> settings=new HashMap<String,String>();
		for(String variable:variables){
			String value=request.getParameter(variable);			
			if("cachethreaddir".equals(variable)){
				String path = this.servlet.getServletContext().getRealPath("/");
				File file = new File(path+value);
				if (!file.isDirectory()) {
					request.setAttribute("errorInfo", "对不起,您所指定的目录 " + value + " 不存在或者不可写!请返回并尝试通过 FTP 将其属性改为 777。");
					return mapping.findForward("error");
				}
			}else if("threadcaches".equals(variable)){
				value=Common.toDigit(value, 100L, 0L).toString();
				String forum[]=request.getParameterValues("forum"); 
				if(forum!=null&&forum.length>0){
					StringBuffer fids=new StringBuffer("0");
					for(String fid:forum){
						if("all".equals(fid)){
							fids=null;
							break;
						}
						else if(!"".equals(fid)) {
							fids.append(","+fid);
						}
					}
					String sql=null;
					if(fids==null){
						sql="update jrun_forums set threadcaches= "	+ value;
					}
					else{
						sql="update jrun_forums set threadcaches="+ value + " where fid in ("+fids+")";
					}
					dataBaseService.runQuery(sql,true);
				}
			}
			else{
				value=Common.toDigit(value, 2147483647l, 0l).toString();
			}			
			this.putValue(variable, value, oldSettings, settings);
		}
		this.updateSettings(settings,oldSettings);
		return this.getForward(mapping, request);
	}

	@SuppressWarnings("unchecked")
	public ActionForward functions(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String settingsubmit=request.getParameter("settingsubmit");
		if(settingsubmit==null){
			Map<String,String> settings=ForumInit.settings;
			int jsmenustatus=Integer.valueOf(settings.get("jsmenustatus"));
			Common.setChecked(request, "jsmenustatus", 4, jsmenustatus);
			
			List<Map<String,String>> medalMapList = dataBaseService.executeQuery("SELECT medalid,name,image FROM "+tablePrefix+"medals WHERE available='1'");
			String honorvalue = settings.get("honorvalue");
			Map<String,Map<String,String>> honorvalueDP = (Map<String,Map<String,String>>)dataParse.characterParse(honorvalue, false);
			String tempString = null;
			for(Map<String,String> medalMap : medalMapList){
				medalMap.put("name", medalMap.get("name").replace("\"", "&quot;"));
				medalMap.put("image", medalMap.get("image").replace("\"", "&quot;"));
				Map<String,String> tempMap = honorvalueDP.get(medalMap.get("medalid"));
				if(tempMap!=null){
					tempString = tempMap.get("qualification");
					tempString = tempString !=null ? tempString.replace("\"", "&quot;"):null;
					medalMap.put("qualification", tempString);
					tempString = tempMap.get("reason");
					tempString = tempString !=null ? tempString.replace("\"", "&quot;"):null;
					medalMap.put("reason", tempString);
					medalMap.put("checked", tempMap.get("checked"));
				}else{
					medalMap.put("qualification", "");
					medalMap.put("reason", "勋章自动授予");
					medalMap.put("checked", "0");
				}
			}
			Map extcredits = dataParse.characterParse(settings.get("extcredits"),true);
			request.setAttribute("medalMapList", medalMapList);
			request.setAttribute("extcredits", extcredits);
			return mapping.findForward("setting_functions");
		}
		String variables[] = { "forumjump", "jsmenustatus", "pluginjsmenu","editoroptions","bbinsert","smileyinsert", "smthumb", "smcols", "smrows", "statstatus","statscachelife", "pvfrequence", "oltimespan", "modworkstatus","maxmodworksmonths", "myrecorddays", "losslessdel","modreasons", "bannedmessages", "tagstatus", "hottags","viewthreadtags", "rssstatus", "rssttl", "allowcsscache","bdaystatus", "debug", "activitytype"};
		Map<String,String> oldSettings=ForumInit.settings;
		Map<String,String> settings=new HashMap<String,String>();
		for(String variable:variables){
			String value=request.getParameter(variable);
			if ("jsmenustatus".equals(variable)) {
				int sum = 0;
				for (int j = 0; j < 4; j++) {
					String par = request.getParameter(variable + j);
					if (par != null)
						sum = sum + Integer.valueOf(par);
				}
				value = String.valueOf(sum);
			}else if("editoroptions".equals(variable)||"editoroptions_changer".equals(variable)){
				int editoroptions_editer=Integer.valueOf(request.getParameter("editoroptions_editer"));
				int editoroptions_changer=Integer.valueOf(request.getParameter("editoroptions_changer"));
				value=String.valueOf(editoroptions_editer+editoroptions_changer);
			}else if(Common.matches(variable, "^(smcols|statscachelife|pvfrequence|oltimespan|maxmodworksmonths|losslessdel|rssttl)$")){
				value = Double.valueOf(FormDataCheck.getDoubleString(value)).toString();
				if(value.endsWith(".0")){
					value = value.substring(0,value.length()-2);
				}
			}else if("smthumb".equals(variable)){
				long smthumb=Common.toDigit(value, 2147483647l, 0l);
				value =String.valueOf(smthumb);
				if(!(smthumb>=20&&smthumb<=40)){
					value = "20";
				}
			}else if("myrecorddays".equals(variable)){
				long myrecorddays=Common.toDigit(value, 2147483647l, 0l);
				value =String.valueOf(myrecorddays);
				if(myrecorddays<1){
					value = "30";
				}
			}
			this.putValue(variable, value, oldSettings, settings);
		}
		String honorset = request.getParameter("honorset");
		this.putValue("honorset", honorset, oldSettings, settings);
		
		String[] medalIdArray = request.getParameterValues("au_medalid");
		
		List<Map<String,String>> medalMapList = dataBaseService.executeQuery("SELECT medalid FROM "+tablePrefix+"medals WHERE available");
		
		Map<String,Map<String,String>> honorvalueTDP = new HashMap<String, Map<String,String>>(); 
		boolean checked_b = false;
		for(Map<String,String> medalMap : medalMapList){
			checked_b = false;
			String medalid = medalMap.get("medalid");
			
			Map<String,String> honorvalueIMP = new HashMap<String, String>();
			honorvalueTDP.put(medalid, honorvalueIMP);
			if(medalIdArray!=null){
				for(String medalIdFR : medalIdArray){
					if(medalid.equals(medalIdFR)){
						checked_b = true;
						break;
					}
				}
			}
			honorvalueIMP.put("checked", checked_b?"1":"0");
			String qualification = request.getParameter("mqualification_"+medalid);
			if (checked_b && (qualification==null||qualification.trim().equals("")||!validateQualification(qualification))) {
				request.setAttribute("errorInfo","积分公式包含无效变量或运算符,请返回修改。");
				return mapping.findForward("error");
			}
			honorvalueIMP.put("qualification", qualification);
			honorvalueIMP.put("reason", request.getParameter("mreason_"+medalid));
		}
		String honorvalue = dataParse.combinationChar(honorvalueTDP);
		this.putValue("honorvalue", honorvalue, oldSettings, settings);
		this.updateSettings(settings,oldSettings);
		if("2".equals(honorset)&& medalIdArray!=null){
			Members currentMember = (Members) request.getSession().getAttribute("members");
			String realPath = servlet.getServletContext().getRealPath("/");
			int nowtime = (int)(System.currentTimeMillis()/1000);
			String uids = null;
			for(String medalId : medalIdArray){
				Map<String,String> honorvalueIMP = honorvalueTDP.get(medalId);
				String qualification = honorvalueIMP.get("qualification");
				String reason = honorvalueIMP.get("reason");
				
				qualification = qualification.replace("extcredits", "m.extcredits").replace("oltime", "m.oltime").replace("pageviews", "m.pageviews").replaceAll("posts", "temp").replace("digesttemp", "m.digestposts").replace("temp", "m.posts");
				List<Map<String, String>> memberslist = dataBaseService.executeQuery("select m.uid,m.username,mm.medals from "+tablePrefix+"members as m left join "+tablePrefix+"memberfields as mm on m.uid=mm.uid where "+qualification);
				boolean exist = false;
				uids = "0";
				if(memberslist!=null){
					for(Map<String,String> memberIfMap : memberslist){
						String mmMedals = memberIfMap.get("medals");
						exist = false;
						if(mmMedals!=null && !mmMedals.equals("")){
							String[] mmMedalsArray = mmMedals.split("\t");
							for(String mmMedal : mmMedalsArray){
								if(mmMedal.equals(medalId)){
									exist = true;
									break;
								}
							}
						}
						if(!exist){
							uids += ","+memberIfMap.get("uid");
							Log.writelog(realPath, "medalslog", nowtime + "\t" + currentMember.getUsername() + "\t" + request.getRemoteAddr() + "\t" + memberIfMap.get("username") + "\t" + medalId + "\tgrant\t" + reason);
						}
					}
				}
				if(!uids.equals("0")){
					dataBaseService.execute("UPDATE "+tablePrefix+"memberfields SET medals=concat(medals,'"+medalId+"\t') where uid IN(" + uids+")");
				}
			}
		}
		
		return this.getForward(mapping, request);
	}
	
	@SuppressWarnings("unchecked")
	public ActionForward toCredits(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String settingsubmit = request.getParameter("settingsubmit");
		String addsubmit = request.getParameter("addsubmit");
		if(settingsubmit == null && addsubmit==null){
			String projectId = request.getParameter("projectid");
			Map<String,String> settingMap = ForumInit.settings;
			Map extcredits = null;
			Map creditspolicy = null;
			String creditsformula = null;
			String creditstrans = null;
			String creditstax = null;
			String transfermincredits = null;
			String exchangemincredits = null;
			String maxincperthread = null;
			String maxchargespan = null;
			if (projectId == null || projectId.equals("0")) {
				extcredits = dataParse.characterParse(settingMap.get("extcredits"), true); 
				creditspolicy = dataParse.characterParse(settingMap.get("creditspolicy"), true); 
				creditsformula = settingMap.get("creditsformula"); 
				creditstrans = settingMap.get("creditstrans"); 
				creditstax = settingMap.get("creditstax"); 
				transfermincredits = settingMap.get("transfermincredits"); 
				exchangemincredits = settingMap.get("exchangemincredits"); 
				maxincperthread = settingMap.get("maxincperthread"); 
				maxchargespan = settingMap.get("maxchargespan"); 
			} else { 
				Short id = new Short(projectId);
				Projects project = creSetSer.findBuId(id);
				if (project != null) {
					String str = project.getValue();
					Map temp = dataParse.characterParse(str,  true);
					extcredits = dataParse.characterParse((String) temp.get("extcredits"),true);
					creditspolicy = dataParse.characterParse((String) temp.get("creditspolicy"), true);
					creditstrans = (String) temp.get("creditstrans");
					creditsformula = (String) temp.get("creditsformula");
					creditstax = (String) temp.get("creditstax");
					transfermincredits = (String) temp.get("transfermincredits");
					exchangemincredits = (String) temp.get("exchangemincredits");
					maxincperthread = (String) temp.get("maxincperthread");
					maxchargespan = (String) temp.get("maxchargespan");
				}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -