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

📄 debateprivilege.java

📁 云网论坛CWBBS 源码,内容丰富,学习,参考,教学的好资料,具体见内说明,
💻 JAVA
字号:
package com.redmoon.forum.plugin.debate;

import javax.servlet.http.HttpServletRequest;
import cn.js.fan.util.ErrMsgException;
import com.redmoon.forum.plugin.base.IPluginPrivilege;
import com.redmoon.forum.Privilege;
import org.apache.log4j.Logger;
import com.redmoon.forum.MsgDb;
import cn.js.fan.util.DateUtil;
import com.cloudwebsoft.framework.util.LogUtil;

public class DebatePrivilege implements IPluginPrivilege {
    static Logger logger = Logger.getLogger(DebatePrivilege.class.getName());

    public DebatePrivilege() {
    }

    public boolean canAddNew(HttpServletRequest request, String boardCode) throws ErrMsgException {
        // 检测本版是否含有此功能
        DebateUnit au = new DebateUnit();
        if (!au.isPluginBoard(boardCode))
            throw new ErrMsgException(DebateSkin.LoadString(request, "addNewErrorBoardInvalid"));
        return true;
    }

    public boolean isOwner(HttpServletRequest request, long msgRootId) {
        MsgDb md = new MsgDb();
        md = md.getMsgDb(msgRootId);
        Privilege privilege = new Privilege();
        String user = privilege.getUser(request);
        if (user.equals(md.getName()))
            return true;
        else
            return false;
    }

    public boolean canAddReply(HttpServletRequest request, String boardCode, long msgRootId) throws ErrMsgException {
        // 检测本版是否含有此功能
        DebateUnit au = new DebateUnit();
        if (!au.isPluginBoard(boardCode))
            throw new ErrMsgException(DebateSkin.LoadString(request, "addNewErrorBoardInvalid"));
        // 检查辩论是否已过期
        DebateDb dd = new DebateDb();
        dd = dd.getDebateDb(msgRootId);
        // LogUtil.getLog(getClass()).info("msgRootId=" + msgRootId + " isLoaded=" + dd.isLoaded() + " beginDate=" + DateUtil.format(dd.getBeginDate(), "yyyy-MM-dd"));
        if (DateUtil.compare(dd.getBeginDate(), new java.util.Date())==1) {
            throw new ErrMsgException("辩论尚未开始,您不能回复!");
        }
        if (DateUtil.compare(new java.util.Date(), dd.getEndDate())==1) {
            throw new ErrMsgException("辩论已结束,您不能回复!");
        }
        return true;
    }

    public boolean canEdit(HttpServletRequest request, MsgDb md) throws ErrMsgException {
        // 检测本版是否含有此功能
        DebateUnit au = new DebateUnit();
        if (!au.isPluginBoard(md.getboardcode()))
            throw new ErrMsgException(DebateSkin.LoadString(request, "addNewErrorBoardInvalid"));

        return true;
    }

    /**
     *
     * @param request HttpServletRequest
     * @param md MsgDb replyid所对应的贴子,也即根贴
     * @return boolean
     * @throws ErrMsgException
     */
    public boolean canAddQuickReply(HttpServletRequest request, MsgDb md) throws
            ErrMsgException {
        // 检查辩论是否已过期
        DebateDb dd = new DebateDb();
        dd = dd.getDebateDb(md.getId());
        // LogUtil.getLog(getClass()).info("msgRootId=" + md.getId() + " isLoaded=" + dd.isLoaded() + " beginDate=" + DateUtil.format(dd.getBeginDate(), "yyyy-MM-dd"));
        if (DateUtil.compare(dd.getBeginDate(), new java.util.Date()) == 1) {
            throw new ErrMsgException("辩论尚未开始,您不能回复!");
        }
        if (DateUtil.compare(new java.util.Date(), dd.getEndDate()) == 1) {
            throw new ErrMsgException("辩论已结束,您不能回复!");
        }
        return true;
    }

    public boolean canManage(HttpServletRequest request, long msgId) throws ErrMsgException {
        MsgDb md = new MsgDb();
        md = md.getMsgDb(msgId);

        // 检测本版是否含有此功能
        DebateUnit au = new DebateUnit();
        if (!au.isPluginBoard(md.getboardcode()))
            throw new ErrMsgException(DebateSkin.LoadString(request, "addNewErrorBoardInvalid"));

        Privilege privilege = new Privilege();
        String user = privilege.getUser(request);

        boolean re = false;
        // 如果是楼主可以管理
        long rootId = md.getRootid();
        md = md.getMsgDb(rootId);
        if (user.equals(md.getName()))
            re = true;

        // 如果是版主也可以管理
        if (privilege.canManage(request, msgId)) {
            re = true;
        }

        return re;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -