📄 msgmgr.java
字号:
int oldlevel = msg.getLevel(); try { re = msg.setOnTop(value, levelExpire); if (re) { MsgOperateDb mod = new MsgOperateDb(); int op_type; if (msg.getLevel() == MsgDb.LEVEL_TOP_BOARD) op_type = MsgOperateDb.OP_TYPE_TOP_BOARD; else if (msg.getLevel() == MsgDb.LEVEL_TOP_FORUM) op_type = MsgOperateDb.OP_TYPE_TOP_FORUM; else op_type = MsgOperateDb.OP_TYPE_TOP_CANCEL; String userName = privilege.isUserLogin(request)?privilege.getUser(request):""; mod.create(new JdbcTemplate(), new Object[] { new Long(SequenceMgr.nextID(SequenceMgr.TOPIC_OP)), new Long(id), new Integer(op_type), levelExpire, userName, new java.util.Date(), msg.getTitle(), msg.getName(), msg.getAddDate(), msg.getboardcode(), request.getRemoteAddr() }); } } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } if (re) { if (msg.getLevel()==MsgDb.LEVEL_TOP_BOARD || msg.getLevel()==MsgDb.LEVEL_TOP_FORUM) { MessageDb shortmsg = new MessageDb(); shortmsg.setTitle(SkinUtil.LoadString(request, "res.forum.MsgDb", "shortmsg_set_ontop_title")); String s = SkinUtil.LoadString(request, "res.forum.MsgDb", "shortmsg_set_ontop_content"); String nick; if (privilege.isUserLogin(request)) { UserDb ud = new UserDb(); ud = ud.getUser(privilege.getUser(request)); nick = ud.getNick(); } else { nick = UserDb.ADMIN; } s = StrUtil.format(s, new Object[] {msg.getTitle(), nick}); String reason = ParamUtil.get(request, "reason"); if (!reason.equals("")) { s += StrUtil.format(SkinUtil.LoadString(request, "res.forum.MsgDb", "op_reason"), new Object[] {reason}); } shortmsg.setContent(s); shortmsg.setSender(shortmsg.USER_SYSTEM); shortmsg.setReceiver(msg.getName()); shortmsg.setIp(request.getRemoteAddr()); shortmsg.setType(shortmsg.TYPE_SYSTEM); shortmsg.create(); } } if (re && oldlevel == MsgDb.LEVEL_TOP_FORUM || value == MsgDb.LEVEL_TOP_FORUM) { ForumCache rc = new ForumCache(new ForumDb()); rc.refreshTopMsgs(); } return re; } public boolean setLocked(HttpServletRequest request, long id, int value) throws ErrMsgException { MsgDb msgDb = getMsgDb(id); if (!privilege.canEdit(request, msgDb)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } boolean re = false; try { re = msgDb.setLocked(id, value); } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; } public boolean ChangeBoard(HttpServletRequest request, long id, String newboardcode) throws ErrMsgException { if (!privilege.canManage(request, id)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } MsgDb msgDb = new MsgDb(); String userName = privilege.isUserLogin(request)?privilege.getUser(request):""; return msgDb.ChangeBoard(request, id, newboardcode, userName); } public boolean riseOrFallTopic(HttpServletRequest request, long id) throws ErrMsgException { if (!privilege.canManage(request, id)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } MsgDb msgDb = new MsgDb(); msgDb = msgDb.getMsgDb(id); if (!msgDb.isLoaded()) return false; String sRedate = ParamUtil.get(request, "redate"); java.util.Date d = DateUtil.parse(sRedate, "yyyy-MM-dd HH:mm:ss"); if (d == null) throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.MsgDb", "err_riseorfall_date")); java.util.Date oldRedate = msgDb.getRedate(); boolean re = msgDb.riseOrFallTopic(request, id, d); if (re) { String manager = privilege.isUserLogin(request) ? privilege.getUser(request) : ""; try { int op = MsgOperateDb.OP_TYPE_FALL; if (DateUtil.compare(d, oldRedate)==1) op = MsgOperateDb.OP_TYPE_RISE; MsgOperateDb mod = new MsgOperateDb(); mod.create(new JdbcTemplate(), new Object[] { new Long(SequenceMgr.nextID(SequenceMgr.TOPIC_OP)), new Long(id), new Integer(op), null, manager, new java.util.Date(),msgDb.getTitle(),msgDb.getName(),msgDb.getAddDate(),msgDb.getboardcode(), request.getRemoteAddr() }); } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } MessageDb msg = new MessageDb(); msg.setTitle(SkinUtil.LoadString(request, "res.forum.MsgDb", "shortmsg_riseorfall_title")); String s = SkinUtil.LoadString(request, "res.forum.MsgDb", "shortmsg_riseorfall_content"); String reason = ParamUtil.get(request, "reason"); boolean isSend = true; if (!privilege.isUserLogin(request)) { s = StrUtil.format(s, new Object[] {msgDb.getTitle(), UserDb.ADMIN, ForumSkin.formatDateTime(request, msgDb.getRedate())}); } else { UserDb ud = new UserDb(); ud = ud.getUser(privilege.getUser(request)); s = StrUtil.format(s, new Object[] {msgDb.getTitle(), ud.getNick(), ForumSkin.formatDateTime(request, msgDb.getRedate())}); BoardManagerDb bmd = privilege.getUserManagerIdentityOfBoard( request, msgDb.getboardcode()); if (bmd != null) { if (bmd.isHide()) isSend = false; } } if (isSend) { if (!reason.equals("")) { s += StrUtil.format(SkinUtil.LoadString(request, "res.forum.MsgDb", "op_reason"), new Object[] {reason}); } msg.setContent(s); msg.setSender(msg.USER_SYSTEM); msg.setReceiver(msgDb.getName()); msg.setIp(request.getRemoteAddr()); msg.setType(msg.TYPE_SYSTEM); msg.create(); } } return re; } public boolean mergeTopic(ServletContext application, HttpServletRequest request) throws ErrMsgException { long fromId = ParamUtil.getLong(request, "fromId"); long toId = ParamUtil.getLong(request, "toId"); if (!privilege.canManage(request, fromId)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } if (!privilege.canManage(request, toId)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } MsgDb fromMd = getMsgDb(fromId); if (!fromMd.isLoaded()) throw new ErrMsgException(SkinUtil.LoadString(request, "err_msg_lost")); MsgDb toMd = getMsgDb(toId); if (!toMd.isLoaded()) throw new ErrMsgException(SkinUtil.LoadString(request, "err_msg_lost")); if (toMd.getRootid()==fromMd.getId()) { throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.MsgDb", "err_merge_root_to_reply")); } if (toMd.getId()==fromMd.getId()) { throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.MsgDb", "err_merge_equal")); } toMd.setContent(toMd.getContent() + "<BR>" + fromMd.getContent()); boolean re = false; try { re = toMd.save(); if (re) { delTopic(application, request, fromMd.getId()); } } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } if (re) { String manager = privilege.isUserLogin(request) ? privilege.getUser(request) : ""; try { MsgOperateDb mod = new MsgOperateDb(); mod.create(new JdbcTemplate(), new Object[] { new Long(SequenceMgr.nextID(SequenceMgr.TOPIC_OP)), new Long(toMd.getId()), new Integer(MsgOperateDb.OP_TYPE_MERGE), null, manager, new java.util.Date(),toMd.getTitle(),toMd.getName(),toMd.getAddDate(),toMd.getboardcode(), request.getRemoteAddr() }); } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } MessageDb msg = new MessageDb(); msg.setTitle(SkinUtil.LoadString(request, "res.forum.MsgDb", "shortmsg_merge_title")); String s = SkinUtil.LoadString(request, "res.forum.MsgDb", "shortmsg_merge_content"); String reason = ParamUtil.get(request, "reason"); boolean isSend = true; if (!privilege.isUserLogin(request)) { s = StrUtil.format(s, new Object[] {fromMd.getTitle(), UserDb.ADMIN, toMd.getTitle()}); } else { UserDb ud = new UserDb(); ud = ud.getUser(privilege.getUser(request)); s = StrUtil.format(s, new Object[] {fromMd.getTitle(), ud.getNick(), toMd.getTitle()}); BoardManagerDb bmd = privilege.getUserManagerIdentityOfBoard( request, fromMd.getboardcode()); if (bmd != null) { if (bmd.isHide()) isSend = false; } } if (isSend) { if (!reason.equals("")) { s += StrUtil.format(SkinUtil.LoadString(request, "res.forum.MsgDb", "op_reason"), new Object[] {reason}); } msg.setContent(s); msg.setSender(msg.USER_SYSTEM); msg.setReceiver(fromMd.getName()); msg.setIp(request.getRemoteAddr()); msg.setType(msg.TYPE_SYSTEM); msg.create(); } } return re; } public boolean checkMsg(HttpServletRequest request, long id, int checkStatus) throws ErrMsgException { if (!privilege.canManage(request, id)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } boolean re = false; MsgDb msgDb = getMsgDb(id); try { re = msgDb.checkMsg(checkStatus); } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; } public boolean ChangeColor(HttpServletRequest request) throws ErrMsgException { long id = ParamUtil.getLong(request, "id"); if (!privilege.canManage(request, id)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } String colorExpire = ParamUtil.get(request, "colorExpire"); Date edate = null; try { edate = DateUtil.parse(colorExpire, "yyyy-MM-dd"); } catch (Exception e) { logger.error("ChangeColor:" + e.getMessage()); } if (edate==null) throw new ErrMsgException(LoadString(request, "err_expire_date")); String color = ParamUtil.get(request, "color"); MsgDb msgDb = new MsgDb(); msgDb = msgDb.getMsgDb(id); boolean re = false; String manager = privilege.isUserLogin(request)?privilege.getUser(request):""; try { re = msgDb.ChangeColor(manager, color, edate, StrUtil.getIp(request)); } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; } public boolean ChangeBold(HttpServletRequest request) throws ErrMsgException { long id = ParamUtil.getLong(request, "id"); if (!privilege.canManage(request, id)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } String boldExpire = ParamUtil.get(request, "boldExpire"); Date edate = null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -