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

📄 auctionprivilege.java

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

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 AuctionPrivilege implements IPluginPrivilege {
    static Logger logger = Logger.getLogger(AuctionPrivilege.class.getName());

    public AuctionPrivilege() {
    }

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

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

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

        return true;
    }

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

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

        boolean re = false;
        // 如果贴子作者是本人则可以编辑
        if (user.equals(md.getName()))
            re = true;
        // 如果该贴是拍卖贴,且已有用户参与拍卖,则不能修改
        AuctionDb ad = new AuctionDb();
        ad = ad.getAuctionDb(md.getId());
        if (ad.getCurBidPrice()!=0)
            throw new ErrMsgException(AuctionSkin.LoadString(request, "err_auction_custom_take_part_in"));

        return re;
    }

    /**
     *
     * @param request HttpServletRequest
     * @param md MsgDb replyid所对应的贴子,也即根贴
     * @return boolean
     * @throws ErrMsgException
     */
    public boolean canAddQuickReply(HttpServletRequest request, MsgDb md) throws
            ErrMsgException {
        return true;
    }

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

        String boardCode = md.getboardcode();
        // 检测本版是否含有此功能
        AuctionBoardDb sb = new AuctionBoardDb();
        sb = (AuctionBoardDb)sb.getObjectDb(boardCode);
        if (!sb.isLoaded())
            throw new ErrMsgException(AuctionSkin.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;

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

        // 如果该贴是拍卖贴,且已有用户参与拍卖,则用户自己不能删除,而版主可以删除
        if (md.getReplyid()==-1) {
            AuctionDb ad = new AuctionDb();
            ad = ad.getAuctionDb(msgId);
            if (ad.getCurBidPrice()!=0 && ad.getSellType() == ad.SELL_TYPE_AUCTION) {
                if (isUserManager)
                    re = true;
                else {
                    re = false;
                    if (user.equals(ad.getUserName()))
                        throw new ErrMsgException(AuctionSkin.LoadString(
                                request,
                                "err_auction_custom_take_part_in"));
                }
            }
        }
        return re;
    }
}

⌨️ 快捷键说明

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