📄 auctionprivilege.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 + -