boketemplateimpl.java

来自「cwbbs 云网论坛源码」· Java 代码 · 共 1,112 行 · 第 1/4 页

JAVA
1,112
字号
package com.redmoon.blog.template;import java.io.*;import java.net.*;import java.util.*;import javax.servlet.http.*;import javax.servlet.jsp.*;import cn.js.fan.db.*;import cn.js.fan.util.*;import cn.js.fan.web.*;import com.cloudwebsoft.framework.base.*;import com.cloudwebsoft.framework.template.*;import com.cloudwebsoft.framework.util.*;import com.redmoon.blog.*;import com.redmoon.blog.link.*;import com.redmoon.blog.photo.*;import com.redmoon.blog.ui.*;import com.redmoon.forum.*;import com.redmoon.forum.Privilege;import com.redmoon.forum.person.*;import com.redmoon.forum.plugin.*;public class BokeTemplateImpl extends VarPart {    public BokeTemplateImpl() {    }        public static String getTemplateCacheKey(UserConfigDb ucd, String templateType) {        if (ucd.isUserCss()) {            return BlogUserTemplateDb.getTemplateCacheKey(ucd, templateType);        }        else {            TemplateDb td = new TemplateDb();            td = td.getTemplateDb(StrUtil.toInt(ucd.getSkin()));            if (td == null) {                td = new TemplateDb();                td = td.getDefaultTemplateDb();            }            return td.getCacheKey(templateType);        }    }        public static String getTemplateContent(UserConfigDb ucd, String templateFieldName) {        if (ucd.isUserCss()) {            BlogUserTemplateDb butd = new BlogUserTemplateDb();            butd = butd.getBlogUserTemplateDb(ucd.getId());            return butd.getString(templateFieldName);        }        else {            TemplateDb td = new TemplateDb();            td = td.getTemplateDb(StrUtil.toInt(ucd.getSkin()));            if (td == null) {                td = new TemplateDb();                td = td.getDefaultTemplateDb();            }            return td.getString(templateFieldName);        }    }    public String renderCalendar(HttpServletRequest request, UserConfigDb ucd) {        String str = "";        str += "<div id=div_cal></div>";        str += "<script>\n";        str += "var blogId=\"" + ucd.getId() + "\";\n";        str += "</script>\n";        str += "<script src=\"" + request.getContextPath() +                "/blog/inc/calendar.js\">";        str += "</script>\n";                int leftyear, leftmonth;        try {            leftyear = ParamUtil.getInt(request, "year");            leftmonth = ParamUtil.getInt(request, "month");        } catch (Exception e) {            Calendar cal = Calendar.getInstance();            leftyear = cal.get(cal.YEAR);            leftmonth = cal.get(cal.MONTH) + 1;        }        if (leftmonth > 12)            leftmonth = 12;        if (leftmonth < 1)            leftmonth = 1;        str += "<script>\n";        str += "newCalendar(\"div_cal\"," + leftyear + "," + leftmonth + ");\n";        str += "</script>\n";                UserBlog bu = new UserBlog(ucd.getId());        int[] dayCountAry = bu.getBlogDayCount(leftyear, leftmonth);        int dayLen = dayCountAry.length;        str += "<script>\n";        for (int n = 1; n < dayLen; n++) {            if (dayCountAry[n] > 0) {                String totle_log = cn.js.fan.web.SkinUtil.LoadString(request,                        "res.label.blog.left", "totle_log");                totle_log = StrUtil.format(totle_log,                                           new Object[] {"" + dayCountAry[n]});                                str += "day" + n + ".innerHTML=\"<table width=100% cellSpacing=0 cellPadding=1><tr><td align=center class=dayCell><a href='listdayblog.jsp?blogId=" +                        ucd.getId() + "&y=" + leftyear + "&m=" + leftmonth +                        "&d=" + n + "' title='" + totle_log + "'>" + n                        + "</a></td></tr></table>\";\n";            }        }        str += "</script>\n";        return str;    }    public String renderSubShowblog(HttpServletRequest request,                                    UserConfigDb ucd,                                    TemplateDb td) {        String str = "";        MsgDb rootMsgDb = (MsgDb) request.getAttribute("rootMsgDb");        try {                        request.setAttribute("MsgDb", rootMsgDb);            TemplateLoader tl = new TemplateLoader(request,                                    getTemplateCacheKey(ucd, TemplateDb.                    TEMPL_TYPE_SUB),                                    getTemplateContent(ucd, "sub_content"));            str += tl.toString();                        com.redmoon.forum.Config cfg1 = com.redmoon.forum.Config.                                            getInstance();            if (cfg1.getBooleanProperty("forum.isTag")) {                Vector vtag = rootMsgDb.getTags();                str += "<div class='tag'>" + SkinUtil.LoadString(request,                        "res.label.forum.showtopic",                        "tag") + ":";                if (vtag.size() > 0) {                    Iterator irtag = vtag.iterator();                    TagDb td2 = new TagDb();                    while (irtag.hasNext()) {                        TagMsgDb tmd = (TagMsgDb) irtag.next();                        TagDb tag = td2.getTagDb(tmd.getLong("tag_id"));                        if (td != null) {                            str +=                                    "<a class=\"linkTag\" target=\"_blank\" href=\"";                            str += "listtag.jsp?tagId=" + tmd.getLong("tag_id") +                                    ">";                            str += tag.getString("name") + "</a>&nbsp;&nbsp;";                        }                    }                }                str += "</div>";            }                        str += "<div class='footprintBox'>[<a href=\"javascript:if (confirm('" + SkinUtil.LoadString(request, "res.label.blog.myblog", "confirm_footprint") + "')) window.location.href='../blog/footprint_do.jsp?msgId=" +                    rootMsgDb.getRootid() + "&blogId=" + ucd.getId() + "'\">" +                    SkinUtil.LoadString(request,                                        "res.label.blog.user.userconfig",                                        "is_footprint") + "</a>]</div>";            str += "<div class='footprintBox2'>";            UserMgr um = new UserMgr();            com.redmoon.blog.Config bcfg = com.redmoon.blog.Config.getInstance();            FootprintDb fd = new FootprintDb();            String sql = "select msg_id,user_name from " +                         fd.getTable().getName() + " where msg_id=" +                         rootMsgDb.getId() + " order by add_date desc";            ListResult lr = fd.listResult(sql, 1,                                          bcfg.getIntProperty("footprintDisplayCount"));            Iterator ir = lr.getResult().iterator();            while (ir.hasNext()) {                fd = (FootprintDb) ir.next();                UserDb ud = um.getUser(fd.getString("user_name"));                if (ud.getGender().equals("M")) {                    str += "<img src=\"../blog/skin/" + td.getString("code") +                            "/images/man.gif\">";                } else {                    str += "<img src=\"../blog/skin/" + td.getString("code") +                            "/images/woman.gif\">";                }                str += "&nbsp;<a href=\"../userinfo.jsp?username=" +                        StrUtil.UrlEncode(ud.getName()) + "\">" + ud.getNick() +                        "</a>&nbsp;&nbsp;";            }            str += "</div>";                                    sql = SQLBuilder.getShowtopictreeSql(rootMsgDb.getId());            long totalmsg = rootMsgDb.getMsgCount(sql, rootMsgDb.getboardcode(), rootMsgDb.getId());            int pagesize = 10;            String op = ParamUtil.get(request, "op");            if (op.equals("allcomm"))                pagesize = (int) totalmsg;            Paginator paginator = new Paginator(request, totalmsg, pagesize);            int curpage = paginator.getCurPage();                        int totalpages = paginator.getTotalPages();            if (totalpages == 0) {                curpage = 1;                totalpages = 1;            }            long start = (curpage - 1) * pagesize;            long end = curpage * pagesize;                                    MsgBlockIterator irmsg = rootMsgDb.getMsgs(sql, rootMsgDb.getboardcode(), rootMsgDb.getId(), start, end);            if (irmsg.hasNext() && curpage == 1) {                irmsg.next();             } while (irmsg.hasNext()) {                MsgDb msgDb = (MsgDb) irmsg.next();                request.setAttribute("MsgDb", msgDb);                try {                    tl = new TemplateLoader(request,                                            getTemplateCacheKey(ucd, TemplateDb.                            TEMPL_TYPE_SUB),                                            getTemplateContent(ucd, "sub_content"));                    str += tl.toString();                } catch (Exception e) {                    LogUtil.getLog(getClass()).error("renderSubShowblog:" +                            e.getMessage());                }            }            if (!op.equals("allcomm")) {                str += "<div class='pageBlock'>";                str +=                        paginator.getCurPageBlock("showblog.jsp?boardcode=" +                                                  rootMsgDb.getboardcode() +                                                  "&rootid=" + rootMsgDb.getId());                str += "</div>";            }            str += getAreaReply(request, rootMsgDb.getId());        } catch (Exception e) {            LogUtil.getLog(getClass()).error("toString:" + e.getMessage());        }        return str;    }    public String renderNewComment(HttpServletRequest request, UserConfigDb ucd,                                   TemplateDb td) throws ErrMsgException {        String str = "<ul>";        String leftsql = SQLBuilder.getNewReplySqlOfBlog(ucd.getId());         MsgDb leftMsgDb = new MsgDb();        cn.js.fan.db.ListResult leftlr = leftMsgDb.list(leftsql, 1, 10);        UserMgr leftum = new UserMgr();        if (leftlr != null) {            Vector leftv = leftlr.getResult();            Iterator leftir = leftv.iterator();            while (leftir.hasNext()) {                leftMsgDb = (MsgDb) leftir.next();                if (leftMsgDb.getMsgDb(leftMsgDb.getRootid()).getCheckStatus() ==                    MsgDb.CHECK_STATUS_PASS) {                    str += "<li>";                    str += "[";                    if (leftMsgDb.getName().equals("")) {                        str += cn.js.fan.web.SkinUtil.LoadString(request,                                "res.label.forum.showtopic", "anonym");                    } else {                        str += "<a href=\"../userinfo.jsp?username=" +                                leftMsgDb.getName() + "\">" +                                leftum.getUser(leftMsgDb.getName()).                                getNick() + "</a>";

⌨️ 快捷键说明

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