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

📄 sweetrender.java~4~

📁 源码/软件简介: 云网论坛1.1RC国际版是采用JSP开发的集论坛、CMS(网站内容管理系统)、博客、聊天室、商城、交友、语音灌水等于一体的门户式社区。拥有CWBBS ( Cloud Web BBS
💻 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>&nbsp; <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 + -