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

📄 postsaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		int totalsize = Common.toDigit(dataBaseService.executeQuery("select count(*) count from jrun_forumrecommend as f where f.fid ="+ fid).get(0).get("count"));
		LogPage loginpage = new LogPage(totalsize,10,currentPage);
		request.setAttribute("logpage", loginpage);
		request.setAttribute("totalsize", totalsize);
		int beginsize = (currentPage - 1) * 10;
		if (beginsize > totalsize) {
			beginsize = totalsize;
		}
		List<Map<String,String>> list = dataBaseService.executeQuery("select c.*,m.username,f.name from jrun_forumrecommend c left join jrun_forums f on c.fid=f.fid left join jrun_members m on c.moderatorid=m.uid where f.fid="+fid+" limit "+beginsize+",10");
		String newsb = getSb(list); 
		request.setAttribute("fid", fid);
		request.setAttribute("showList", list);
		request.setAttribute("sb", newsb);
		request.setAttribute("notfirst", "notfirst"); 
		String successInfo = "推荐主题数据更新";
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath", "admincp.jsp?action=forumrecommend");
		return mapping.findForward("success");
	}

	private String toDelete(String fids) {
		StringBuffer sb = new StringBuffer("delete[");
		sb.append(fids);
		sb.append("]");
		return sb.toString();
	}

	public ActionForward batchWords(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String censorsubmit = request.getParameter("censorsubmit");
		if(censorsubmit==null){
			Common.requestforward(response, "admincp.jsp?action=censor");
			return null;
		}
		HttpSession session = request.getSession();
		List<Words> updateFindList = new ArrayList<Words>(); 
		List<Words> updateReplaceList = new ArrayList<Words>(); 
		String hiddenFindArray = request.getParameter("findArray"); 
		String hiddenReplaceArray = request.getParameter("replaceArray"); 
		updateFindList = updateListWord(request, hiddenFindArray,updateFindList, true); 
		updateReplaceList = updateListWord(request, hiddenReplaceArray,updateReplaceList, false); 
		wordsService.updateWordsList(updateFindList, updateReplaceList); 
		String[] deleteArray = request.getParameterValues("delete[]"); 
		wordsService.delteCollection(deleteArray);
		String newFind = request.getParameter("newfind"); 
		String newreplace = request.getParameter("newreplace"); 
		if (newFind.getBytes().length < 3 && newFind != null && !newFind.equals("")) {
			request.setAttribute("errorInfo", "添加关键词长度过短,请返回修改。");
			return mapping.findForward("error");
		}
		Members members = (Members)session.getAttribute("members");
		String username = members!=null?members.getUsername():"";
		wordsService.saveWords(getWords(newFind, newreplace,username)); 
		updateFindList = null;updateReplaceList=null;deleteArray=null;
		String successInfo = "词语过滤更新成功";
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath", "admincp.jsp?action=censor");
		return mapping.findForward("success");
	}

	public ActionForward downWords(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		String filename = "CensorWords.txt";
		response.setHeader("Content-Type","application/octet-stream");
		response.setHeader("Content-Disposition","attachment; filename="+filename);
		response.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");
		response.setHeader("Last-Modified", new Date().toGMTString()+" GMT");
		response.setHeader("Content-Encoding", "none");
		response.setHeader("Cache-Control", "no-cache, must-revalidate");
		response.setHeader("Pragma", "no-cache");
		List<Map<String,String>> wordslist = dataBaseService.executeQuery("SELECT find, replacement FROM jrun_words ORDER BY id");
		if(wordslist!=null && wordslist.size()>0){
			try {
			OutputStream os=response.getOutputStream();
			OutputStreamWriter fwout = new OutputStreamWriter(os,JspRunConfig.charset);
			BufferedWriter bw=new BufferedWriter(fwout);
			for(Map<String,String> words:wordslist){
				String replacement = words.get("replacement").replace("*", "");
				String str = words.get("find")+(replacement.equals("")?"":"="+replacement)+"\n";
					bw.write(str);
			}
			bw.close();
			fwout.close();
			os.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return null;
	}
	public ActionForward pageWords(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int currentpage = 1;
		String page = request.getParameter("page");
		currentpage = page == null || page.equals("") ? 1 : cn.jsprun.utils.FormDataCheck.isNum(page) ? Integer.valueOf(page) : 1;
		int totalsize = Common.toDigit(dataBaseService.executeQuery("select count(*) as count from jrun_words").get(0).get("count"));
		LogPage loginpage = new LogPage(totalsize,30,currentpage);
		int beginsize = (currentpage-1)*30;
		List<Map<String,String>> wordslist = dataBaseService.executeQuery("select * from jrun_words limit "+beginsize+",30");
		request.setAttribute("wordslist",wordslist);
		request.setAttribute("logpage", loginpage);
		return mapping.findForward("towords");
	}
	private Words getWords(String find, String replace,String username) {
		if (find == null || find.equals(""))
			return null;
		if (replace == null || replace.equals(""))
			replace = "";
		Words words = new Words();
		words.setAdmin(username); 
		find = replace(find);
		words.setFind(find);
		words.setReplacement(replace);
		return words;
	}
	private String replace(String find) {
		if (find.indexOf("{") > 0 && find.indexOf("}") > 0)
			find = find.replace(find.substring(find.indexOf("{"), find
					.indexOf("}") + 1), "%");
		if (find.lastIndexOf("{") > 0 && find.lastIndexOf("}") > 0)
			find = find.replace(find.substring(find.lastIndexOf("{"), find
					.lastIndexOf("}") + 1), "%");
		return find;
	}
	private List<Words> updateListWord(HttpServletRequest request,
			String hidden, List<Words> updateList, boolean find) {
		if (hidden != null && !hidden.equals("")) {
			Object[] findArray = hidden.split(",");
			if (findArray.length >= 1) {
				for (int i = 0; i < findArray.length; i++) {
					String findWeb = findArray[i].toString(); 
					if (findWeb != null && findWeb.length() > 3) {
						String updatefind = request.getParameter(findWeb);
						if (updatefind != null && !updatefind.equals("")) {
							Words w = new Words(); 
							w.setId(Short.valueOf(findWeb.substring(findWeb
									.lastIndexOf("[") + 1, findWeb.lastIndexOf("]"))));
							if (find == true) {
								w.setFind(updatefind);
							} else {
								w.setReplacement(updatefind.trim());
							}
							updateList.add(w);
						}
					}
				}
			}
			findArray = null;
		}
		return updateList;
	}
	public ActionForward batchWordsTextarea(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String addcensorsubmit = request.getParameter("addcensorsubmit");
		if(addcensorsubmit==null){
			Common.requestforward(response, "admincp.jsp?action=censor");
			return null;
		}
		int ignore = 0; 
		List<Words> saveList = new ArrayList<Words>(); 
		HttpSession session = request.getSession();  
		String overwrite = null;  
		String addcensors = request.getParameter("addcensors"); 
		Members members = (Members)session.getAttribute("members");
		String username = members==null?"":members.getUsername();
		overwrite = request.getParameter("overwrite"); 
		byte adminid= (Byte)session.getAttribute("jsprun_adminid");
		if (addcensors == null || addcensors.equals("")) {
			Common.requestforward(response, "admincp.jsp?action=censor");
			return null;
		}
		if(adminid==1 && overwrite.equals("2")){
			dataBaseService.runQuery("TRUNCATE jrun_words");
		}
			Object[] strArray = addcensors.trim().split("\\n");
			for (int i = 0; i < strArray.length; i++) {
				Words w = new Words();
				w.setAdmin(username); 
				Object[] s = strArray[i].toString().trim().split("=");
				String find = s[0].toString().trim();
				if (s.length == 1) {
					w.setFind(this.replace(find)); 
					w.setReplacement("**");
				}
				if (s.length >= 2) {
					String replacement = s[1].toString().trim();
					w.setFind(this.replace(find));
					w.setReplacement(replacement);
				}
				if (find != null && !find.equals("") && find.getBytes().length >= 3) {
					saveList.add(w);
				} else {
					ignore++;
				}
			}

		int save = 0;  
		int update = 0; 
		if (overwrite.equals("0")) {
			Integer[] countNum = wordsService.saveWordsList(saveList); 
			save = countNum[0];
			ignore = ignore + countNum[1]; 
		}
		if (overwrite.equals("1")) {
			Integer[] countNum = wordsService.updateAndSave(saveList);
			save = countNum[0];
			update = countNum[1];
		}
		if (overwrite.equals("2")) {
			save = wordsService.deleteAndSave(saveList);
		}
		String successInfo = "批量导入词语完毕。总共新增词语 (" + save + "), 更新词语 (" + update + "), 忽略词语 (" + ignore + ")。";
		strArray = null;
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath", "admincp.jsp?action=censor");
		return mapping.findForward("success");
	}

	public ActionForward batchAttachtypes(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		String typesubmit = request.getParameter("typesubmit");
		if(typesubmit==null){
			Common.requestforward(response, "admincp.jsp?action=attachtypes");
			return null;
		}
		List<Attachtypes> extendsionList = new ArrayList<Attachtypes>(); 
		List<Attachtypes> maxsizeList = new ArrayList<Attachtypes>(); 
		String updateExtends = request.getParameter("extensionArray");
		extendsionList = getAttachtypesExtensionList(request, updateExtends);
		attachtypesService.updateExtensionList(extendsionList);
		String updateMaxsize = request.getParameter("maxsizeArray");
		maxsizeList = getAttachtypesMaxsizeList(request, updateMaxsize);
		attachtypesService.updateMaxsizeList(maxsizeList);
		String[] ids = request.getParameterValues("delete[]");
		if (ids != null) {
			attachtypesService.deleteList(ids);
		}
		String extension = request.getParameter("newextension"); 
		String maxsize = request.getParameter("newmaxsize"); 
		if (FormDataCheck.isValueString(extension)) {
			if (attachtypesService.isSave(extension)) {
				attachtypesService.saveAttachtypes(getAttachtypes(extension,maxsize));
			} else {
				String successInfo = "新增扩展名与现有重复,请返回修改。";
				request.setAttribute("errorInfo", successInfo);
				return mapping.findForward("error");
			}
		}
		extendsionList = null;maxsizeList=null;
		String successInfo = "附件类型成功更新";
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath", "admincp.jsp?action=attachtypes");
		return mapping.findForward("success");
	}
	private Attachtypes getAttachtypes(String extension, String maxsize) {
		Attachtypes a = new Attachtypes();
		a.setExtension(extension);
		try {
			a.setMaxsize(Integer.valueOf(maxsize)); 
		} catch (NumberFormatException nfe) {
			a.setMaxsize(0);
		}
		if (extension != null && !extension.equals("")) {
			return a;
		}
		return null;
	}
	private List<Attachtypes> getAttachtypesExtensionList(
			HttpServletRequest request, String updateString) {
		List<Attachtypes> list = new ArrayList<Attachtypes>();
		if (updateString != null && !updateString.equals("")) {
			Object[] findArray = updateString.split(",");
			if (findArray.length >= 1) {
				for (int i = 0; i < findArray.length; i++) {
					String findWeb = findArray[i].toString(); 
					if (findWeb != null) {
						String updatefind = request.getParameter(findWeb);
						if (updatefind != null && !updatefind.equals("")) {
							Attachtypes attachtypes = new Attachtypes();
							attachtypes.setId(Short.valueOf(findWeb.substring(findWeb.lastIndexOf("[") + 1, findWeb.lastIndexOf("]"))));
							updatefind = replace(updatefind.trim());
							attachtypes.setExtension(updatefind);
							list.add(attachtypes);
						}
					}
				}
			}
			findArray = null;
		}

⌨️ 快捷键说明

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