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

📄 defaultrender.java

📁 cwbbs 云网论坛源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.redmoon.forum.plugin;import java.util.regex.Matcher;import java.util.regex.Pattern;import javax.servlet.http.HttpServletRequest;import cn.js.fan.util.*;import cn.js.fan.web.Global;import cn.js.fan.web.SkinUtil;import com.redmoon.forum.*;import com.redmoon.forum.person.UserDb;import com.redmoon.forum.plugin.base.IPluginRender;import org.apache.log4j.Logger;import com.redmoon.forum.plugin.base.IPluginScore;import com.redmoon.forum.person.UserGroupDb;import com.redmoon.forum.person.UserGroupPrivDb;import java.util.Vector;import com.redmoon.forum.person.UserMgr;import com.redmoon.forum.setup.UserLevelDb;public class DefaultRender implements IPluginRender {    static Logger logger = Logger.getLogger(DefaultRender.class.getName());    public DefaultRender() {    }        public String RenderTitle(HttpServletRequest request, MsgDb md) {        if (!md.getName().equals("")) {            UserDb user = new UserDb();            user = user.getUser(md.getName());            if (!user.isValid()) {                return "===========";            }        }        String str = "";        if (md.getExpression()!=MsgDb.EXPRESSION_NONE)            str += "<img src='images/brow/" + md.getExpression() + ".gif' border=0>&nbsp;";        str += "<b>" + StrUtil.ubb(request, StrUtil.toHtml(md.getTitle()), true) + "</b>";        return str;    }    public static String RenderFullTitle(HttpServletRequest request, MsgDb md) {        boolean isUBB = false;        if (!md.getName().equals("")) {            UserDb user = new UserDb();            user = user.getUser(md.getName());            if (user.isLoaded() && !user.isValid()) {                return "===========";            }            if (user.isLoaded()) {                com.redmoon.forum.Config cfg = com.redmoon.forum.Config.                                               getInstance();                isUBB = cfg.getBooleanProperty("forum.isUBBTopicTitle");                if (isUBB) {                    int level = StrUtil.toInt(cfg.getProperty(                            "forum.UBBTopicTitleUserLevel"), 0);                                        if (level > 0 && user.getUserLevelDb().getLevel() < level) {                        isUBB = false;                    }                }            }        }        String str = StrUtil.toHtml(md.getTitle());        if (isUBB)            str = StrUtil.ubb(request, str, true);        return str;    }        public static String RenderTitle(HttpServletRequest request, MsgDb md, int len) {        if (!md.isLoaded())            return "";        String str = RenderFullTitle(request, md);                    str = StrUtil.getLeft(str, len);        return str;    }    public MsgPollDb RenderVote(HttpServletRequest request, MsgDb md) {        UserDb user = new UserDb();        user = user.getUser(md.getName());        if (user.isValid()) {            MsgPollDb mpd = new MsgPollDb();            return (MsgPollDb)mpd.getQObjectDb(new Long(md.getId()));        }        else            return null;    }    public String RenderContent(HttpServletRequest request, MsgDb md) {        return doRendContent(request, md);    }    public String LoadString(HttpServletRequest request, String key) {        return SkinUtil.LoadString(request, "res.forum.plugin.DefaultRender", key);    }    public String doRendContentCommon(HttpServletRequest request, MsgDb md) {        String content = md.getContent();                if (md.getIsWebedit() == md.WEBEDIT_UBB) {            content = StrUtil.toHtml(content);                        if (md.getShowUbbcode() == 1) {                if (md.getShowSmile() == 1) {                    content = StrUtil.ubb(request, content, true);                } else                    content = StrUtil.ubb(request, content, false);            }        } else {            content = StrUtil.ubbWithoutAutoLink(request, content);        }        return content;    }    public String doRendContent(HttpServletRequest request, MsgDb md) {        UserMgr um = new UserMgr();        if (!md.getName().equals("")) {            UserDb user = um.getUser(md.getName());            if (!user.isValid()) {                showAttachment = false;                return LoadString(request, "info_user_invalid");            }        }        String content = doRendContentCommon(request, md);        Privilege privilege = new Privilege();        String seeUserName = privilege.getUser(request);        String subStr = LoadString(request, "info_need_reply");         String subStrExp;         String patternStr = "";        Pattern pattern;        Matcher matcher;                boolean canEdit = false;        try {            canEdit = privilege.canEdit(request, md);        }        catch (ErrMsgException e) {            logger.info("RenderContent:" + e.getMessage());        }        if (canEdit) {            content = replyCanSee(content, true, subStr);        } else {            patternStr = "(\\[REPLY\\])(.*?)(\\[\\/REPLY\\])";            pattern = Pattern.compile(patternStr,                                      Pattern.DOTALL | Pattern.CASE_INSENSITIVE);            matcher = pattern.matcher(content);                        if (matcher.find()) {                boolean canSee = false;                                if (md.getReplyid()==-1)                    canSee = md.isUserReplyerOfMsg(seeUserName);                else {                     long rootid = md.getRootid();                    MsgDb rootMsg = md.getMsgDb(rootid);                    canSee = rootMsg.isUserReplyerOfMsg(seeUserName);                }                if (canSee) {                    content = matcher.replaceAll(subStr + "<BR>" + "$2");                }                else {                    content = matcher.replaceAll(subStr);                    showAttachment = false;                }            }        }        if (!md.getName().equals("")) {            UserDb seeUser = um.getUser(seeUserName);                                    patternStr =                    "(\\[HIDE=([a-z|A-Z]*),\\s*([0-9]*)\\])(.*?)(\\[\\/HIDE\\])";            pattern = Pattern.compile(patternStr,                                      Pattern.DOTALL | Pattern.CASE_INSENSITIVE);            matcher = pattern.matcher(content);                        if (matcher.find()) {                String moneyCode = matcher.group(2);                                if (moneyCode.equals("experience"))                    subStrExp = LoadString(request, "info_need_exprience");                 else                    subStrExp = LoadString(request, "info_need_credit");                String exp = matcher.group(3);                if (!StrUtil.isNumeric(exp))                    exp = "0";                subStrExp = subStrExp.replaceFirst("\\$e", exp);                if (canEdit)                    content = canSee(content, true, subStrExp);                else {                    int e = 0;                    if (moneyCode.equals("experience"))                        e = seeUser.getExperience();                    else                        e = seeUser.getCredit();                    int iexp = Integer.parseInt(exp);                    boolean canSee = e >= iexp ? true : false;                    if (canSee) {                        content = matcher.replaceFirst(subStrExp + "<BR>" + "$4");                    } else {                        content = matcher.replaceFirst(subStrExp);                        showAttachment = false;                    }                }            }            String subStrPoint = LoadString(request, "info_need_fee");             patternStr =                    "(\\[point=([a-z|A-Z]*),\\s*([0-9]*)\\])(.*?)(\\[\\/point\\])";            pattern = Pattern.compile(patternStr,                                      Pattern.DOTALL | Pattern.CASE_INSENSITIVE);            matcher = pattern.matcher(content);            if (matcher.find()) {                String moneyCode = matcher.group(2);                String strsum = matcher.group(3);                int sum = 0;                String usePoint = ParamUtil.get(request, "usePoint");                try {                    sum = StrUtil.toInt(strsum);                } catch (Exception e) {                    logger.info("doRenderContent:" + e.getMessage());                }                ScoreMgr sm = new ScoreMgr();                ScoreUnit su = sm.getScoreUnit(moneyCode);                subStrPoint = subStrPoint.replaceFirst("\\$f", "" + su.getName());                subStrPoint = subStrPoint.replaceFirst("\\$e", "" + sum);                subStrPoint = subStrPoint.replaceFirst("\\$w", su.getDanWei());                boolean canSee = canEdit;                String reason = "";                String info = "";                                if (usePoint.equals("true")) {                                        if (!privilege.isUserLogin(request)) {                        canSee = false;                        reason = SkinUtil.LoadString(request, "err_not_login");                    } else {                        IPluginScore isc = su.getScore();                        if (isc != null) {                            try {                                isc.pay(seeUserName, isc.SELLER_SYSTEM, sum);                                String tmp = LoadString(request, "info_fee_detail");                                tmp = tmp.replaceFirst("\\$f",                                        su.getName() + sum + su.getDanWei());

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -