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

📄 postsaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		request.setAttribute("modreasons",modreasons!=null?modreasons.split("\r\n"):"");
		return mapping.findForward("toreplies");
	}
	@SuppressWarnings("unchecked")
	public ActionForward auditingNewModreplies(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		ServletContext context = request.getSession().getServletContext();
		String filter = request.getParameter("filter"); 
		String modfid = request.getParameter("modfid"); 
		PostsForm pf = new PostsForm();
		if (FormDataCheck.isNotNullAndNotEmpty(filter)) {
			pf.setFilter(filter.trim()); 
		}
		if (FormDataCheck.isNotNullAndNotEmpty(modfid)) {
			pf.setFid(Short.valueOf(modfid)); 
		}
		request.setAttribute("pastsPage", pf);
		ModrepliesPageForm mpf = postsService.fidnByModreplies(pf);
		mpf.setList(request.getContextPath());
		request.setAttribute("modrepliesPageForm", mpf);
		String sql="SELECT f.fid,f.name FROM jrun_forums f LEFT JOIN jrun_forumfields ff USING(fid) WHERE f.type <>'group' AND f.status>0";
		List<Map<String,String>> forumList=dataBaseService.executeQuery(sql);
		request.setAttribute("forumList", forumList);
		String modreasons=((Map<String,String>)context.getAttribute("fsmap")).get("modreasons");
		request.setAttribute("modreasons",modreasons!=null?modreasons.split("\r\n"):"");
		return mapping.findForward("toreplies");
	}
	@SuppressWarnings("unchecked")
	public ActionForward workAllModreplies(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,HttpServletResponse response) {
		String modsubmit = request.getParameter("modsubmit");
		if(modsubmit==null){
			Common.requestforward(response, "admincp.jsp?action=modreplies");
			return null;
		}
		HttpSession session = request.getSession();
		ServletContext context = request.getSession().getServletContext();
		Map<String,String> settings = (Map<String,String>)context.getAttribute("fsmap");
		Members members = (Members) session.getAttribute("members"); 
		int num = 0;
		List<Posts> validateList = new ArrayList<Posts>(); 
		List<String> deleteList = new ArrayList<String>(); 
		List<String> ignoreList = new ArrayList<String>(); 
		List<PmsForm> pmsValidateList = new ArrayList<PmsForm>(); 
		List<PmsForm> psmDeleteList = new ArrayList<PmsForm>(); 
		String auditing = request.getParameter("auditing"); 
		String[] audiArr = auditing.split(",");
		String barckurl = (String)session.getAttribute("boardurl");
		for (int i = 0; i < audiArr.length; i++) {
			String postsWork = request.getParameter(audiArr[i]); 
			if (postsWork != null) {
				if (postsWork.equals("validate")) {
					num++;
					String pmsMessage = request.getParameter(toPmsPostspid(audiArr[i])).trim(); 
					if (pmsMessage != null && !pmsMessage.equals("")) {
						String subject = request.getParameter(toPostsSubject(audiArr[i])).trim(); 
						String authorid = request.getParameter(toAuthor(audiArr[i])).trim(); 
						PmsForm pf = new PmsForm(true, false, Integer.valueOf(authorid), subject, Integer.valueOf(audiArr[i]), pmsMessage,members.getUsername(),members.getUid(),barckurl);
						pmsValidateList.add(pf);
					}
					Posts post = postsService.getPostsById(convertInt(audiArr[i]));
					List<Map<String,String>> forumsfildlist = dataBaseService.executeQuery("select f.fup,f.type,ff.postcredits from jrun_forums f left join jrun_forumfields ff on f.fid=ff.fid where f.fid="+post.getFid());
					Map<String,String> forummap = forumsfildlist.get(0);
					forumsfildlist = null;
					String creditspolicy =settings.get("creditspolicy");
					Map creditspolicys=dataParse.characterParse(creditspolicy,false);
					Map<Integer, Integer> postcredits = dataParse.characterParse(forummap.get("replycredits"),false);
					if(postcredits==null||postcredits.size()<=0)
					{
						postcredits=(Map<Integer,Integer>)creditspolicys.get("reply");
					}
					String author=null;
					if(post.getAuthorid()>0)
					{
						Common.updatepostcredits("+", post.getAuthorid(), postcredits, post.getDateline());
						Common.updatepostcredits( post.getAuthorid(), settings.get("creditsformula"));
						author=post.getAuthor();
					}
					else{
						author="匿名";
					}
					String subject = request.getParameter("threadsubject").replaceAll("\t", " ");
					String lastpost = post.getTid() + "\t" +Common.dhtmlspecialchars(Common.cutstr(Common.htmlspecialchars(subject), 40, null)) + "\t" + post.getDateline() + "\t"+author;
					dataBaseService.runQuery("update jrun_threads set lastpost="+post.getDateline()+",lastposter='"+author+"',replies=replies+1 where tid="+post.getTid());
					dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost+"',posts=posts+1 where fid="+post.getFid());
					if(forummap.get("type").equals("sub")){
						dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost+"',posts=posts+1 where fid="+forummap.get("fup"));
					}
					validateList.add(post);
				}
				if (postsWork.equals("delete")) {
					String pms = request.getParameter(toPmsPostspid(audiArr[i]));
					if (pms != null && !pms.equals("")) {
						String subject = request.getParameter(toPostsSubject(audiArr[i])).trim();
						String authorid = request.getParameter(toAuthor(audiArr[i])).trim();
						PmsForm pf = new PmsForm(false, false, Integer.valueOf(authorid), subject, Integer.valueOf(audiArr[i]), pms,members.getUsername(),members.getUid(),barckurl);
						psmDeleteList.add(pf);
					}
					deleteList.add(audiArr[i]);
				}
				if (postsWork.equals("ignore")) {
					ignoreList.add(audiArr[i]);
				}
			}
		}
		pmsService.insertPmsList(pmsValidateList); 
		pmsService.insertPmsList(psmDeleteList); 
		if(deleteList.size()>0){
			StringBuffer pids = new StringBuffer();
			for(String pid:deleteList){
				pids.append(pid+",");
			}
			pids.deleteCharAt(pids.length()-1);
			List<Map<String,String>>attalist = dataBaseService.executeQuery("SELECT attachment,thumb,remote FROM jrun_attachments WHERE pid IN ("+pids.toString()+")");
			if(attalist!=null && attalist.size()>0){
				String path = servlet.getServletContext().getRealPath("/")+settings.get("attachdir")+"/";
				for(Map<String,String>atta:attalist){
					Common.dunlink(atta.get("attachment"), Byte.valueOf(atta.get("thumb")), Byte.valueOf(atta.get("remote")), path);
				}
				attalist=null;
			}
		}
		postsService.deleteModrepliesIDArray(deleteList); 
		postsService.ignoreModrepliesIDArray(ignoreList); 
		postsService.validateModrepliesIDArray(validateList); 
		ModrepliesPageForm mod = new ModrepliesPageForm();
		mod.setList(request.getContextPath());
		request.setAttribute("modrepliesPageForm", mod);
		validateList=null;deleteList=null;ignoreList=null;pmsValidateList=null;psmDeleteList=null;
		String successInfo = "回复审核成功,共有" + num + "审核被通过";
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath", "admincp.jsp?action=modreplies");
		return mapping.findForward("success");
	}

	public ActionForward toThreadsForum(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session=request.getSession();
		String forumid = null;
		if(session.getAttribute("threadsForm")!=null){
			forumid = ((ThreadsForm)session.getAttribute("threadsForm")).getInforum()+"";
		}
		List<Map<String,String>> threadtypelist = dataBaseService.executeQuery("select typeid,name,description from jrun_threadtypes");
		request.setAttribute("threadtype", threadtypelist);
		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():"",forumid,false));
		return mapping.findForward("toThreadsForum");
	}
	public ActionForward toPruneForum(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session=request.getSession();
		short groupid = (Short)session.getAttribute("jsprun_groupid");
		Members member = (Members)session.getAttribute("user");
		if(member.getAdminid()==3){
			StringBuffer fidsbuffer = new StringBuffer();
			List<Map<String,String>> fidslist = dataBaseService.executeQuery("SELECT fid FROM jrun_moderators WHERE uid='"+member.getUid()+"'");
			for(Map<String,String> fids:fidslist){
				fidsbuffer.append(","+fids.get("fid"));
			}
			if(fidsbuffer.length()>0){
				List<Map<String,String>> forumList=dataBaseService.executeQuery("SELECT name from jrun_forums where  fid in ( "+fidsbuffer.substring(1)+" ) ORDER BY type, displayorder");
				StringBuffer forumname = new StringBuffer();
				for(Map<String,String> forums:forumList){
					forumname.append(","+forums.get("name"));
				}
				if(forumname.length()>0){
					request.setAttribute("forumselect", forumname.substring(1));
				}else{
					request.setAttribute("forumselect", "无");
				}
			}
		}else{
			request.setAttribute("forumselect", Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",null,false));
		}
		int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		if (member != null) {
			if (member.getAdminid() != 1) {
				request.setAttribute("isAdmin", "admin");
			}
		}
		String satrtTime = Common.gmdate("yyyy-MM-dd", (int)(timestamp+timeoffset-86400*7));  
		String endTime = Common.gmdate("yyyy-MM-dd", (int)(timestamp+timeoffset)); 
		request.setAttribute("startTime", satrtTime);
		request.setAttribute("endTime", endTime); 
		session.removeAttribute("pf");
		return mapping.findForward("toPruneForum");
	}

	public ActionForward fromForumrecommend(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		int currentPage = 1;
		String fid = request.getParameter("fid");
		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 sb = getSb(list); 
		request.setAttribute("fid", fid);
		request.setAttribute("showList", list);
		request.setAttribute("sb", sb);
		request.setAttribute("notfirst", "notfirst");
		return mapping.findForward("toForumrecommend");
	}

	public ActionForward pageForumrecommend(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		String fid = request.getParameter("fid");
		String page = request.getParameter("page");
		int totalsize = Common.toDigit(dataBaseService.executeQuery("select count(*) count from jrun_forumrecommend as f where f.fid ="+ fid).get(0).get("count"));
		int currpage = Integer.valueOf(page.trim());
		LogPage loginpage = new LogPage(totalsize,10,currpage);
		request.setAttribute("logpage", loginpage);
		request.setAttribute("totalsize", totalsize);
		int beginsize = (currpage - 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 sb = getSb(list); 
		request.setAttribute("fid", fid);
		request.setAttribute("showList", list);
		request.setAttribute("sb", sb);
		request.setAttribute("notfirst", "notfirst");
		return mapping.findForward("toForumrecommend");
	}
	private String getSb(List<Map<String,String>> list) {
		StringBuffer sb = new StringBuffer();
		for (Map<String,String> sbs:list) {
			sb.append(sbs.get("tid"));
			sb.append(",");
		}

		return sb.toString();
	}
	public ActionForward batchPruneForum(ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String recommendsubmit = request.getParameter("recommendsubmit");
		if(recommendsubmit==null){
			Common.requestforward(response, "admincp.jsp?action=forumrecommend");
			return null;
		}
		int currentPage = 1; 
		StringBuffer deleteSB = new StringBuffer(); 
		List<Map<String, String>> updateList = new ArrayList<Map<String, String>>(); 
		String sb = request.getParameter("sb"); 
		String displayorder = request.getParameter("displayorder"); 
		String page = request.getParameter("page"); 
		String fid = request.getParameter("fid"); 
		if (sb != null) {
			Object[] tids = sb.split(",");
			for (int i = 0; i < tids.length; i++) {
				String str = request.getParameter(toDelete(tids[i].toString()));
				if (str != null && !str.equals("")) {
					deleteSB.append(tids[i].toString()); 
				}
			}
		}
		if (displayorder != null) {
			Object[] updateTids = displayorder.split(",");
			for (int i = 0; i < updateTids.length; i++) {
				String updatestr = request.getParameter(updateTids[i].toString());
				if (updatestr != null && !updatestr.equals("")) {
					Map<String, String> m = new HashMap<String, String>();
					m.put("tid", updateTids[i].toString()); 
					m.put("displayorder", updatestr); 
					updateList.add(m);
				}
			}
		}
		postsService.batchForumrecommend(deleteSB, updateList); 
		updateList = null;
		if (page != null && !page.equals("")) {
			try {
				currentPage = Integer.valueOf(page);
			} catch (NumberFormatException nfe) {
				currentPage = 1;
			}
		}

⌨️ 快捷键说明

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