📄 forumtag.java
字号:
if (BBSCSUtil.isTodayTime(f.getDelTime(), uc.getTimeZone())) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "bbscs.today"));
sb.append(" ");
sb.append(BBSCSUtil.formatDateTime(new Date(f.getDelTime()), sysConfig.getTimeFormat(),
uc.getTimeZone()));
}
else if (BBSCSUtil.isYesterdayTime(f.getDelTime(), uc.getTimeZone())) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "bbscs.yesterday"));
sb.append(" ");
sb.append(BBSCSUtil.formatDateTime(new Date(f.getDelTime()), sysConfig.getTimeFormat(),
uc.getTimeZone()));
}
else {
sb.append(BBSCSUtil.formatDateTime(new Date(f.getDelTime()),
sysConfig.getForumDateTimeFormat(), uc.getTimeZone()));
}
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("timeinpost")) {
UserCookie uc = new UserCookie(request, response, sysConfig);
sb.append(BBSCSUtil.formatDateTime(new Date(f.getPostTime()),
sysConfig.getPostDateTimeFormat(), uc.getTimeZone()));
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("detailsummary")) {
Object boardObj = TagUtils.getInstance().lookup(pageContext, boardObjName, null, null);
Board board = (Board) boardObj;
if (f.getIsVote() == 0) { //不是投票帖
if (f.getIsHidden() == 1) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.ishidden"));
//sb.append("这是一个隐藏帖!");
}
else {
if (f.getEditType() == 0) {
String detail = BBSCSUtil.getSpeShortString(f.getDetail(), sysConfig.getPostViewLength(),
"...");
sb.append(BBSCSUtil.filterText(detail, (board.getAllowHTML() == 1),
(board.getAllowUBB() == 1), true));
}
else {
sb.append(BBSCSUtil.getSpeShortString(f.getDetail(), sysConfig.getPostViewLength(), "..."));
}
}
}
else { //投票帖
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.isvote"));
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("detail")) {
HttpSession session = request.getSession();
UserSession us = (UserSession) session.getAttribute(Constant.USER_SESSION_KEY);
Object boardObj = TagUtils.getInstance().lookup(pageContext, boardObjName, null, null);
Board board = (Board) boardObj;
//String detail = f.getDetail();
if (f.getIsVote() == 0) { //不是投票帖
if (f.getIsHidden() != 0) { //是隐藏帖
if (f.getUserID().equals(us.getId()) ||
us.isHaveBoardSpecialPermission(Constant.SPERMISSION_CAN_SEE_HIDDENDETAIL)) { //发表人或有直接查看隐藏帖权限
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.hidden.needre0"));
sb.append("<BR/>");
sb.append(this.getForumDetail(f, board, sysConfig, request, us));
}
else {
if (f.getIsHidden() == 1) { //回复帖
ForumService forumService = (ForumService) wc.getBean("forumService");
if (forumService.isReedUser(f.getBoardID(), f.getMainID(), us.getId())) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.hidden.needre0"));
sb.append("<BR/>");
sb.append(this.getForumDetail(f, board, sysConfig, request, us));
}
else {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "error.post.hidden.needre"));
}
}
if (f.getIsHidden() == 2) { //金钱购买帖
}
if (f.getIsHidden() == 3) { //资历帖
UserService userService = (UserService) wc.getBean("userService");
UserInfoSimple uis = userService.getUserInfoSimple(us.getId());
if (uis.getArticleNum() >= f.getIsHiddenValue()) {
sb.append(this.getForumDetail(f, board, sysConfig, request, us));
}
else {
Constant.MESSAGE.getMessage(request.getLocale(), "error.post.hidden.artnum",
String.valueOf(f.getIsHiddenValue()));
}
}
}
}
else { //不是隐藏帖
/*
if (StringUtils.isNotBlank(f.getQuoteText())) {
sb.append("<blockquote class=\"quote1\"><strong>");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "bbscs.quote"));
sb.append(":</strong><br />");
if (f.getQuoteEditType() == 0) {
sb.append(BBSCSUtil.filterText(f.getQuoteText(), (board.getAllowHTML() == 1),
(board.getAllowUBB() == 1), true));
}
else {
sb.append(f.getQuoteText());
}
sb.append("</blockquote>");
}
if (f.getHaveAttachFile() != 0 && f.getAttachFileName() != null &&
!f.getAttachFileName().isEmpty()) {
sb.append(this.getAttachFile(f, sysConfig, false));
}
else {
sb.append("<div id=\"upfile");
sb.append(f.getId());
sb.append("\" class=\"font5\" style=\"display:none\"></div>");
}
if (f.getEditType() == 0) {
sb.append(BBSCSUtil.filterText(detail, (board.getAllowHTML() == 1),
(board.getAllowUBB() == 1), true));
}
else {
sb.append(detail);
}*/
sb.append(this.getForumDetail(f, board, sysConfig, request, us));
}
TagUtils.getInstance().write(pageContext, sb.toString());
}
else { //投票帖
VoteService voteService = (VoteService) wc.getBean("voteService");
//System.out.println(f.getVoteID());
Vote vote = voteService.findVoteByID(f.getVoteID());
//System.out.println(vote);
if (vote != null) {
//System.out.println("Vote exist..");
VoteItemService voteItemService = (VoteItemService) wc.getBean("voteItemService");
List voteItems = voteItemService.findVoteItemsByVoteID(vote.getId());
Configuration tempConfiguration = (Configuration) wc.getBean("tempConfiguration");
try {
tempConfiguration.setDirectoryForTemplateLoading(new File(Constant.ROOTPATH +
Constant.FTL_PATH));
tempConfiguration.setDefaultEncoding(Constant.CHARSET);
tempConfiguration.setLocale(request.getLocale());
tempConfiguration.setNumberFormat("0.##########");
Map root = new HashMap();
root.put("postid", f.getId());
root.put("bid", Long.valueOf(f.getBoardID()));
root.put("vote", vote);
root.put("vis", voteItems);
root.put("fdetail", this.getForumDetail(f, board, sysConfig, request, us));
Template temp = tempConfiguration.getTemplate("vote.ftl");
//Writer writer = pageContext.getOut();
StringWriter sw = new StringWriter();
temp.process(root, sw);
//writer.flush();
TagUtils.getInstance().write(pageContext, sw.toString());
sw.flush();
}
catch (TemplateException ex) {
logger.error(ex);
}
catch (IOException ex) {
logger.error(ex);
}
}
}
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("sign")) {
if (StringUtils.isNotBlank(f.getSign())) {
sb.append("<div id=\"sign");
sb.append(f.getId());
sb.append("\" class=\"");
sb.append(this.getItemClass());
sb.append("\">");
sb.append(BBSCSUtil.filterUserSign(f.getSign(), sysConfig.isSignUseHtml(),
sysConfig.isSignUseUBB(), sysConfig.isSignUseSmile()));
sb.append("</div>");
TagUtils.getInstance().write(pageContext, sb.toString());
}
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("amend")) {
if (StringUtils.isNotBlank(f.getAmend())) {
sb.append("<div id=\"amend");
sb.append(f.getId());
sb.append("\">");
sb.append("<br/>------<br/><font color=\"#0099CC\">");
sb.append(f.getAmend());
sb.append("</font>");
sb.append("</div>");
TagUtils.getInstance().write(pageContext, sb.toString());
}
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("delmsg")) {
if (f.getDelSign() == 1) {
sb.append("<div id=\"delmsg");
sb.append(f.getId());
sb.append("\">");
sb.append("<br/><br/><font color=\"#0099CC\">");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "forum.delmsg", f.getDelUserName(),
Util.formatDateTime(new Date(f.getDelTime())), f.getDelIP()));
sb.append("</font>");
sb.append("</div>");
TagUtils.getInstance().write(pageContext, sb.toString());
}
}
if (type.equalsIgnoreCase("re") || type.equalsIgnoreCase("requote")) {
int fcpage = 1;
Object fcpageObj = TagUtils.getInstance().lookup(pageContext, forumCurrentPageName, null, null);
if (fcpageObj != null) {
fcpage = ( (Integer) fcpageObj).intValue();
}
int topicTotal = 0;
Object topicTotalObj = TagUtils.getInstance().lookup(pageContext, topicTotalNumName, null, null);
if (topicTotalObj != null) {
topicTotal = ( (Integer) topicTotalObj).intValue();
}
StringBuffer linksb = new StringBuffer();
linksb.append("/post?action=");
linksb.append(type);
linksb.append("&bid=");
linksb.append(f.getBoardID());
linksb.append("&parentID=");
linksb.append(f.getId());
linksb.append("&mainID=");
linksb.append(f.getMainID());
//linksb.append("&page=");
linksb.append("&fcpage=");
linksb.append(fcpage);
linksb.append("&totalnum=");
linksb.append(topicTotal);
sb.append("<a href=\"");
sb.append(BBSCSUtil.getActionMappingURL(linksb.toString(), request));
sb.append("\">");
if (type.equalsIgnoreCase("re")) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "bbscs.re"));
}
else {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "bbscs.requote"));
}
sb.append("</a>");
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("sendnote")) {
sb.append("<a href=\"javascript:;\" onclick=\"loadNoteSend('");
sb.append(f.getId());
sb.append("');\">");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "pot.sendnote"));
sb.append("</a>");
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("upfilepage")) {
sb.append("<a href=\"javascript:;\" onclick=\"showUpfilePage('");
sb.append(f.getBoardID());
sb.append("','");
sb.append(f.getId());
sb.append("');\">");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.upfile"));
sb.append("</a>");
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("delattachpage")) {
sb.append("<a href=\"javascript:;\" onclick=\"showDelAttachPage('");
sb.append(f.getBoardID());
sb.append("','");
sb.append(f.getId());
sb.append("');\">");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.upfile.del"));
sb.append("</a>");
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("upfileinpost")) {
HttpSession session = request.getSession();
UserSession us = (UserSession) session.getAttribute(Constant.USER_SESSION_KEY);
if (f.getHaveAttachFile() != 0 && f.getAttachFileName() != null &&
!f.getAttachFileName().isEmpty()) {
sb.append(this.getAttachFile(f, sysConfig, true, request, us));
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("voteinpost")) {
VoteService voteService = (VoteService) wc.getBean("voteService");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -