📄 miscaction.java
字号:
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> » <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> » <a href='forumdisplay.jsp?fid="+forums.getFid()+"'>"+forums.getName()+"</a> » <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 + -