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

📄 miscaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			String score = ratelogmap.get("score");
			if (score.indexOf("-") != -1) {
				score = "+" + score;
			}
			if(creditunit==null || creditunit.equals(" null")){
				creditunit="";
			}
			ratevo.setMarkValue(creditname + score + creditunit);
			ratevo.setReason(ratelogmap.get("reason"));
			ratevo.setUid(Common.toDigit(ratelogmap.get("uid")));
			ratevo.setOperateTime(ratelogmap.get("dateline"));
			resultlist.add(ratevo);
		}
		request.setAttribute("thread", threads);
		request.setAttribute("post", post);
		request.setAttribute("rateloglist", resultlist);
		return mapping.findForward("rate_view");
	}
	@SuppressWarnings("unchecked")
	public ActionForward removerate(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		Map<String,String> settings=(Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
		String reasons = settings.get("modreasons");
		if(reasons!=null && !reasons.equals("")){
			List<String> reasonlist = new ArrayList<String>();
			String rea[] = reasons.split("\n");
			for(int i=0;i<rea.length;i++){
				reasonlist.add(rea[i]);
			}
			OtherBaseVO othervo = new OtherBaseVO();
			othervo.setReasonList(reasonlist);
			request.setAttribute("valueObject", othervo);
		}
		String tid = request.getParameter("tid");
		String pid = request.getParameter("pid");
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		Posts post = postService.getPostsById(convertInt(pid));
		Threads thread = threadService.findByTid(convertInt(tid));
		HttpSession session = request.getSession();
		String dateformat = (String)session.getAttribute("dateformat");
		String timeformat = (String)session.getAttribute("timeformat");
		int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
		int jsprun_uid = (Integer)session.getAttribute("jsprun_uid");
		if(jsprun_uid==0){
			request.setAttribute("errorInfo", "未登录,不能操作,请返回。");
			return mapping.findForward("showMessage");
		}
		Members member = (Members)session.getAttribute("user");
		boolean modertar = Common.ismoderator(post.getFid(), member);
		Usergroups usergroup = userGroupService.findUserGroupById(member.getGroupid());
		request.setAttribute("post", post);
		if (usergroup.getRaterange().equals("")) {
			request.setAttribute("errorInfo", "未定义操作,请返回。");
			return mapping.findForward("showMessage");
		}
		if(!modertar){
			request.setAttribute("errorInfo", "未定义操作,请返回。");
			return mapping.findForward("showMessage");
		}
		Forums forums = forumService.findById(post.getFid());
		String navigation = "<a href='forumdisplay.jsp?fid="+forums.getFid()+"'>"+forums.getName()+"</a> &raquo; <a href='viewthread.jsp?tid="+thread.getTid()+"'>"+thread.getSubject()+"</a>";
		if(forums.getType().equals("sub")){
			Forums parentforum = forumService.findById(forums.getFup());
			navigation = "<a href='forumdisplay.jsp?fid="+parentforum.getFid()+"'>"+parentforum.getName()+"</a> &raquo; <a href='forumdisplay.jsp?fid="+forums.getFid()+"'>"+forums.getName()+"</a> &raquo <a href='viewthread.jsp?tid="+thread.getTid()+"'>"+thread.getSubject()+"</a>";
		}
		request.setAttribute("navigation", navigation);
		String ratesubmit = request.getParameter("ratesubmit");
		String ratelogsql = "SELECT * FROM jrun_ratelog WHERE pid='" + pid+ "' ORDER BY dateline";
		List<Map<String, String>> rateloglist = dataBaseService.executeQuery(ratelogsql);
		Map<String, String[]> creditnameMap = getCreditsName(settings.get("extcredits"));
		if (ratesubmit == null) {
			List resultlist = new ArrayList();
			for (int i = 0; i < rateloglist.size(); i++) {
				Map<String, String> ratelogmap = rateloglist.get(i);
				RatelogVO ratevo = new RatelogVO();
				ratevo.setFirstUsername(ratelogmap.get("username"));
				String creditname = creditnameMap.get("name")[convertInt(ratelogmap.get("extcredits")) - 1];
				String creditunit = creditnameMap.get("unit")[convertInt(ratelogmap.get("extcredits")) - 1];
				String score = ratelogmap.get("score");
				if (score.indexOf("-") != -1) {
					score = "+" + score;
				}
				if(creditunit.equals(" null")){
					creditunit = "";
				}
				ratevo.setMarkValue(creditname + score + creditunit);
				ratevo.setReason(ratelogmap.get("reason"));
				ratevo.setOperateTime(ratelogmap.get("dateline"));
				ratevo.setUid(convertInt(ratelogmap.get("uid")));
				ratevo.setExtcredits(ratelogmap.get("extcredits"));
				resultlist.add(ratevo);
			}
			request.setAttribute("rateloglist", resultlist);
			request.setAttribute("thread", thread);
			request.setAttribute("post", post);
			settings = null;
			if(usergroup.getReasonpm()==1||usergroup.getReasonpm()==3){
				request.setAttribute("reasons", "您必须输入理由才能进行操作");
			}
			String page = request.getParameter("page");
			request.setAttribute("page",page);
			return mapping.findForward("torate");
		} else {
			String page = request.getParameter("page");
			String boardurl = (String) session.getAttribute("boardurl");
			String[] logidarray = request.getParameterValues("logidarray[]");
			String reason = request.getParameter("reason");
			if(usergroup.getReasonpm()==1||usergroup.getReasonpm()==3){
				if(reason==null || reason.equals("")){
					request.setAttribute("errorInfo", "对不起,在您进行操作前必须选择或需入理由,请返回修改。");
					return mapping.findForward("showMessage");
				}
			}
			int rate = post.getRate();
			String ratelogs = "";
			if (logidarray != null) {
				String realPath=servlet.getServletContext().getRealPath("/");
				for (int i = 0; i < rateloglist.size(); i++) {
					Map<String, String> ratelogmap = rateloglist.get(i);
					for (int j = 0; j < logidarray.length; j++) {
						String[] logids = logidarray[j].split("\\s+");
						if (ratelogmap.get("uid").equals(logids[0])&& ratelogmap.get("extcredits").equals(logids[1])&& ratelogmap.get("dateline").equals(logids[2])) {
							dataBaseService.runQuery("update jrun_members set extcredits"+logids[1]+"=extcredits"+logids[1]+"-"+Common.toDigit(ratelogmap.get("score"), 10000L,-10000L).intValue()+" where uid="+post.getAuthorid());
							rate = rate - Common.toDigit(ratelogmap.get("score"), 10000L,-10000L).intValue();
							int rates = 0;
							rates = rates - Common.toDigit(ratelogmap.get("score"), 10000L,-10000L).intValue();
							String reatenotes = rates+"";
							if(rates>0){
								reatenotes = "+"+rates;
							}
							String deleteratelog = "delete from jrun_ratelog where pid="
									+ pid
									+ " and uid="
									+ logids[0]
									+ " and extcredits="
									+ logids[1]
									+ " and dateline=" + logids[2];
							dataBaseService.runQuery(deleteratelog);
							ratelogs = ratelogs+","+creditnameMap.get("name")[Integer.valueOf(logids[1])-1]+reatenotes+creditnameMap.get("unit")[Integer.valueOf(logids[1])-1];
							String ratelog = timestamp+"\t"+member.getUsername()+"\t"+member.getGroupid()+"\t"+post.getAuthor()+"\t"+logids[1]+"\t"+reatenotes+"\t"+post.getTid()+"\t"+thread.getSubject()+"\t"+reason.trim()+"\t"+"D";
							Log.writelog(realPath, "ratelog", ratelog);
						}
					}
				}
			}
			String updatepost = "update jrun_posts set rate = " + rate+ " where pid=" + pid;
			dataBaseService.runQuery(updatepost);
			if (post.getFirst() == 1) {
				String ratedd = "0";
				if(rate>0){
					ratedd = "1";
				}else if(rate<0){
					ratedd = "-1";
				}
				String updatethread = "update jrun_threads set rate=" + ratedd+ " where tid=" + tid;
				dataBaseService.runQuery(updatethread);
			}
			String sendreasonpm = request.getParameter("sendreasonpm");
			if (sendreasonpm != null || usergroup.getReasonpm()==2 || usergroup.getReasonpm()==3) {
				List<Pms> pmslist = new ArrayList<Pms>();
				List<Map<String,String>> usergroupslist = dataBaseService.executeQuery("select maxpmnum from jrun_usergroups as u left join jrun_members as m on m.groupid=u.groupid where m.uid="+post.getAuthorid(), new String[]{"maxpmnum"});
				if((usergroupslist!=null && usergroupslist.size()>0 && Integer.valueOf(usergroupslist.get(0).get("maxpmnum"))>0)||modertar){
				Pms pms = new Pms();
				pms.setDateline(timestamp);
				pms.setDelstatus(Byte.valueOf("0"));
				pms.setFolder("inbox");
				String pmsmessage = "这是由论坛系统自动发送的通知短消息。\n\n[b]以下您所发表的帖子被 [url="
					+ boardurl
					+ "space.jsp?uid="
					+ jsprun_uid
					+ "][i]"
					+ member.getUsername()
					+ "[/i][/url] 撤销评分。[/b]\n[quote]"
					+ post.getMessage()
					+ "[/quote][b]发表时间:[/b]"
					+ Common.gmdate(dateformat+" "+timeformat, (int)(post.getDateline()+timeoffset)) + "\n[b]所在主题:[/b] [url=" + boardurl
					+ "viewthread.jsp?tid=" + tid + "]"
					+ thread.getSubject() + "[/url]\n"
					+ "评分分数:"+(ratelogs.length()>0?ratelogs.substring(1):"")+"\n" + "[b]操作理由:[/b]"
					+ reason;
				
				pmsmessage = Common.cutstr(pmsmessage.replace("'", "''"), 40000, "");
				pms.setMessage("这是由论坛系统自动发送的通知短消息。\n\n[b]以下您所发表的帖子被 [url="
						+ boardurl
						+ "space.jsp?uid="
						+ jsprun_uid
						+ "][i]"
						+ member.getUsername()
						+ "[/i][/url] 撤销评分。[/b]\n[quote]"
						+ post.getMessage()
						+ "[/quote][b]发表时间:[/b]"
						+ Common.gmdate(dateformat+" "+timeformat, (int)(post.getDateline()+timeoffset)) + "\n[b]所在主题:[/b] [url=" + boardurl
						+ "viewthread.jsp?tid=" + tid + "]"
						+ thread.getSubject() + "[/url]\n"
						+ "评分分数:"+(ratelogs.length()>0?ratelogs.substring(1):"")+"\n" + "[b]操作理由:[/b]"
						+ reason);
				pms.setMsgfrom(member.getUsername());
				pms.setMsgfromid(member.getUid());
				pms.setMsgtoid(post.getAuthorid());
				pms.setNew_(Byte.valueOf("1"));
				pms.setSubject("[系统消息] 您发表的帖子的评分被撤销");
				pmslist.add(pms);
				dataBaseService.runQuery("update jrun_members as m set newpm='1' where m.uid="+post.getAuthorid());
				}
				pmsServer.insertPmsList(pmslist);
			}
			settings = null;
			request.setAttribute("successInfo", "评分已成功撤销,现在将转入评分前页面。");
			request.setAttribute("requestPath", "viewthread.jsp?tid=" + tid+"&page="+page);
			return mapping.findForward("showMessage");
		}
	}
	public ActionForward viewvote(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String tid = request.getParameter("tid");
		String optionid = request.getParameter("polloptionid");
		String uids = "0";
		if (optionid != null) {
			Polloptions option = optionService
					.findPolloptionsById(convertInt(optionid));
			String uid = option.getVoterids();
			if (!uid.equals("")) {
				String[] uidsall = uid.split("\\s+");
				for (int i = 0; i < uidsall.length; i++) {
					uids += "," + uidsall[i];
				}
			}
		} else {
			List<Polloptions> optionlist = optionService.findPolloptionsBytid(convertInt(tid));
			for (Polloptions option : optionlist) {
				String uid = option.getVoterids();
				if (!uid.equals("")) {
					String[] uidsall = uid.split("\\s+");
					for (int i = 0; i < uidsall.length; i++) {
						uids += "," + uidsall[i];
					}
				}
			}
		}
		String memsql = "SELECT uid, username FROM jrun_members WHERE uid IN ( "+ uids + " )";
		List<Map<String, String>> members = dataBaseService.executeQuery(memsql);
		request.setAttribute("members", members);
		return mapping.findForward("viewthread_poll_voters");
	}
	public ActionForward votepoll(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = request.getSession();
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		String tid = request.getParameter("tid");
		String optionid[] = request.getParameterValues("pollanswers[]");
		Members member = (Members)session.getAttribute("user");
		int jsprun_uid = (Integer)(session.getAttribute("jsprun_uid")==null?0:session.getAttribute("jsprun_uid"));
		if(jsprun_uid==0){
			request.setAttribute("errorInfo", "未登录无法进行此操作。");
			return mapping.findForward("showMessage");
		}
		short jsprun_groupid = (Short)session.getAttribute("jsprun_groupid");
		Usergroups usergroup = userGroupService.findUserGroupById(jsprun_groupid);
		if(usergroup==null || usergroup.getAllowvote()==0){
			request.setAttribute("errorInfo", "您所在的用户组("+usergroup.getGroupid()+")无法进行此操作。");
			return mapping.findForward("showMessage");
		}
		Threads thread = threadService.findByTid(convertInt(tid));
		if(thread.getClosed()==1){
			request.setAttribute("errorInfo", "本主题已关闭,无法继续投票,请返回。");
			return mapping.findForward("showMessage");
		}
		if(optionid==null){
			request.setAttribute("errorInfo", "您没有选择投票选项,请返回修改。");
			return mapping.findForward("showMessage");
		}
		Polls polls = pollService.findPollsBytid(convertInt(tid));
		if(polls==null){
			request.setAttribute("errorInfo", "未定义操作,请返回。");
			return mapping.findForward("showMessage");

⌨️ 快捷键说明

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