📄 miscaction.java
字号:
}
if(polls.getExpiration()!=0 && polls.getExpiration()<timestamp ){
request.setAttribute("errorInfo", "投票已经过期,请返回。");
return mapping.findForward("showMessage");
}
if(polls.getMaxchoices()<optionid.length){
request.setAttribute("errorInfo", "此投票最多只能选择 "+polls.getMaxchoices()+" 项,请返回修改。");
return mapping.findForward("showMessage");
}
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++) {
if(jsprun_uid==convertInt(uidsall[i])){
request.setAttribute("errorInfo", "您已参与过这个投票,请返回。");
return mapping.findForward("showMessage");
}
}
}
}
String optionids = "";
for(int i=0;i<optionid.length;i++){
optionids += ","+optionid[i];
}
optionids = optionids.substring(1);
List<Map<String,String>>forum = dataBaseService.executeQuery("select type,fup from jrun_forums where fid="+thread.getFid());
String lastpost = tid + "\t" + Common.cutstr(thread.getSubject().replaceAll("\t", " "),40,null) + "\t" + timestamp + "\t"+ (member!=null?member.getUsername():"匿名");
dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost.replace("'", "''")+"',posts=posts+1 where fid="+thread.getFid(),true);
if(forum!=null&& forum.size()>0&&forum.get(0).get("type").equals("sub")){
dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost.replace("'", "''")+"',posts=posts+1 where fid="+forum.get(0).get("fup"),true);
}
forum=null;
dataBaseService.runQuery("update jrun_polloptions set votes=votes+1,voterids=CONCAT(voterids,'"+jsprun_uid+"\t') where polloptionid in ( "+optionids+" )",true);
dataBaseService.runQuery("update jrun_threads set lastpost="+timestamp+" where tid="+tid);
dataBaseService.runQuery("replace into jrun_myposts(uid,tid,dateline,special) values ('"+jsprun_uid+"','"+tid+"','"+timestamp+"','1')");
if(Common.isshowsuccess(session, "thread_poll_succeed")){
Common.requestforward(response, "viewthread.jsp?tid="+tid);
return null;
}else{
request.setAttribute("successInfo", "您的投票成功提交,现在将转入主题页。");
request.setAttribute("requestPath", "viewthread.jsp?tid="+tid);
return mapping.findForward("showMessage");
}
}
public ActionForward activityapplies(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
int timestamp = (Integer)(request.getAttribute("timestamp"));
String tid = request.getParameter("tid");
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");
}
String jsprun_user = (String)session.getAttribute("jsprun_userss");
Threads thread = threadService.findByTid(convertInt(tid));
if(thread.getClosed()==1){
request.setAttribute("errorInfo", "本主题已关闭,无法申请参加活动,请返回。");
return mapping.findForward("showMessage");
}
Forums forum = forumService.findById(thread.getFid());
if(jsprun_uid==0 || forum.getStatus()==2){
request.setAttribute("errorInfo", "未定义操作,请返回。");
return mapping.findForward("showMessage");
}
String activitsql = "select * from jrun_activities as a where a.tid="+ tid;
List<Map<String, String>> activitslist = dataBaseService.executeQuery(activitsql);
Map<String,String> activit = activitslist.get(0);
String expiration = activit.get("expiration");
if(!expiration.equals("0") && convertInt(expiration)<timestamp){
request.setAttribute("errorInfo", "'对不起,活动已停止申请,请返回。");
return mapping.findForward("showMessage");
}
String acppql = "SELECT applyid FROM jrun_activityapplies WHERE tid='"+tid+"' and uid="+jsprun_uid;
List<Map<String, String>> activitsapplist = dataBaseService.executeQuery(acppql);
if(activitsapplist!=null && activitsapplist.size()>0){
request.setAttribute("successInfo", "对不起,活动不能重复申请。");
request.setAttribute("requestPath", "viewthread.jsp?tid="+tid);
return mapping.findForward("showMessage");
}
String payment = request.getParameter("payment");
String payvalue = request.getParameter("payvalue");
String contact = request.getParameter("contact");
String message = request.getParameter("message");
message = message==null?"":message;
int paymentvalue = payment.equals("0")?-1:convertInt(payvalue);
dataBaseService.runQuery("INSERT INTO jrun_activityapplies (tid, username, uid, message, verified, dateline, payment, contact) VALUES ('"+tid+"', '"+jsprun_user+"', '"+jsprun_uid+"', '"+message+"', '0', '"+timestamp+"', '"+paymentvalue+"', '"+contact+"')");
request.setAttribute("successInfo", "活动申请成功,请等待发起人审核。");
request.setAttribute("requestPath", "viewthread.jsp?tid="+tid);
return mapping.findForward("showMessage");
}
public ActionForward activityapplylist(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
int timestamp = (Integer)(request.getAttribute("timestamp"));
String tid = request.getParameter("tid");
int jsprun_uid = (Integer)(session.getAttribute("jsprun_uid")==null?0:session.getAttribute("jsprun_uid"));
String boardurl = (String)session.getAttribute("boardurl");
Threads thread = threadService.findByTid(convertInt(tid));
String applylistsubmit = request.getParameter("applylistsubmit");
if(applylistsubmit==null){
request.setAttribute("thread", thread);
String activitsql = "select * from jrun_activities as a where a.tid="+ tid;
List<Map<String, String>> activitslist = dataBaseService.executeQuery(activitsql);
if(activitslist==null || activitslist.size()<=0 || thread.getSpecial()!=4){
request.setAttribute("errorInfo", "未定义操作,请返回。");
return mapping.findForward("showMessage");
}
String sqlverified = thread.getAuthorid()==jsprun_uid ? "" : " and verified=1 ";
String acppql = "SELECT * FROM jrun_activityapplies WHERE tid="+tid+sqlverified+" ORDER BY dateline DESC";
List<Map<String, String>> activitsapplist = dataBaseService.executeQuery(acppql);
if(activitsapplist!=null && activitsapplist.size()>0){
request.setAttribute("activitsapplist", activitsapplist);
}else{
request.setAttribute("activitsapplist", null);
}
return mapping.findForward("activity_applylist");
}else{
String applyidarray[] = request.getParameterValues("applyidarray[]");
if(applyidarray==null){
request.setAttribute("errorInfo", "请选择活动的申请者。");
return mapping.findForward("showMessage");
}else{
String ids = "0";
for(int i=0;i<applyidarray.length;i++){
ids = ids+","+applyidarray[i];
}
String operation = request.getParameter("operation");
List<Pms> pmslist = new ArrayList<Pms>();
String acppql = "SELECT a.uid,maxpmnum FROM jrun_activityapplies a RIGHT JOIN jrun_members m USING(uid) left join jrun_usergroups as u on m.groupid=u.groupid WHERE a.applyid IN ( "+ids+" )";
List<Map<String, String>> activitsapplist = dataBaseService.executeQuery(acppql);
if(operation.equals("delete")){
dataBaseService.runQuery("delete from jrun_activityapplies where applyid in ( "+ids+")");
if(activitsapplist!=null && activitsapplist.size()>0){
for(int i=0;i<activitsapplist.size();i++){
Map<String,String> apps = activitsapplist.get(i);
if(!apps.get("maxpmnum").equals("0")){
Pms pms = new Pms();
pms.setDateline(timestamp);
pms.setDelstatus(Byte.valueOf("0"));
pms.setFolder("inbox");
pms.setMessage("这是由论坛系统自动发送的通知短消息。\n您申请的活动 [b]"+thread.getSubject()+"[/b] 已被发起者拒绝,请[url="+boardurl+"viewthread.jsp?tid="+tid+"]点击这里[/url]查看详情。");
pms.setMsgfrom("System Message");
pms.setMsgfromid(0);
pms.setMsgtoid(convertInt(apps.get("uid")));
pms.setNew_(Byte.valueOf("1"));
pms.setSubject("[系统消息] 您申请的活动被发起者拒绝");
pmslist.add(pms);
dataBaseService.runQuery("update jrun_members set newpm=1 where uid="+apps.get("uid"));
}
}
}
pmsServer.insertPmsList(pmslist);
}else{
dataBaseService.runQuery("update jrun_activityapplies set verified=1 where applyid in ( "+ids+" )");
if(activitsapplist!=null && activitsapplist.size()>0){
for(int i=0;i<activitsapplist.size();i++){
Map<String,String> apps = activitsapplist.get(i);
if(!apps.get("maxpmnum").equals("0")){
Pms pms = new Pms();
pms.setDateline(timestamp);
pms.setDelstatus(Byte.valueOf("0"));
pms.setFolder("inbox");
pms.setMessage("这是由论坛系统自动发送的通知短消息。\n活动 [b]"+thread.getSubject()+"[/b] 的发起者已批准您参加此活动,请[url="+boardurl+"viewthread.jsp?tid="+tid+"]点击这里[/url]查看详情。");
pms.setMsgfrom("System Message");
pms.setMsgfromid(0);
pms.setMsgtoid(convertInt(apps.get("uid")));
pms.setNew_(Byte.valueOf("1"));
pms.setSubject("[系统消息] 活动的申请已通过批准");
pmslist.add(pms);
dataBaseService.runQuery("update jrun_members set newpm=1 where uid="+apps.get("uid"));
}
}
}
pmsServer.insertPmsList(pmslist);
}
request.setAttribute("successInfo", "活动人员审核完毕。");
request.setAttribute("requestPath", "viewthread.jsp?tid="+tid);
return mapping.findForward("showMessage");
}
}
}
public ActionForward getonlines(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Program", "no-cache");
response.setDateHeader("Expirse", 0);
List<Map<String, String>> count = dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_sessions");
if(count!=null&&count.size()>0)
{
try {
String num=count.get(0).get("count");
response.getWriter().write(num!=null?num:"0");
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
public ActionForward debatevote(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
int timestamp = (Integer)(request.getAttribute("timestamp"));
String tid = request.getParameter("tid");
String pid = request.getParameter("pid");
int jsprun_uid = (Integer)(session.getAttribute("jsprun_uid")==null?0:session.getAttribute("jsprun_uid"));
Threads thread = threadService.findByTid(convertInt(tid));
if(thread.getClosed()==1){
printmessage(response,"本主题已关闭,无法继续投票。");
return null;
}
if(jsprun_uid==0){
printmessage(response, "对不起,请您先登陆,然后再进行投票。");
return null;
}
boolean isfirst = pid==null?true:false;
String debatesql = "select * from jrun_debates as d where d.tid="+ tid;
List<Map<String, String>> debatelist = dataBaseService.executeQuery(debatesql);
if(debatelist==null || debatelist.size()<=0){
printmessage(response,"对不起,该辩论主题不存在。");
return null;
}
Map<String,String> debate = debatelist.get(0);
if(isfirst){
String stand = request.getParameter("stand");
String affirmvoterids = debate.get("affirmvoterids");
String negavoterids = debate.get("negavoterids");
if(stand.equals("1") || stand.equals("2")){
if(strpos(affirmvoterids,jsprun_uid+"") || strpos(negavoterids,jsprun_uid+"")){
printmessage(response,"您已经投过票.");
return null;
}
}
if(stand.equals("1")){
dataBaseService.runQuery("update jrun_debates set affirmvotes=affirmvotes+1");
dataBaseService.runQuery("update jrun_debates set affirmvoterids=CONCAT(affirmvoterids, '"+jsprun_uid+"\t') WHERE tid='"+tid+"'");
}else if(stand.equals("2")){
dataBaseService.runQuery("update jrun_debates set negavotes=negavotes+1");
dataBaseService.runQuery("update jrun_debates set negavoterids=CONCAT(negavoterids, '"+jsprun_uid+"\t') WHERE tid='"+tid+"'");
}
}else{
String sql = "SELECT * FROM jrun_debateposts WHERE pid="+pid+" AND tid="+ tid;
List<Map<String, String>> debatepostlist = dataBaseService.executeQuery(sql);
if(debatepostlist==null || debatepostlist.size()<=0){
printmessage(response,"对不起,该辩论主题不存在.");
return null;
}
Map<String,String>debatepost = debatepostlist.get(0);
if(debatepost.get("uid").equals(jsprun_uid+"")){
printmessage(response,"对不起,您不能给自己投票。");
return null;
}
if(strpos(debatepost.get("voterids"),jsprun_uid+"")){
printmessage(response,"您已经投过票。");
return null;
}
if(!debate.get("endtime").equals("0") && convertInt(debate.get("endtime"))<timestamp){
printmessage(response,"投票已经结束,不能再投票。");
return null;
}
dataBaseService.runQuery("update jrun_debateposts set voters=voters+1,voterids=CONCAT(voterids, '"+jsprun_uid+"\t') WHERE pid='"+pid+"'");
}
printmessage(response,"投票成功。");
return null;
}
private boolean strpos(String str,String target){
if(str!=null && !str.equals("")){
String []strs = str.split("\\s+");
for(int i=0;i<strs.length;i+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -