post.java
来自「一个jsp写的bbs」· Java 代码 · 共 1,187 行 · 第 1/4 页
JAVA
1,187 行
}
postForm.setAction("editdo");
postForm.setTitle(f.getTitle());
postForm.setDetail(f.getDetail());
int canUseTitleColor = 0;
if (f.getIsNew() == 1) {
if (us.isHaveBoardSpecialPermission(Constant.SPERMISSION_CAN_USE_TITLECOLOR)) {
canUseTitleColor = 1;
}
}
request.setAttribute("titleColorOptions",
BBSCSUtil.getTitleColorOptions(canUseTitleColor, request.getLocale()));
postForm.setTitleColor(f.getTitleColor());
postForm.setPostType(f.getPostType());
postForm.setFace(f.getFace());
postForm.setEditType(f.getEditType());
postForm.setSign(3);
postForm.setEmailInform(f.getEmailInform());
postForm.setMsgInform(f.getMsgInform());
this.setTagsAttribute(request, board);
return mapping.findForward("post");
}
if (postForm.getAction().equalsIgnoreCase("editdo")) {
String title = StringUtils.trimToEmpty(postForm.getTitle());
String detail = StringUtils.trimToEmpty(postForm.getDetail());
if (StringUtils.isBlank(title) || BBSCSUtil.getSysCharsetStrLength(title) > 90) {
messages.add("error.post.titletoolong", new ActionMessage("error.post.titletoolong"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
title = this.getSysConfig().bestrowScreen(title);
if (StringUtils.isBlank(detail)) {
messages.add("error.post.nodetail", new ActionMessage("error.post.nodetail"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
if (BBSCSUtil.getSysCharsetStrLength(detail) < this.getSysConfig().getPostMinSize() ||
BBSCSUtil.getSysCharsetStrLength(detail) > this.getSysConfig().getPostMaxSize()) {
messages.add("error.post.texttoolong",
new ActionMessage("error.post.texttoolong",
String.valueOf(this.getSysConfig().getPostMinSize()),
String.valueOf(this.getSysConfig().getPostMaxSize())));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
detail = this.getSysConfig().bestrowScreen(detail);
Forum f = this.getForumService().findForumByID(postForm.getId(), postForm.getBid());
if (f == null) {
messages.add("error.post.getpost", new ActionMessage("error.post.getpost"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
if (! (f.getUserID().equals(us.getId()) ||
us.isHaveBoardSpecialPermission(Constant.SPERMISSION_CAN_EDITPOST))) {
messages.add("error.noPermission", new ActionMessage("error.noPermission"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
MessageResources mr = this.getResources(request);
Locale locale = this.getLocale(request);
String IP = request.getRemoteAddr();
IP = IP.substring(0, IP.lastIndexOf(".")) + ".*";
f.setArtSize(BBSCSUtil.getSysCharsetStrLength(postForm.getDetail()));
String amend = mr.getMessage(locale, "change.text", us.getUserName(),
Util.formatDateTime(new Date()), IP);
f.setAmend(amend);
f.setEditType(postForm.getEditType());
f.setFace(postForm.getFace());
f.setPostType(postForm.getPostType());
if (postForm.getSign() != 3) {
if (postForm.getSign() == -1) {
f.setSign("");
}
else {
f.setSign(us.getSignDetail()[postForm.getSign()]);
}
}
f.setTitle(title);
f.setTitleColor(postForm.getTitleColor());
f.setDetail(detail);
if (f.getIndexStatus() == Constant.INDEX_STATUS_INDEXED) {
f.setIndexStatus(Constant.INDEX_STATUS_NEED_UPDTAE);
}
//f.setTagID(tagId);
//if (tagId.equals("0")) {
// f.setTagName("");
//}
//else {
// f.setTagName(board.getBoardTagById(tagId).getTagName());
//}
try {
f = this.getForumService().saveEditForum(f);
if (Constant.USE_URL_REWRITE) {
return new ActionForward("/read-topic-" + bid + "-" + postForm.getMainID() + "-" + tagId + "-" +
postForm.getFcpage() + "-index-" + postForm.getInpages() + ".html", true);
}
else {
return new ActionForward(BBSCSUtil.getActionMappingURL("/read?action=topic&id=" +
postForm.getMainID() + "&bid=" + bid + "&fcpage=" + postForm.getFcpage() + "&inpages=" +
postForm.getInpages() + "&tagId=" + tagId), true);
}
}
catch (BbscsException ex4) {
messages.add("error.post.editdo", new ActionMessage("error.post.editdo"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
}
if (postForm.getAction().equalsIgnoreCase("showdelattachpage")) {
Forum f = this.getForumService().findForumByID(postForm.getId(), postForm.getBid());
if (f == null) {
messages.add("error.post.getpost", new ActionMessage("error.post.getpost"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_HTMLERROR);
}
if (f.getAttachFileName() == null || f.getAttachFileName().isEmpty()) {
messages.add("error.post.upfile.notexist",
new ActionMessage("error.post.upfile.notexist", postForm.getId()));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_HTMLERROR);
}
if (! (us.getId().equals(f.getUserID()) ||
us.isHaveBoardSpecialPermission(Constant.SPERMISSION_CAN_DELATTACH))) {
messages.add("error.post.upfile.user2",
new ActionMessage("error.post.upfile.user2", postForm.getId()));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_HTMLERROR);
}
request.setAttribute("attachFiles", f.getAttachFileName());
return mapping.findForward("attachFiles");
}
if (postForm.getAction().equalsIgnoreCase("buy")) {
Forum f = this.getForumService().findForumByID(postForm.getId(), postForm.getBid());
if (f == null) {
messages.add("error.post.getpost", new ActionMessage("error.post.getpost"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
UserInfo ui = this.getUserService().findUserInfoById(us.getId());
if (ui == null) {
messages.add("error.post.guest", new ActionMessage("error.post.guest"));
this.saveErrors(request, messages);
this.setNeedsAttribute(request, us, board);
return mapping.getInputForward();
}
if (ui.getCoin() < f.getIsHiddenValue()) {
messages.add("error.post.buy.coin", new ActionMessage("error.post.buy.coin"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
try {
this.getForumService().saveForumBuy(bid, postForm.getId(), f, ui);
if (Constant.USE_URL_REWRITE) {
return new ActionForward("/read-topic-" + bid + "-" + postForm.getId() + "-" + tagId +
"-1-index-1.html", true);
}
else {
return new ActionForward(BBSCSUtil.getActionMappingURL("/read?action=topic&id=" +
postForm.getId() + "&bid=" + bid + "&fcpage=" + 1 + "&fcaction=index" +
"&inpages=" + 1 + "&tagId=" + tagId), true);
}
}
catch (BbscsException ex5) {
messages.add("error.post.buy.error", new ActionMessage("error.post.buy.error"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
}
return mapping.getInputForward();
}
private int getUserPostPerNum(int userNum, int sysNum) {
if (userNum == 0) {
return sysNum;
}
else {
return userNum;
}
}
private void setNeedsAttribute(HttpServletRequest request, UserSession us, Board b) {
request.setAttribute("postHiddenTypeMoney",
new Integer(this.getSysConfig().getPostHiddenTypeMoney()));
request.setAttribute("postHiddenTypeRe", new Integer(this.getSysConfig().getPostHiddenTypeRe()));
request.setAttribute("postHiddenTypeArtNum",
new Integer(this.getSysConfig().getPostHiddenTypeArtNum()));
int canUseTitleColor = 0;
if (us.isHaveBoardSpecialPermission(Constant.SPERMISSION_CAN_USE_TITLECOLOR)) {
canUseTitleColor = 1;
}
//System.out.println(canUseTitleColor);
request.setAttribute("titleColorOptions",
BBSCSUtil.getTitleColorOptions(canUseTitleColor, request.getLocale()));
request.setAttribute("postPriceValues",
BBSCSUtil.getPostPriceValues(this.getSysConfig().getPostPriceLists()));
Vector v = new Vector();
v.add(new LabelValueBean(b.getBoardName(), "0"));
Iterator it = b.getBoardTag().iterator();
BoardTag bt = null;
while (it.hasNext()) {
bt = (BoardTag) it.next();
v.add(new LabelValueBean(bt.getTagName(), bt.getId()));
}
request.setAttribute("tagValues", v);
}
private void setNeedsAttributeRe(HttpServletRequest request, UserSession us, Board b) {
request.setAttribute("postHiddenTypeMoney",
new Integer(this.getSysConfig().getPostHiddenTypeMoney()));
request.setAttribute("postHiddenTypeRe", new Integer(this.getSysConfig().getPostHiddenTypeRe()));
request.setAttribute("postHiddenTypeArtNum",
new Integer(this.getSysConfig().getPostHiddenTypeArtNum()));
int canUseTitleColor = 0;
request.setAttribute("titleColorOptions",
BBSCSUtil.getTitleColorOptions(canUseTitleColor, request.getLocale()));
request.setAttribute("postPriceValues",
BBSCSUtil.getPostPriceValues(this.getSysConfig().getPostPriceLists()));
Vector v = new Vector();
v.add(new LabelValueBean(b.getBoardName(), "0"));
Iterator it = b.getBoardTag().iterator();
BoardTag bt = null;
while (it.hasNext()) {
bt = (BoardTag) it.next();
v.add(new LabelValueBean(bt.getTagName(), bt.getId()));
}
request.setAttribute("tagValues", v);
}
private void setTagsAttribute(HttpServletRequest request, Board b) {
Vector v = new Vector();
v.add(new LabelValueBean(b.getBoardName(), "0"));
Iterator it = b.getBoardTag().iterator();
BoardTag bt = null;
while (it.hasNext()) {
bt = (BoardTag) it.next();
v.add(new LabelValueBean(bt.getTagName(), bt.getId()));
}
request.setAttribute("tagValues", v);
}
public BoardService getBoardService() {
return boardService;
}
public ForumService getForumService() {
return forumService;
}
public SysConfig getSysConfig() {
return sysConfig;
}
public UserService getUserService() {
return userService;
}
public void setBoardService(BoardService boardService) {
this.boardService = boardService;
}
public void setForumService(ForumService forumService) {
this.forumService = forumService;
}
public void setSysConfig(SysConfig sysConfig) {
this.sysConfig = sysConfig;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?