📄 showtopic.jsp
字号:
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="com.redmoon.forum.ui.*"%>
<%@ page import="cn.js.fan.db.*"%>
<%@ page import="cn.js.fan.util.*"%>
<%@ page import="com.redmoon.forum.*"%>
<%@ page import="com.redmoon.forum.person.*"%>
<%@ page import="java.util.*"%>
<%@ page import="com.redmoon.forum.plugin.*"%>
<%@ page import="com.redmoon.forum.plugin2.*"%>
<%@ page import="com.redmoon.forum.plugin.sweet.*"%>
<%@ page import="com.redmoon.forum.plugin.base.*"%>
<%@ taglib uri="/WEB-INF/tlds/LabelTag.tld" prefix="lt" %>
<jsp:useBean id="privilege" scope="page" class="com.redmoon.forum.Privilege"/>
<%
String querystring = StrUtil.getNullString(request.getQueryString());
String privurl = request.getRequestURL()+"?"+StrUtil.UrlEncode(querystring);
if (!privilege.isUserLogin(request)) {
if (!ForumDb.getInstance().canGuestSeeTopic()) {
response.sendRedirect("../info.jsp?op=login&info=" + StrUtil.UrlEncode(SkinUtil.LoadString(request, "info_please_login")) + "&privurl=" + privurl);
return;
}
}
long rootid;
try {
rootid = ParamUtil.getLong(request, "rootid");
}
catch (Exception e) {
out.println(StrUtil.Alert(SkinUtil.LoadString(request, SkinUtil.ERR_ID))); // "标识非法!"));
return;
}
MsgDb msgdb = new MsgDb();
msgdb = msgdb.getMsgDb(rootid);
// 保存下来,以用于快速回复区的插件提示
MsgDb rootMsgDb = msgdb;
if (!msgdb.isLoaded()) {
out.print(cn.js.fan.web.SkinUtil.makeInfo(request, SkinUtil.LoadString(request, "res.label.forum.showtopic", "topic_lost"))); // "该贴已不存在!"));
return;
}
String boardcode = msgdb.getboardcode();
try {
privilege.checkCanEnterBoard(request, boardcode);
}
catch (ErrMsgException e) {
response.sendRedirect("../info.jsp?info=" + StrUtil.UrlEncode(e.getMessage()));
return;
}
Leaf msgLeaf = new Leaf();
msgLeaf = msgLeaf.getLeaf(boardcode);
String boardname = msgLeaf.getName();
UserSession.setBoardCode(request, boardcode);
// 取得皮肤路径
String skincode = msgLeaf.getSkin();
if (skincode.equals("") || skincode.equals(UserSet.defaultSkin)) {
skincode = UserSet.getSkin(request);
if (skincode==null || skincode.equals(""))
skincode = UserSet.defaultSkin;
}
SkinMgr skm = new SkinMgr();
Skin skin = skm.getSkin(skincode);
String skinPath = skin.getPath();
com.redmoon.forum.Config cfg1 = new com.redmoon.forum.Config();
int msgTitleLengthMin = cfg1.getIntProperty("forum.msgTitleLengthMin");
int msgTitleLengthMax = cfg1.getIntProperty("forum.msgTitleLengthMax");
int msgLengthMin = cfg1.getIntProperty("forum.msgLengthMin");
int msgLengthMax = cfg1.getIntProperty("forum.msgLengthMax");
int maxAttachmentCount = cfg1.getIntProperty("forum.maxAttachmentCount");
int maxAttachmentSize = cfg1.getIntProperty("forum.maxAttachmentSize");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE><%=Global.AppName%> - <%=msgdb.getTitle()%></TITLE>
<META http-equiv=Content-Type content=text/html; charset=utf-8>
<LINK href="<%=skinPath%>/skin.css" type=text/css rel=stylesheet>
<LINK href="images/bbs.ico" rel="SHORTCUT ICON">
<STYLE>
TABLE {
BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 1px
}
TD {
BORDER-RIGHT: 0px; BORDER-TOP: 0px
}
</STYLE>
<SCRIPT language=JavaScript>
<!--
function zoomimg(o){
var zoom = parseInt(o.style.zoom, 10)||100; // 如果parsInt的结果为NaN,则zoom的值为100
zoom += event.wheelDelta/12;
if (zoom>0)
o.style.zoom = zoom + "%";
return false;
}
function SymError()
{
return true;
}
window.onerror = SymError;
//-->
</SCRIPT>
<SCRIPT language=JavaScript src="images/nereidFade.js"></SCRIPT>
<SCRIPT>
function checkclick(msg)
{
if(confirm(msg))
event.returnValue=true;
else
event.returnValue=false;
}
function copyText(obj) {
var rng = document.body.createTextRange();
rng.moveToElementText(obj);
rng.select();
rng.execCommand('Copy');
}
var i=0;
function formCheck()
{
i++;
if (document.frmAnnounce.topic.value.length<<%=msgTitleLengthMin%>)
{
alert("<lt:Label res="res.forum.MsgDb" key="err_too_short_title"/><%=msgTitleLengthMin%>");
return false;
}
if (document.frmAnnounce.topic.value.length><%=msgTitleLengthMax%>)
{
alert("<lt:Label res="res.forum.MsgDb" key="err_too_large_title"/><%=msgTitleLengthMax%>");
return false;
}
if (document.frmAnnounce.Content.value.length<<%=msgLengthMin%>)
{
alert("<lt:Label res="res.forum.MsgDb" key="err_too_short_content"/><%=msgLengthMin%>");
return false;
}
if (document.frmAnnounce.Content.value.length><%=msgLengthMax%>)
{
alert("<lt:Label res="res.forum.MsgDb" key="err_too_large_content"/><%=msgLengthMax%>");
return false;
}
if (i>1)
{
document.frmAnnounce.submit1.disabled = true;
}
return true;
}
function presskey(eventobject)
{
if(event.ctrlKey && window.event.keyCode==13)
{
i++;
if (i>1)
{
alert('<lt:Label res="res.label.forum.showtopic" key="wait"/>');
return false;
}
this.document.form.submit();
}
}
</SCRIPT>
<STYLE>
body {
margin-top: 0px;
}
</STYLE>
<META content="MSHTML 6.00.2800.1126" name=GENERATOR>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></HEAD>
<BODY text=#000000 vLink=#000000 aLink=#000000 link=#000000 bgColor=#ffffff leftMargin=0 marginwidth="0">
<%@ include file="inc/header.jsp"%>
<jsp:include page="inc/position.jsp" flush="true">
<jsp:param name="boardcode" value="<%=StrUtil.UrlEncode(boardcode)%>" />
</jsp:include>
<jsp:useBean id="StrUtil" scope="page" class="cn.js.fan.util.StrUtil"/>
<jsp:useBean id="userservice" scope="page" class="com.redmoon.forum.person.userservice"/>
<%
// 刷新在位时间
userservice.refreshStayTime(request, response);
String sqlt = "select id from sq_thread where boardcode=" + StrUtil.sqlstr(boardcode)+" ORDER BY msg_level desc,redate desc";
ThreadBlockIterator irthread = msgdb.getThreads(sqlt, boardcode, 0, 200);
irthread.setIndex(msgdb);
%>
<%
PluginMgr pmnote = new PluginMgr();
Vector vplugin = pmnote.getAllPluginUnitOfBoard(boardcode);
if (vplugin.size()>0) {
%>
<TABLE borderColor=#edeced height=25 cellSpacing=0 cellPadding=1 rules=rows
width="98%" align=center bgColor=#ffffff border=1 class="table_normal">
<TBODY>
<TR>
<TD><!--plugin rule-->
<%
Iterator irpluginnote = vplugin.iterator();
while (irpluginnote.hasNext()) {
PluginUnit pu = (PluginUnit)irpluginnote.next();
IPluginUI ipu = pu.getUI(request);
IPluginViewShowMsg pv = ipu.getViewShowMsg(boardcode, msgdb);
if (pv.IsPluginBoard())
out.print(pu.getName(request) + " " + pv.render(UIShowMsg.POS_NOTE) + "<BR>");
}
%>
</TD>
</TR>
</TBODY>
</TABLE>
<%}%>
<%
String sql = SQLBuilder.getShowtopicSql(rootid); // "select id from sq_message where rootid=" + rootid + " ORDER BY lydate asc"; //orders"; 这样会使得顺序上不按时间,平板式时会让人觉得奇怪
int pagesize = 10;
long totalmsg = msgdb.getMsgCount(sql, boardcode, rootid);
Paginator paginator = new Paginator(request, totalmsg, pagesize);
int curpage = paginator.getCPage(request);
//设置当前页数和总页数
int totalpages = paginator.getTotalPages();
if (totalpages==0)
{
curpage = 1;
totalpages = 1;
}
int start = (curpage-1)*pagesize;
int end = curpage*pagesize;
MsgBlockIterator irmsg = msgdb.getMsgs(sql, boardcode, rootid, start, end);
%>
<TABLE cellSpacing=0 cellPadding=0 width="98%" align=center border=0>
<TBODY>
<TR>
<TD width="48%" height=35 align="left">
<%
String addpage = "addtopic_new.jsp";
String replypage = "addreply_new.jsp";
if (msgLeaf.getWebeditAllowType()==Leaf.WEBEDIT_ALLOW_TYPE_REDMOON_FIRST) {
addpage = "addtopic_we.jsp";
replypage = "addreply_we.jsp";
}
%>
<a href="<%=addpage%>?boardcode=<%=boardcode%>&privurl=<%=privurl%>"><img
src="<%=skinPath%>/images/post_<%=SkinUtil.getLocale(request)%>.gif" border=0 width=99 height=25 alt="<lt:Label res="res.label.forum.showtopic" key="addtopic"/>"></a>
<a href="<%=replypage%>?boardcode=<%=boardcode%>&replyid=<%=rootid%>&privurl=<%=privurl%>"> <img height=25 src="<%=skinPath%>/images/newreply_<%=SkinUtil.getLocale(request)%>.gif" width=99 border=0 alt="<lt:Label res="res.label.forum.showtopic" key="addreply"/>"></a>
<%
if (vplugin.size()>0) {
Iterator irplugin = vplugin.iterator();
while (irplugin.hasNext()) {
PluginUnit pu = (PluginUnit)irplugin.next();
IPluginUI ipu = pu.getUI(request);
IPluginViewListThread pv = ipu.getViewListThread(boardcode);
if (pv.IsPluginBoard() && pu.getType().equals(pu.TYPE_TOPIC)) {%>
<a href="<%=addpage%>?pluginCode=<%=pu.getCode()%>&boardcode=<%=StrUtil.UrlEncode(boardcode)%>&privurl=<%=privurl%>"><img src="<%=skinPath + "/" + pu.getButton()%>_<%=SkinUtil.getLocale(request)%>.gif" border="0"></a>
<%}
}
}
%>
<%
Vector vplugin2 = msgLeaf.getAllPlugin2();
Iterator irplugin2 = vplugin2.iterator();
while (irplugin2.hasNext()) {
com.redmoon.forum.plugin2.Plugin2Unit p2u = (com.redmoon.forum.plugin2.Plugin2Unit)irplugin2.next();
%>
<a href="<%=addpage%>?plugin2Code=<%=p2u.getCode()%>&boardcode=<%=StrUtil.UrlEncode(boardcode)%>&privurl=<%=privurl%>"><img src="<%=skinPath + "/images/" + p2u.getButton()%>_<%=SkinUtil.getLocale(request)%>.gif" border="0"></a>
<%}%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -