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

📄 msgmgr.java

📁 cwbbs 云网论坛源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        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 + -