📄 sweetrender.java~4~
字号:
package com.redmoon.forum.plugin.sweet;
import com.redmoon.forum.*;
import javax.servlet.http.HttpServletRequest;
import com.redmoon.forum.plugin.base.IPluginRender;
import org.apache.log4j.Logger;
import com.redmoon.forum.plugin.DefaultRender;
public class SweetRender implements IPluginRender {
Logger logger = Logger.getLogger(this.getClass().getName());
public SweetRender() {
}
public String RenderVote(HttpServletRequest request, MsgDb md) {
String str = "";
String user = Privilege.getUser(request);
// 如果为主题贴或浏览者本人所发的贴子,则可见
if (md.getReplyid()==-1 || md.getName().equals(user))
return md.getVoteOption();
// 检查看贴人user是否为楼主
SweetDb sdroot = new SweetDb();
sdroot = sdroot.getSweetDb(md.getRootid());
if (user.equals(sdroot.getName()))
return md.getVoteOption();
SweetMsgDb sm = new SweetMsgDb();
sm = sm.getSweetMsgDb(md.getId());
switch(sm.getSecretLevel()) {
// 公众可见
case SweetMsgDb.SECRET_LEVEL_FORUM_PUBLIC:
str = md.getVoteOption();
break;
case SweetMsgDb.SECRET_LEVEL_MSG_USER:
// 检查用户是否在本贴内
SweetUserDb su = new SweetUserDb();
su = su.getSweetUserDb(md.getRootid(), user);
if (su.isLoaded())
str = md.getVoteOption();
else
str = null;
break;
case SweetMsgDb.SECRET_LEVEL_MSG_USER_REPLIED:
long replyid = md.getReplyid();
// 取得被回复贴
MsgDb msgDb = md.getMsgDb(replyid);
String reuser = msgDb.getName();
if (user.equals(reuser))
str = md.getVoteOption();
else // 不是被回复者
str = null; //SweetSkin.LoadString(request,
//"MSG_CONTENT_NOTDISPLAY");
break;
case SweetMsgDb.SECRET_LEVEL_MSG_OWNER:
str = null; //SweetSkin.LoadString(request,
//"MSG_CONTENT_NOTDISPLAY");
break;
default:
str = null;
break;
}
return str;
}
/**
* 根据规则判断是否显示content
* @param request HttpServletRequest
* @param md MsgDb
* @return String
*/
public String RenderContent(HttpServletRequest request, MsgDb md) {
String str = "";
String user = Privilege.getUser(request);
// 如果为主题贴或浏览者本人所发的贴子,则可见
if (md.getReplyid()==-1 || md.getName().equals(user))
return DefaultRender.doRendContent(request, md);
// 检查看贴人user是否为楼主
SweetDb sdroot = new SweetDb();
sdroot = sdroot.getSweetDb(md.getRootid());
if (user.equals(sdroot.getName()))
return DefaultRender.doRendContent(request, md);
// 取得贴子秘级
SweetMsgDb sm = new SweetMsgDb();
sm = sm.getSweetMsgDb(md.getId());
switch(sm.getSecretLevel()) {
case SweetMsgDb.SECRET_LEVEL_FORUM_PUBLIC:
str = DefaultRender.doRendContent(request, md);
break;
case SweetMsgDb.SECRET_LEVEL_MSG_USER:
// 检查用户是否在本贴内
SweetUserDb su = new SweetUserDb();
su = su.getSweetUserDb(md.getRootid(), user);
if (su.isLoaded())
str = DefaultRender.doRendContent(request, md);
else
str = SweetSkin.LoadString(request,
"MSG_CONTENT_NOTDISPLAY");
break;
case SweetMsgDb.SECRET_LEVEL_MSG_USER_REPLIED: // 被回复者可见
long replyid = md.getReplyid();
// logger.info("id=" + md.getId() + " replyid=" + replyid);
// 取得被回复贴
MsgDb msgDb = md.getMsgDb(replyid);
String reuser = msgDb.getName();
// logger.info("user=" + user + " reuser=" + reuser);
if (user.equals(reuser))
str = DefaultRender.doRendContent(request, md);
else
str = SweetSkin.LoadString(request,
"MSG_CONTENT_NOTDISPLAY");
break;
case SweetMsgDb.SECRET_LEVEL_MSG_OWNER:
str = SweetSkin.LoadString(request,
"MSG_CONTENT_NOTDISPLAY");
break;
default:
str = SweetSkin.LoadString(request,
"MSG_CONTENT_NOTDISPLAY");
break;
}
return str;
}
public String RenderAttachment(HttpServletRequest request, MsgDb md) {
if (md.getIsWebedit() == md.WEBEDIT_REDMOON) {
if (md != null) {
java.util.Vector attachments = md.
getAttachments();
java.util.Iterator ir = attachments.
iterator();
String str = "";
while (ir.hasNext()) {
Attachment am = (Attachment)
ir.next();
str +=
"<table width='90%' border='0' cellspacing='0' cellpadding='0'>";
str += " <tr>";
str +=
" <td width='40' align='right'><img src='../images/attach.gif'></td>";
str +=
" <td> <a target=_blank href='" +
am.getVisualPath() +
"/" + am.getDiskName() +
"'>" + am.getName() +
"</a> </td>";
str += " </tr>";
str += "</table>";
}
return str;
}
}
return "";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -