📄 pmsaction.java
字号:
}
int max = convertInt(amount);
if (max == 0) {
max = 1000;
}
pmshql += " limit 0,"+max;
List<Map<String,String>> pmslist = dataBaseService.executeQuery(pmshql);
if (pmslist != null && pmslist.size()>0) {
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
for (Map<String,String> pms : pmslist) {
String message = pms.get("message");
message = jspcode.parsecode(message,false);
message = relacesmile(message);
pms.put("message", message);
list.add(pms);
if (delete != null) {
dataBaseService.runQuery("update jrun_pms set delstatus=2 where pmid="+pms.get("pmid"));
}
}
request.setAttribute("pmslist", list);
}
pmslist = null;
}
Members member = (Members)session.getAttribute("user");
if(member==null){
request.setAttribute("show_message", "您所在的用户组(游 客)无法进行此操作。");
return mapping.findForward("nopermission");
}
String username = member.getUsername();
try {
username = new String(username.getBytes("gbk"),"ISO8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String filename = "PM_"+username+"_"+Common.gmdate("yyMMdd_HHmm", (int)(timestamp+timeoffset))+".htm";
request.setAttribute("timestamp", timestamp);
response.setHeader("Content-Type", "application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename="+ filename);
response.setHeader("Expires", "0");
response.setHeader("Pragma", "no-cache");
return mapping.findForward("archives");
}
public ActionForward toignore(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
setExtcredits(request);
int uid = (Integer) session.getAttribute("jsprun_uid");
Memberfields membefile = memberServer.findMemberfieldsById(uid);
request.setAttribute("memberfild", membefile);
return mapping.findForward("todisplay");
}
public ActionForward saveignore(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
int uid = (Integer) session.getAttribute("jsprun_uid");
String ignorelist = request.getParameter("ignorelist");
if (ignorelist != null) {
dataBaseService.runQuery("update jrun_memberfields set ignorepm='"+ignorelist+"' where uid="+uid);
}
if(Common.isshowsuccess(session, "pm_ignore_succeed")){
Common.requestforward(response, "pm.jsp?folder=inbox");
return null;
}else{
request.setAttribute("successInfo", "忽略列表已成功更新,现在将转入消息列表。");
request.setAttribute("requestPath", "pm.jsp?folder=inbox");
return mapping.findForward("showMessage");
}
}
public ActionForward deletepms(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String delete[] = request.getParameterValues("delete[]");
if (delete != null) {
String pmid = "0";
for (int i = 0; i < delete.length; i++) {
pmid = pmid+","+delete[i];
}
dataBaseService.runQuery("update jrun_pms set delstatus=2 where pmid in ("+pmid+")");
}
if(Common.isshowsuccess(request.getSession(), "pm_delete_succeed")){
Common.requestforward(response, "pm.jsp?folder=inbox");
return null;
}else{
request.setAttribute("successInfo", "删除成功,现在将转入消息列表。");
request.setAttribute("requestPath", "pm.jsp?folder=inbox");
return mapping.findForward("showMessage");
}
}
@SuppressWarnings("unchecked")
public ActionForward searchPmsallow(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
setExtcredits(request);
Map<String, String> usergroup = (Map<String, String>) request.getAttribute("usergroups");
String allowsearch = usergroup.get("allowsearch");
if (allowsearch.equals("0")) {
request.setAttribute("resultInfo",
"您无权进行当前操作,这可能因以下原因之一造成<br><br><b>您所在的用户组("
+ usergroup.get("grouptitle")
+ ")无法进行此操作。</b><br><br>您已经登录,但您的帐号或其所在的用户组无权访问当前页面。");
return mapping.findForward("showMessage");
} else {
return mapping.findForward("searchpms");
}
}
@SuppressWarnings("unchecked")
private void setExtcredits(HttpServletRequest request) {
request.setAttribute("extcredits", ((DataParse) BeanFactory.getBean("dataParse")).characterParse(((Map<String, String>) request.getAttribute("settings")).get("extcredits"),true));
}
public ActionForward sendorajax(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
int uid = (Integer) session.getAttribute("jsprun_uid");
Members fromMember = memberServer.findMemberById(uid);
int timestamp = (Integer)(request.getAttribute("timestamp"));
String msgto = request.getParameter("msgto");
String subject = request.getParameter("subject");
String message = request.getParameter("message");
String ss = "";
if(subject==null || subject.equals("") || message==null || message.equals("")){
ss = " 标题或内容不能为空。";
writeMessage(response,ss,true);
return null;
}
List<Pms> pmslist = new ArrayList<Pms>();
List<Map<String,String>> wordlist = dataBaseService.executeQuery("select * from jrun_words", new String[]{"find","replacement"});
if(wordlist!=null && wordlist.size()>0){
for(Map<String,String> word :wordlist){
if(Common.matches(message,word.get("find"))){
if(word.get("replacement").equals("{BANNED}")){
writeMessage(response,"对不起,您填写的内容包含不良内容而无法提交,请返回修改。",true);
return null;
}else if(word.get("replacement").equals("{MOD}")){
}else{
message = message.replaceAll(word.get("find"),word.get("replacement"));
}
}
if(Common.matches(subject,word.get("find"))){
if(word.get("replacement").equals("{BANNED}")){
writeMessage(response,"对不起,您填写的内容包含不良内容而无法提交,请返回修改。",true);
return null;
}else if(word.get("replacement").equals("{MOD}")){
}else{
subject = subject.replaceAll(word.get("find"),word.get("replacement"));
}
}
}
}
wordlist = null;
message = Common.cutstr(message, 40000, "");
Members members = memberServer.findByName(msgto.trim());
if (msgto != null && !msgto.equals("") && members != null) {
Usergroups usergroup = userServer.findUserGroupById(members.getGroupid());
Memberfields memberfild = memberServer.findMemberfieldsById(members.getUid());
String ignore = memberfild.getIgnorepm();
if (!ignore.equals("")) {
if (ignore.equals("{all}")) {
ss = members.getUsername() + " 拒绝接受您或所有人发来的短消息,请返回修改。";
writeMessage(response,ss,true);
return null;
} else {
String ignores[] = ignore.split(",");
for (int i = 0; i < ignores.length; i++) {
if (msgto.equals(ignores[i])) {
ss = members.getUsername() + " 拒绝接受您或所有人发来的短消息,请返回修改。";
writeMessage(response,ss,true);
return null;
}
}
}
}
if (usergroup.getMaxpmnum() == 0) {
ss = members.getUsername() + " 拒绝接受您或所有人发来的短消息,请返回修改。";
writeMessage(response,ss,true);
return null;
}
if (members.getNewsletter() > 0) {
Pms pms = new Pms();
pms.setSubject(subject);
pms.setDateline(timestamp);
pms.setDelstatus(Byte.valueOf("0"));
pms.setFolder("inbox");
pms.setMessage(message);
pms.setMsgfrom(fromMember.getUsername());
pms.setMsgfromid(fromMember.getUid());
pms.setMsgtoid(members.getUid());
pms.setNew_(Byte.valueOf("1"));
members.setNewpm(Byte.valueOf("1"));
memberServer.modifyMember(members);
pmslist.add(pms);
} else {
ss = members.getUsername() + " 拒绝接受您或所有人发来的短消息,请返回修改。";
writeMessage(response,ss,true);
return null;
}
} else {
ss = "收件人不存在或存在重复,请返回修改。";
writeMessage(response,ss,true);
return null;
}
if (ss.equals("")) {
pmsServer.insertPmsList(pmslist);
writeMessage(response,"发送成功。",false);
return null;
}
return mapping.findForward("showMessage");
}
private void showMessage(boolean issucess, String message,
HttpServletResponse response, boolean isshow) {
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Program", "no-cache");
response.setDateHeader("Expirse", 0);
try {
if (issucess) {
if (isshow) {
response.getWriter().write("show:" + message);
} else {
response.getWriter().write(message);
}
} else {
response.getWriter().write("error:" + message);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public ActionForward announcearchive(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
int uid = (Integer) session.getAttribute("jsprun_uid");
String jsprun_userss = (String)session.getAttribute("jsprun_userss");
int timestamp = (Integer)(request.getAttribute("timestamp"));
int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
String pmid = request.getParameter("pmid");
if (pmid != null) {
String sql="SELECT a.starttime as dateline,'公共消息' as msgfrom,'0' as msgfromid,a.subject,'"+jsprun_userss+"' as username,"+uid+" as msgtoid,'inbox' as folder,a.message from jrun_announcements a where id="+pmid;
List<Map<String,String>> announlists=dataBaseService.executeQuery(sql);
request.setAttribute("pmslist", announlists);
}
String filename = "AnnouncePM_"+jsprun_userss+"_"+Common.gmdate("yyMMdd_HHmm", (int)(timestamp+timeoffset))+".htm";
response.setHeader("Content-Type", "application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename="+ filename);
response.setHeader("Expires", "0");
response.setHeader("Pragma", "no-cache");
return mapping.findForward("archives");
}
public ActionForward noprompt(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
HttpSession session=request.getSession();
int uid=(Integer)session.getAttribute("jsprun_uid");
dataBaseService.runQuery("UPDATE jrun_pms SET new='2' WHERE msgtoid='"+uid+"' AND folder='inbox' AND delstatus!='2' AND new='1'", true);
dataBaseService.runQuery("UPDATE jrun_members SET newpm='0' WHERE uid='"+uid+"'", true);
return null;
}
private void writeMessage(HttpServletResponse response,String message,boolean iserror){
response.setContentType("application/xml");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Program", "no-cache");
response.setDateHeader("Expirse", 0);
String content = "<?xml version=\"1.0\" encoding=\""+JspRunConfig.charset+"\"?><root><![CDATA[";
if(iserror){
message = message+" <script type=\"text/javascript\" reload=\"1\">function ajaxerror() { alert('"+message+"');}ajaxerror();</script>";
}
message = message.replaceAll("([\\x01-\\x09\\x0b-\\x0c\\x0e-\\x1f])+", "");
message = message.replaceAll("]]>", "]]>");
message=message.replace("\\", "\\\\");
content = content+message+"]]></root>";
try {
response.getWriter().write(content);
} catch (IOException e) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -