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

📄 sweetprivilege.java~2~

📁 源码/软件简介: 云网论坛1.1RC国际版是采用JSP开发的集论坛、CMS(网站内容管理系统)、博客、聊天室、商城、交友、语音灌水等于一体的门户式社区。拥有CWBBS ( Cloud Web BBS
💻 JAVA~2~
字号:
package com.redmoon.forum.plugin.sweet;

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;

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

    public SweetPrivilege() {
    }

    public boolean canAddNew(HttpServletRequest request, String boardCode) throws ErrMsgException {
        // 检测本版是否含有此功能
        SweetBoardDb sb = new SweetBoardDb();
        sb = (SweetBoardDb)sb.getObjectDb(boardCode);
        if (!sb.isLoaded())
            throw new ErrMsgException(SweetSkin.LoadString(request, "addNewErrorBoardInvalid"));

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

        SweetDb sd = new SweetDb();
        int id = sd.getMsgRootIdOfUser(user);
        // logger.info("user=" + user + " id=" + id);
        if (id==-1)
            return true;
        else {
            throw new ErrMsgException(SweetSkin.LoadString(request, "addNewError"));
        }
    }

    public boolean isOwner(HttpServletRequest request, int msgRootId) throws ErrMsgException {
        String user = Privilege.getUser(request);
        SweetDb sd = new SweetDb();
        sd = sd.getSweetDb(msgRootId);
        return sd.getName().equals(user);
    }

    public boolean canAddReply(HttpServletRequest request, String boardCode, long msgRootId) throws ErrMsgException {
        // 检测本版是否含有此功能
        SweetBoardDb sb = new SweetBoardDb();
        sb = (SweetBoardDb)sb.getObjectDb(boardCode);
        if (!sb.isLoaded())
            throw new ErrMsgException(SweetSkin.LoadString(request, "addNewErrorBoardInvalid"));

        // 检查是否为被屏蔽的用户
        String username = Privilege.getUser(request);
        SweetUserDb su = new SweetUserDb();
        su = su.getSweetUserDb(msgRootId, username);
        if (su.getState()==su.STATE_SHIELD) {
            throw new ErrMsgException(SweetSkin.LoadString(request, "ERROR_SHIELED"));
        }
        return true;
    }

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

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

        // 如果贴子作者是本人则可以编辑
        if (user.equals(md.getName()))
            return true;

        // 检查是否为被屏蔽的用户
        String username = Privilege.getUser(request);
        SweetUserDb su = new SweetUserDb();
        su = su.getSweetUserDb(md.getRootid(), username);
        if (su.getState()==su.STATE_SHIELD) {
            throw new ErrMsgException(SweetSkin.LoadString(request, "ERROR_SHIELED"));
        }
        return false;
    }

    /**
     *
     * @param request HttpServletRequest
     * @param md MsgDb replyid所对应的贴子,也即根贴
     * @return boolean
     * @throws ErrMsgException
     */
    public boolean canAddQuickReply(HttpServletRequest request, MsgDb md) throws
            ErrMsgException {
        // 检测本版是否含有此功能
        SweetBoardDb sb = new SweetBoardDb();
        sb = (SweetBoardDb) sb.getObjectDb(md.getboardcode());
        if (!sb.isLoaded())
            throw new ErrMsgException(SweetSkin.LoadString(request,
                    "addNewErrorBoardInvalid"));
        String username = Privilege.getUser(request);
        // 如果是楼主本人在浏览
        if (username.equals(md.getName()))
            return true;

        SweetUserDb su = new SweetUserDb();
        su = su.getSweetUserDb(md.getRootid(), username);
        if (su.isLoaded()) {
            // 如果是申请状态,则不能快速回复
            if (su.getType()==su.TYPE_APPLIER)
                return false;
        }
        else // 如果尚未加入,则不能快速回复
            return false;
        // 检查是否为被屏蔽的用户
        if (su.getState()==su.STATE_SHIELD) {
            throw new ErrMsgException(SweetSkin.LoadString(request, "ERROR_SHIELED"));
        }
        return true;
    }

    public boolean canManage(HttpServletRequest request, long msgId) throws ErrMsgException {
        Privilege privilege = new Privilege();
        // 如果是总版主,则允许删
        if (privilege.isMasterLogin(request))
            return true;
        MsgDb md = new MsgDb();
        md = md.getMsgDb(msgId);

        String boardCode = md.getboardcode();
        // 检测本版是否含有此功能
        SweetBoardDb sb = new SweetBoardDb();
        sb = (SweetBoardDb)sb.getObjectDb(boardCode);
        if (!sb.isLoaded())
            throw new ErrMsgException(SweetSkin.LoadString(request, "addNewErrorBoardInvalid"));

        String user = privilege.getUser(request);

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

        return false;
    }
}

⌨️ 快捷键说明

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