showtopic_tree.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:41k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8"%>
  2. <%@ page import="cn.js.fan.db.*"%>
  3. <%@ page import="com.redmoon.forum.ui.*"%>
  4. <%@ page import="cn.js.fan.util.*"%>
  5. <%@ page import="cn.js.fan.web.*"%>
  6. <%@ page import="com.redmoon.forum.*"%>
  7. <%@ page import="com.redmoon.forum.person.*"%>
  8. <%@ page import="com.redmoon.forum.plugin.*"%>
  9. <%@ page import="com.redmoon.forum.plugin.base.*"%>
  10. <%@ page import="com.redmoon.forum.plugin2.*"%>
  11. <jsp:useBean id="StrUtil" scope="page" class="cn.js.fan.util.StrUtil"/>
  12. <jsp:useBean id="privilege" scope="page" class="com.redmoon.forum.Privilege"/>
  13. <%@ taglib uri="/WEB-INF/tlds/LabelTag.tld" prefix="lt" %>
  14. <%@ taglib uri="/WEB-INF/tlds/AdTag.tld" prefix="ad"%>
  15. <%
  16. String querystring = StrUtil.getNullString(request.getQueryString());
  17. String privurl=request.getRequestURL()+"?"+StrUtil.UrlEncode(querystring,"utf-8");
  18. if (!privilege.isUserLogin(request)) {
  19. if (!ForumDb.getInstance().canGuestSeeTopic()) {
  20. response.sendRedirect("../info.jsp?op=login&info=" + StrUtil.UrlEncode(SkinUtil.LoadString(request, "info_please_login")) + "&privurl=" + privurl);
  21. return;
  22. }
  23. }
  24. long rootid;
  25. try {
  26. rootid = ParamUtil.getLong(request, "rootid");
  27. }
  28. catch (Exception e) {
  29. out.println(StrUtil.Alert(SkinUtil.LoadString(request, SkinUtil.ERR_ID))); // "标识非法!"));
  30. return;
  31. }
  32. long showid = 0;
  33. try {
  34. showid = ParamUtil.getLong(request, "showid");//显示内容的贴子ID
  35. }
  36. catch (Exception e) {
  37. showid = rootid;
  38. }
  39. UserMgr um = new UserMgr();
  40. MsgDb msgdb = new MsgDb();
  41. msgdb = msgdb.getMsgDb(showid);
  42. // 如果被删除后该贴已不存
  43. if (!msgdb.isLoaded()) {
  44. showid = rootid;
  45. msgdb = msgdb.getMsgDb(showid);
  46. if (!msgdb.isLoaded()) {
  47. out.print(cn.js.fan.web.SkinUtil.makeInfo(request, SkinUtil.LoadString(request, "res.label.forum.showtopic", "topic_lost"))); // "该贴已不存在!"));
  48. return;
  49. }
  50. }
  51. MsgDb rootMsgDb = msgdb.getMsgDb(rootid);
  52. if (rootMsgDb.getCheckStatus()==MsgDb.CHECK_STATUS_NOT && !privilege.isMasterLogin(request)) {
  53. response.sendRedirect("../info.jsp?info=" + StrUtil.UrlEncode(SkinUtil.LoadString(request, "res.label.forum.showtopic", "check_not")) + "&privurl=" + privurl);
  54. return;
  55. }
  56. String boardcode = msgdb.getboardcode();
  57. if (!privilege.canUserDo(request, boardcode, "enter_board")) {
  58. response.sendRedirect("../info.jsp?info= " + StrUtil.UrlEncode(SkinUtil.LoadString(request, "pvg_invalid")));
  59. return;
  60. }
  61. if (!privilege.canUserDo(request, boardcode, "view_topic")) {
  62. response.sendRedirect("../info.jsp?info= " + StrUtil.UrlEncode(SkinUtil.LoadString(request, "pvg_invalid")));
  63. return;
  64. }
  65. try {
  66. privilege.checkCanEnterBoard(request, boardcode);
  67. }
  68. catch (ErrMsgException e) {
  69. response.sendRedirect("../info.jsp?info=" + StrUtil.UrlEncode(e.getMessage()));
  70. return;
  71. }
  72. Leaf msgLeaf = new Leaf();
  73. msgLeaf = msgLeaf.getLeaf(boardcode);
  74. String boardname = "";
  75. if (msgLeaf!=null)
  76. boardname = msgLeaf.getName();
  77. UserSession.setBoardCode(request, msgdb.getboardcode());
  78. // 取得皮肤路径
  79. String skincode = "";
  80. if (msgLeaf!=null)
  81. msgLeaf.getSkin();
  82. if (skincode.equals("") || skincode.equals(UserSet.defaultSkin)) {
  83. skincode = UserSet.getSkin(request);
  84. if (skincode==null || skincode.equals(""))
  85. skincode = UserSet.defaultSkin;
  86. }
  87. SkinMgr skm = new SkinMgr();
  88. Skin skin = skm.getSkin(skincode);
  89. String skinPath = skin.getPath();
  90. com.redmoon.forum.Config cfg1 = new com.redmoon.forum.Config();
  91. int msgTitleLengthMin = cfg1.getIntProperty("forum.msgTitleLengthMin");
  92. int msgTitleLengthMax = cfg1.getIntProperty("forum.msgTitleLengthMax");
  93. int msgLengthMin = cfg1.getIntProperty("forum.msgLengthMin");
  94. int msgLengthMax = cfg1.getIntProperty("forum.msgLengthMax");
  95. int maxAttachmentCount = cfg1.getIntProperty("forum.maxAttachmentCount");
  96. int maxAttachmentSize = cfg1.getIntProperty("forum.maxAttachmentSize");
  97. //seo
  98. com.redmoon.forum.util.SeoConfig scfg = new com.redmoon.forum.util.SeoConfig();
  99. String seoTitle = scfg.getProperty("seotitle");
  100. String seoKeywords = scfg.getProperty("seokeywords");
  101. String seoHead = scfg.getProperty("seohead");
  102. String seoDescription = StrUtil.left(msgdb.getContent(),100);
  103. %>
  104. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  105. <HTML><HEAD><TITLE><%=msgdb.getTitle()%> - <%=Global.AppName%> <%=seoTitle%></TITLE>
  106. <%=seoHead%>
  107. <META http-equiv=Content-Type content=text/html; charset=utf-8>
  108. <META name="keywords" content="<%=seoKeywords%>">
  109. <META name="description" content="<%=StrUtil.toHtml(seoDescription)%>">
  110. <LINK href="<%=skinPath%>/skin.css" type=text/css rel=stylesheet>
  111. <LINK href="images/bbs.ico" rel="SHORTCUT ICON">
  112. <STYLE>
  113. TABLE {
  114. BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 1px
  115. }
  116. TD {
  117. BORDER-RIGHT: 0px; BORDER-TOP: 0px
  118. }
  119. </STYLE>
  120. <SCRIPT language=JavaScript>
  121. <!--
  122. function zoomimg(o){
  123. return;
  124. var zoom = parseInt(o.style.zoom, 10)||100;
  125. zoom += event.wheelDelta/12;
  126. if (zoom>0)
  127. o.style.zoom = zoom + "%";
  128. return false;
  129. }
  130. function SymError()
  131. {
  132.   return true;
  133. }
  134. window.onerror = SymError;
  135. //-->
  136. </SCRIPT>
  137. <SCRIPT language=JavaScript src="images/nereidFade.js"></SCRIPT>
  138. <SCRIPT>
  139. function checkclick(msg){if(confirm(msg)){event.returnValue=true;}else{event.returnValue=false;}}
  140. function copyText(obj) {var rng = document.body.createTextRange();rng.moveToElementText(obj);rng.select();rng.execCommand('Copy');}
  141. var i=0;
  142. function formCheck()
  143. {
  144. i++;
  145. if (document.frmAnnounce.topic.value.length<<%=msgTitleLengthMin%>)
  146. {
  147. alert("<lt:Label res="res.forum.MsgDb" key="err_too_short_title"/><%=msgTitleLengthMin%>");
  148. return false;
  149. }
  150. if (document.frmAnnounce.topic.value.length><%=msgTitleLengthMax%>)
  151. {
  152. alert("<lt:Label res="res.forum.MsgDb" key="err_too_large_title"/><%=msgTitleLengthMax%>");
  153. return false;
  154. }
  155. if (document.frmAnnounce.Content.value.length<<%=msgLengthMin%>)
  156. {
  157. alert("<lt:Label res="res.forum.MsgDb" key="err_too_short_content"/><%=msgLengthMin%>");
  158. return false;
  159. }
  160. if (document.frmAnnounce.Content.value.length><%=msgLengthMax%>)
  161. {
  162. alert("<lt:Label res="res.forum.MsgDb" key="err_too_large_content"/><%=msgLengthMax%>");
  163. return false;
  164. }
  165. if (i>1) 
  166. {
  167. document.frmAnnounce.submit1.disabled = true;
  168. }
  169. return true;
  170. }
  171. function presskey(eventobject) { 
  172. if(event.ctrlKey && window.event.keyCode==13) {
  173. i++;
  174. if (i>1) {
  175. alert('<lt:Label res="res.label.forum.showtopic" key="wait"/>');
  176. return false;
  177. }
  178. this.document.frmAnnounce.submit();
  179. }
  180. }
  181. </SCRIPT>
  182. <STYLE>
  183. TABLE {
  184. BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 1px
  185. }
  186. TD {
  187. BORDER-RIGHT: 0px; BORDER-TOP: 0px
  188. }
  189. body {
  190. margin-top: 0px;
  191. }
  192. </STYLE>
  193. <META content="MSHTML 6.00.2800.1126" name=GENERATOR></HEAD>
  194. <BODY text=#000000 vLink=#000000 aLink=#000000 link=#000000 bgColor=#ffffff leftMargin=0 marginwidth="0">
  195. <%@ include file="inc/header.jsp"%>
  196. <%@ include file="../inc/inc.jsp"%>
  197. <jsp:include page="inc/position.jsp" flush="true">
  198. <jsp:param name="boardcode" value="<%=StrUtil.UrlEncode(boardcode)%>" /> 
  199. </jsp:include>
  200. <ad:AdTag type="<%=AdDb.TYPE_TEXT%>" boardCode="<%=boardcode%>"></ad:AdTag>
  201. <%
  202. if (msgdb.getCheckStatus()==msgdb.CHECK_STATUS_NOT) {
  203. if (!privilege.isMasterLogin(request)) {
  204. out.print(SkinUtil.makeErrMsg(request, SkinUtil.LoadString(request, "res.label.forum.showtopic", "check_not")));
  205. return;
  206. }
  207. }
  208. else if (msgdb.getCheckStatus()==msgdb.CHECK_STATUS_DUSTBIN) {
  209. if (!privilege.isMasterLogin(request)) {
  210. out.print(SkinUtil.makeErrMsg(request, SkinUtil.LoadString(request, "res.label.forum.showtopic", "check_dustbin")));
  211. return;
  212. }
  213. }
  214. %>
  215. <jsp:useBean id="userservice" scope="page" class="com.redmoon.forum.person.userservice"/>
  216. <%
  217. // 每隔5分钟刷新在位时间
  218. userservice.refreshStayTime(request, response);
  219. // 取得显示设置
  220. BoardRenderDb boardRender = new BoardRenderDb();
  221. boardRender = boardRender.getBoardRenderDb(boardcode);
  222. IPluginRender render = boardRender.getRender();
  223. int hit = 0;
  224. int islocked = 0,iselite=0,lylevel=0;
  225. long id;
  226. int experience,credit,addcount;
  227. String name="",lydate="",content="",topic="",showtopic="";
  228. String email="",sign="";
  229. String RegDate="",Gender="",RealPic="";
  230. String myface="";
  231. int myfacewidth=120,myfaceheight=150,iswebedit = 0;
  232. int show_ubbcode=1,show_smile=1;
  233. int orders = 1,type=0, isguide=0;
  234. int pagesize = 10;
  235. int CPages = 1;
  236. id = msgdb.getId();
  237. name = msgdb.getName();
  238. topic = msgdb.getTitle();
  239. showtopic = topic;
  240. content = msgdb.getContent();
  241.     lydate = com.redmoon.forum.ForumSkin.formatDateTime(request, msgdb.getAddDate());
  242. orders = msgdb.getOrders();
  243. CPages = (int)Math.ceil((double)orders/pagesize);
  244. type = msgdb.getType();
  245. islocked = msgdb.getIsLocked();
  246. iselite = msgdb.getIsElite();
  247. lylevel = msgdb.getLevel();
  248. show_ubbcode = msgdb.getShowUbbcode();
  249. show_smile = msgdb.getShowSmile();
  250.     iswebedit = msgdb.getIsWebedit();
  251. UserDb user = um.getUser(name);
  252. RealPic = user.getRealPic();
  253. Gender = StrUtil.getNullStr(user.getGender());
  254. if (Gender.equals("M"))
  255. Gender = SkinUtil.LoadString(request, "res.label.forum.showtopic", "sex_man"); // "男";
  256. else if (Gender.equals("F"))
  257. Gender = SkinUtil.LoadString(request, "res.label.forum.showtopic", "sex_woman"); // "女";
  258. else
  259. Gender = SkinUtil.LoadString(request, "res.label.forum.showtopic", "sex_none"); // "不详";
  260. RegDate = com.redmoon.forum.ForumSkin.formatDate(request, user.getRegDate());
  261. experience = user.getExperience();
  262. credit = user.getCredit();
  263. addcount = user.getAddCount();
  264. email = user.getEmail(); 
  265. sign = StrUtil.getNullStr(user.getSign());
  266. myface = StrUtil.getNullStr(user.getMyface());
  267. myfacewidth = user.getMyfaceWidth();
  268. myfaceheight = user.getMyfaceHeight();
  269. String sqlt = "select id from sq_thread where boardcode=" + StrUtil.sqlstr(boardcode)+"  ORDER BY msg_level desc,redate desc";
  270. ThreadBlockIterator irthread = msgdb.getThreads(sqlt, boardcode, 0, 200);
  271. irthread.setIndex(msgdb);
  272. %>
  273. <%
  274. PluginMgr pmnote = new PluginMgr();
  275. Vector vplugin = pmnote.getAllPluginUnitOfBoard(boardcode);
  276. if (vplugin.size()>0) {
  277. Iterator irpluginnote = vplugin.iterator();
  278. while (irpluginnote.hasNext()) {
  279. PluginUnit pu = (PluginUnit)irpluginnote.next();
  280. IPluginUI ipu = pu.getUI(request, response, out);
  281. IPluginViewShowMsg pv = ipu.getViewShowMsg(boardcode, msgdb);
  282. String rule = pv.render(UIShowMsg.POS_NOTE);
  283. if (!rule.equals("") && pv.IsPluginBoard()) {
  284. %>
  285. <TABLE borderColor="<%=skin.getTableBorderClr()%>" height=25 cellSpacing=0 cellPadding=1 rules=rows 
  286. width="98%" align=center border=1 class="table_normal">
  287.   <TBODY>
  288.     <TR>
  289.       <TD>
  290. <!--plugin rule--><%out.print(pu.getName(request) + "&nbsp;" + rule + "<BR>");%>
  291.       </TD>
  292.     </TR>
  293.   </TBODY>
  294. </TABLE><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  295. <tr><td height="5"></td></tr>
  296. </table>
  297. <% }
  298. }
  299. }%>
  300. <TABLE cellSpacing=0 cellPadding=0 width="98%" align=center border=0>
  301.   <TBODY>
  302.   <TR>
  303.     <TD width="49%" height=35>
  304. <%
  305. String addpage = "addtopic_new.jsp";
  306. String replypage = "addreply_new.jsp";
  307. if (msgLeaf.getWebeditAllowType()==Leaf.WEBEDIT_ALLOW_TYPE_REDMOON_FIRST) {
  308. addpage = "addtopic_we.jsp";
  309. replypage = "addreply_we.jsp";
  310. }
  311. %>   
  312. <a href="<%=addpage%>?boardcode=<%=StrUtil.UrlEncode(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>
  313. <a href="<%=replypage%>?boardcode=<%=StrUtil.UrlEncode(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>
  314.         <%
  315. if (vplugin.size()>0) {
  316. Iterator irplugin = vplugin.iterator();
  317. while (irplugin.hasNext()) {
  318. PluginUnit pu = (PluginUnit)irplugin.next();
  319. IPluginUI ipu = pu.getUI(request, response, out);
  320. IPluginViewListThread pv = ipu.getViewListThread(boardcode);
  321. if (pv.IsPluginBoard() && pu.getType().equals(pu.TYPE_TOPIC) && !pu.getButton().equals("")) {%>
  322.         <a href="<%=addpage%>?pluginCode=<%=pu.getCode()%>&boardcode=<%=StrUtil.UrlEncode(boardcode)%>&privurl=<%=privurl%>"><img src="<%=skinPath + "/" + pu.getButton()%>_<%=SkinUtil.getLocale(request)%>.gif" border="0"></a>
  323.         <%}
  324. }
  325. }
  326. %>
  327.         <%
  328. if (msgLeaf!=null) {
  329. Vector vplugin2 = msgLeaf.getAllPlugin2();
  330. Iterator irplugin2 = vplugin2.iterator();
  331. while (irplugin2.hasNext()) {
  332. com.redmoon.forum.plugin2.Plugin2Unit p2u = (com.redmoon.forum.plugin2.Plugin2Unit)irplugin2.next();
  333. %>
  334.       <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>
  335.       <%}
  336. }
  337.   %> </TD>
  338.     <TD width="51%" height=35 align="right">
  339. <FONT color=#333333><lt:Label res="res.label.forum.showtopic" key="hit_begin"/> <B><span id="spanhit" name="spanhit"></span></B> <lt:Label res="res.label.forum.showtopic" key="hit_end"/></FONT>&nbsp;&nbsp;
  340.   <a href="<%=ForumPage.getShowTopicPage(request, rootid, CPages, "" + showid)%>" title="<lt:Label res="res.label.forum.showtopic" key="flat_view"/>"><img border=0 src="images/flatview.gif"></a>&nbsp;&nbsp;
  341. <%  if (irthread.hasPrevious()) {
  342.         MsgDb prevMsg = (MsgDb)irthread.previous();
  343.         // advance the iterator pointer back to the original index
  344.         irthread.next();
  345. %>
  346.   <A href="<%=ForumPage.getShowTopicPage(request, 1, prevMsg.getRootid(), prevMsg.getRootid(), 1, "")%>"><IMG alt=<lt:Label res="res.label.forum.showtopic" key="show_pre"/> src="images/prethread.gif" border=0></A>
  347.   <%}%>
  348.   &nbsp;&nbsp;<A href="javascript:location.reload()"><IMG alt=<lt:Label res="res.label.forum.showtopic" key="refresh"/> src="images/refresh.gif" border=0></A> 
  349. <%  if (irthread.hasNext()) {
  350.         MsgDb nextMsg = (MsgDb)irthread.next();
  351. %>
  352.   <A href="<%=ForumPage.getShowTopicPage(request, 1, nextMsg.getRootid(), nextMsg.getRootid(), 1, "")%>"><IMG alt=<lt:Label res="res.label.forum.showtopic" key="show_after"/> src="images/nextthread.gif" 
  353.       border=0></A>
  354. <%  } else { %>
  355.     &nbsp;
  356. <%  } %>   </TD></TR></TBODY></TABLE>
  357. <TABLE cellSpacing=0 cellPadding=0 width="98%" align=center bgColor=#d3d3d3 
  358. border=0>
  359.   <TBODY>
  360.   <TR>
  361.     <TD>
  362.       <TABLE cellSpacing=1 cellPadding=6 width="100%" border=0>
  363.         <TBODY></TBODY></TABLE></TD></TR></TBODY></TABLE>
  364. <TABLE borderColor=#d3d3d3 cellSpacing=0 cellPadding=0 width="98%" align=center 
  365. border=1>
  366.   <TBODY>
  367.   <TR >
  368.     <TD height=26>
  369.       <TABLE width="100%" height="26" background="<%=skinPath%>/images/bg1.gif">
  370.         <TBODY>
  371.         <TR>
  372.           <TD class="text_title"><lt:Label res="res.label.forum.showtopic" key="topic"/><%=StrUtil.toHtml(topic)%></TD>
  373.               <TD align=right><A href="javascript:window.print()"><FONT 
  374.             color=#ffffff>[<lt:Label res="res.label.forum.showtopic" key="print"/>]</FONT></A> <A 
  375.             href="javascript:window.external.AddFavorite(location.href,document.title)"><FONT 
  376.             color=#ffffff>[<lt:Label res="res.label.forum.showtopic" key="favoriate"/>]</FONT></A> <A 
  377.             onclick=document.all.WebBrowser.ExecWB(4,1) 
  378.             href="http://bbs.downlove.com/showtopic.asp?id=23111&amp;forumid=16&amp;page=1#"></A> 
  379.               </TD>
  380.             </TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
  381. <table bordercolor="<%=skin.getTableBorderClr()%>" cellspacing=0 cellpadding=0 width="98%" align=center 
  382. border=1>
  383.   <tbody> 
  384.   <tr> 
  385.     <td valign=top align=left height=78> 
  386.       <table cellspacing=0 cellpadding=3 width="100%" border=0>
  387.         <tbody> 
  388.         <tr bgcolor=#ffffff> 
  389.           <td valign=top width=150 height=106> 
  390.             <table cellspacing=0 cellpadding=0 width="80%" align=center 
  391. border=0>
  392.                   <tbody>
  393.                     <tr> 
  394.                       <td align=left> <table style="FILTER: glow(color=a4b6d7)">
  395.                           <caption>
  396.                           <b><font style="FONT-SIZE: 10pt" 
  397.                     color=#ffffff><%=user.getNick()%></font></b> 
  398.                           </caption>
  399.                         </table>
  400.                         <%
  401.   UserGroupDb ugd = user.getUserGroupDb();
  402.   if (!ugd.getCode().equals(UserGroupDb.EVERYONE)) {
  403.    out.print("<table><tr><td>" + ugd.getDesc() + "</td></tr></table>");
  404.   }
  405. %></td>
  406.                     </tr>
  407.                     <tr> 
  408.                       <td align=left height=42> <%if (myface.equals("")) {%> <img src="images/face/<%=RealPic%>"> 
  409.                         <%}else{%> <img src="../images/myface/<%=myface%>" width=<%=myfacewidth%> height=<%=myfaceheight%>> 
  410.                         <%}%> </td>
  411.                     </tr>
  412.                     <tr> 
  413.                       <td align=left height=17> 
  414. <img src="images/<%=user.getLevelPic()%>"> 
  415.                         <%=Gender%></td>
  416.                     </tr>
  417.                     <tr> 
  418.                       <td align=left height=54>
  419.     <lt:Label res="res.label.forum.showtopic" key="rank"/><%=user.getLevelDesc()%><br>
  420.                         <lt:Label res="res.label.forum.showtopic" key="experience"/><%=experience%><br>
  421.                         <lt:Label res="res.label.forum.showtopic" key="credit"/><%=credit%><br>
  422. <%
  423. ScoreMgr sm = new ScoreMgr();
  424. ScoreUnit su = sm.getScoreUnit("gold");
  425. // out.print(StrUtil.toHtml(su.getName()));
  426. out.print(su.getName(request));
  427. %>:<%=user.getGold()%><br>
  428.                         <lt:Label res="res.label.forum.showtopic" key="topic_count"/><%=addcount%> <br>
  429.                         <lt:Label res="res.label.forum.showtopic" key="topic_elite"/><%=user.getEliteCount()%><br>
  430.                         <lt:Label res="res.label.forum.showtopic" key="reg_date"/><%=RegDate%> <br>
  431.                         <lt:Label res="res.label.forum.showtopic" key="online_status"/><%
  432. OnlineUserDb ou = new OnlineUserDb();
  433. ou = ou.getOnlineUserDb(user.getName());
  434. if (ou.isLoaded())
  435. out.print(SkinUtil.LoadString(request, "res.label.forum.showtopic", "online_status_yes")); // "在线");
  436. else
  437. out.print(SkinUtil.LoadString(request, "res.label.forum.showtopic", "online_status_no")); // "离线");
  438. %>
  439.                         <%
  440. if (cfg1.getBooleanProperty("forum.showFlowerEgg")) {
  441. UserPropDb up = new UserPropDb();
  442. up = up.getUserPropDb(user.getName());
  443. %>
  444.                         <BR>
  445.                         <img src="../images/flower.gif">&nbsp;(<%=up.getInt("flower_count")%>)&nbsp;&nbsp;&nbsp; <img src="../images/egg.gif">&nbsp;(<%=up.getInt("egg_count")%>)
  446.                         <%}
  447. %></td>
  448.                     </tr>
  449.                   </tbody>
  450.                 </table>
  451.             <table width="98%"  border="0" align="center" cellpadding="0" cellspacing="0">
  452.               <tr>
  453.                 <td align="center"><br>
  454.                   <%
  455.    if (rootid==id) {
  456. // 当为根贴时可置为被锁定
  457. String toptitle="",locktitle="",elitetitle="",guidetitle="";
  458. int dotop = (lylevel==MsgDb.LEVEL_TOP_BOARD)?0:MsgDb.LEVEL_TOP_BOARD;
  459. if (dotop==MsgDb.LEVEL_TOP_BOARD)
  460. toptitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "top_board"); // "版块置顶";
  461. else
  462. toptitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "top_none"); // "取消置顶";
  463. int dolock = (islocked==1)?0:1;
  464. if (dolock==1)
  465. locktitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "lock"); // "锁定";
  466. else
  467. locktitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "unlock"); // "解锁";
  468. int doelite = (iselite==1)?0:1;
  469. if (doelite==1)
  470. elitetitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "elite"); // "置为精华";
  471. else
  472. elitetitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "elite_not"); // "取消精华";
  473. if (privilege.isMasterLogin(request)) {
  474. // 全局置顶
  475. String alltoptitle="";
  476. int doalltop = (lylevel==MsgDb.LEVEL_TOP_FORUM)?MsgDb.LEVEL_TOP_BOARD:MsgDb.LEVEL_TOP_FORUM;
  477. if (doalltop==MsgDb.LEVEL_TOP_FORUM)
  478. alltoptitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "top_forum"); // "论坛置顶";
  479. else
  480. alltoptitle = SkinUtil.LoadString(request, "res.label.forum.showtopic", "top_board"); // "版块置顶";
  481. %>
  482.                       <a title="<%=toptitle%>" href="manager/manage.jsp?privurl=<%=privurl%>&boardcode=<%=boardcode%>&boardname=<%=StrUtil.UrlEncode(boardname,"utf-8")%>&action=setOnTop&id=<%=id%>&value=<%=doalltop%>"><img height=15 alt="<%=alltoptitle%>" src="images/top_forum.gif" width=15 border=0></a>&nbsp;
  483.                       <%}%>
  484.                       <a title="<%=toptitle%>" href="manager/manage.jsp?privurl=<%=privurl%>&boardcode=<%=boardcode%>&boardname=<%=StrUtil.UrlEncode(boardname,"utf-8")%>&action=setOnTop&id=<%=id%>&value=<%=dotop%>"><img height=15 alt="<%=toptitle%>" src="images/f_top.gif" width=15 border=0></a>&nbsp;
  485.   <a href="manager/manage.jsp?privurl=<%=privurl%>&boardcode=<%=boardcode%>&boardname=<%=StrUtil.UrlEncode(boardname,"utf-8")%>&action=setLocked&id=<%=id%>&value=<%=dolock%>"><img height=15 alt="<%=locktitle%>" src="images/f_locked.gif" width=17 border=0></a>&nbsp;
  486.   <a title="<%=elitetitle%>" href="manager/manage.jsp?privurl=<%=privurl%>&boardcode=<%=boardcode%>&boardname=<%=StrUtil.UrlEncode(boardname,"utf-8")%>&action=setElite&id=<%=id%>&value=<%=doelite%>"><img alt="<%=elitetitle%>" src="images/topicgood.gif" border=0></a>&nbsp;
  487.   <a href="manager/changecolor.jsp?id=<%=id%>"><img src="images/color.gif" alt="<lt:Label res="res.label.forum.showtopic" key="change_color"/>" width="18" height="18" border="0"></a>&nbsp;
  488.   <a title="<lt:Label res="res.label.forum.showtopic" key="change_board"/>" href="manager/changeboard.jsp?privurl=<%=privurl%>&title=<%=StrUtil.UrlEncode(topic,"utf-8")%>&boardcode=<%=StrUtil.UrlEncode(boardcode)%>&boardname=<%=StrUtil.UrlEncode(boardname,"utf-8")%>&id=<%=id%>"><img src="images/zhuan.gif" width="16" height="16" border="0"></a>
  489.                       <%}%>
  490.   </td>
  491.               </tr>
  492.             </table></td>
  493.           <td width=9 height=126 rowspan="2" align=middle valign=bottom> 
  494.             <table height="100%" cellspacing=0 cellpadding=0 width=1 bgcolor="<%=skin.getTableBorderClr()%>">
  495.               <tbody> 
  496.               <tr> 
  497.                 <td width=1></td>
  498.               </tr>
  499.               </tbody>
  500.             </table>          </td>
  501.           <td valign=top align=left height=106> 
  502.             <table style="TABLE-LAYOUT: fixed;WORD-BREAK: break-all" 
  503.             height="100%" cellspacing=0 cellpadding=0 width="99%" border=0>
  504.                   <tbody>
  505.                     <tr height=20> 
  506.                       <td> <a name=#content<%=id%>></a> <a href="../userinfo.jsp?username=<%=StrUtil.UrlEncode(name,"utf-8")%>"> 
  507.                         <img src="images/profile.gif" alt="<%=StrUtil.toHtml(user.getNick())%><lt:Label res="res.label.forum.showtopic" key="user_info"/>" 
  508.                   border=0 align="absmiddle"></a>&nbsp;&nbsp;&nbsp;<a 
  509.                   href="#" onClick="hopenWin('../message/send.jsp?receiver=<%=StrUtil.UrlEncode(name,"utf-8")%>',320,260)"><img src="images/pm.gif" alt="<lt:Label res="res.label.forum.showtopic" key="send_short_msg"/><%=StrUtil.toHtml(user.getNick())%>" 
  510.                   border=0 align="absmiddle"></a>&nbsp;&nbsp;&nbsp;<a href="mailto:<%=StrUtil.toHtml(email)%>"><img src="images/email.gif" 
  511.                   alt=<lt:Label res="res.label.forum.showtopic" key="send_email"/><%=user.getNick()%> border=0 align="absmiddle"></a>&nbsp;&nbsp; <a 
  512.                   href="javascript:copyText(document.all.topiccontent);"><img 
  513.                   src="images/copy.gif" alt=<lt:Label res="res.label.forum.showtopic" key="topic_copy"/> border=0 align="absmiddle"></a>&nbsp;&nbsp; 
  514.                         <a href="addreply_new.jsp?boardcode=<%=StrUtil.UrlEncode(boardcode)%>&hit=<%=hit%>&replyid=<%=id%>&quote=1&privurl=<%=privurl%>" class="normal"><IMG src="images/reply.gif" alt=<lt:Label res="res.label.forum.showtopic" key="topic_quote"/> 
  515.                   border=0 align="absmiddle"></A>&nbsp;&nbsp; 
  516.                         <% if (islocked==0) { %>
  517.                         <a href="addreply_new.jsp?boardcode=<%=StrUtil.UrlEncode(boardcode)%>&hit=<%=hit%>&replyid=<%=id%>&privurl=<%=privurl%>"><img src="images/replynow.gif" 
  518.                   alt=<lt:Label res="res.label.forum.showtopic" key="topic_reply"/> 
  519.                   border=0 align="absmiddle"></a> 
  520.                         <% } %>
  521. <%if (!user.getHome().equals("")) {%>
  522. &nbsp;&nbsp;<a href="<%=user.getHome()%>" target="_blank"><img alt="<lt:Label res="res.label.forum.showtopic" key="home"/>" src="images/home.gif" width="16" height="16" border="0" align="absmiddle"></a>
  523. <%}%>
  524. <%if (Global.hasBlog) {%>&nbsp;&nbsp;<a title="<lt:Label res="res.label.forum.showtopic" key="blog"/>" href="../blog/myblog.jsp?userName=<%=StrUtil.UrlEncode(name)%>"><img src="images/favorite.gif" border="0" align="absmiddle"></a>
  525.                     <%if (cfg1.getBooleanProperty("forum.isShowQQ") && !user.getOicq().equals("")) {%>
  526.                     &nbsp;&nbsp;<a title="<lt:Label res="res.label.forum.showtopic" key="send_qq_msg"/><%=user.getName()%>" href="http://wpa.qq.com/msgrd?V=1&amp;Uin=<%=user.getOicq()%>&amp;Site=By CWBBS&amp;Menu=yes" target="_blank"><img src="http://wpa.qq.com/pa?p=1:<%=user.getOicq()%>:4" align="absmiddle" border="0"></a>
  527.                     <%}%>
  528. &nbsp;                    <a href="#<%=id%>"><lt:Label res="res.label.forum.showtopic" key="position"/></a>
  529. <%}%> </td>
  530.                     </tr>
  531.                     <tr height=8> 
  532.                       <td> <hr width="100%" color="<%=skin.getTableBorderClr()%>" size=1>                      </td>
  533.                     </tr>
  534.                     <tr>
  535.                       <td height="30">
  536. <%=render.RenderTitle(request, msgdb)%>
  537.   </td>
  538.                     </tr>
  539.                     <tr valign=top> 
  540.                       <td>                        <%
  541. if (vplugin.size()>0) {
  542. Iterator irplugin = vplugin.iterator();
  543. while (irplugin.hasNext()) {
  544. PluginUnit pu = (PluginUnit)irplugin.next();
  545. IPluginUI ipu = pu.getUI(request, response, out);
  546. IPluginViewShowMsg pv = ipu.getViewShowMsg(boardcode, msgdb);
  547. if (pv.IsPluginBoard()) {
  548. boolean isShow = false;
  549. if (pu.getType().equals(pu.TYPE_BOARD))
  550. isShow = true;
  551. else if (pu.getType().equals(pu.TYPE_TOPIC)) {
  552. if (pu.getUnit().isPluginMsg(msgdb.getId()))
  553. isShow = true;
  554. }
  555. if (isShow)
  556. out.print(pu.getName(request) + "&nbsp;" + pv.render(UIShowMsg.POS_BEFORE_MSG) + "<BR>");
  557. }
  558. }
  559. }
  560. %>
  561.                         <table width="99%" height="120"  border="0" cellpadding="0" cellspacing="0">
  562.                           <tr>
  563.                             <td valign="top">
  564. <%
  565. MsgPollDb mpd = null;
  566. mpd = render.RenderVote(request, msgdb);
  567. if (type==1 && mpd!=null) {%>
  568. <table width="100%" border="1" cellpadding="4" cellspacing="0" borderColor="<%=skin.getTableBorderClr()%>">
  569. <%
  570. String ctlType = "radio";
  571. if (mpd.getInt("max_choice")>1)
  572. ctlType = "checkbox";
  573. Vector options = mpd.getOptions(msgdb.getId());
  574. int len = options.size();
  575. String showVoteUser = ParamUtil.get(request, "showVoteUser");
  576. int[] re = new int[len];
  577. int[] bfb = new int[len];
  578. int total = 0;
  579. int k = 0;
  580. for (k=0; k<len; k++) {
  581. MsgPollOptionDb opt = (MsgPollOptionDb)options.elementAt(k);
  582. re[k] = opt.getInt("vote_count");
  583. total += re[k];
  584. }
  585. if (total!=0) {
  586. for (k=0; k<len; k++) {
  587. bfb[k] = (int)Math.round((double)re[k]/total*100);
  588. }
  589. }
  590. %>
  591.                     <form action="vote.jsp?privurl=<%=privurl%>" name=formvote method="post">
  592. <tr>
  593.   <td colspan="2" bgcolor="#EBECED">
  594.   <b><lt:Label res="res.label.forum.showtopic" key="vote"/>
  595.   <%
  596.   java.util.Date epDate = mpd.getDate("expire_date");
  597.   if (epDate!=null) {%>
  598.    &nbsp;<lt:Label res="res.label.forum.showtopic" key="vote_expire_date"/>
  599.    &nbsp;<%=ForumSkin.formatDate(request, epDate)%>
  600.   <%}%>
  601.   <%if (mpd.getInt("max_choice")==1) {%>
  602.    <lt:Label res="res.label.forum.showtopic" key="vote_type_single"/>
  603.   <%}else{%>
  604.    <lt:Label res="res.label.forum.showtopic" key="vote_type_multiple"/><%=mpd.getInt("max_choice")%>
  605.   <%}%>
  606.   </b></td>
  607. </tr>
  608. <tr>
  609. <%
  610. int barId = 0;
  611. for (k=0; k<len; k++) {
  612. MsgPollOptionDb opt = (MsgPollOptionDb)options.elementAt(k);
  613. %>
  614. <td width="46%">
  615.                         <%=k+1%>.
  616.                         <input type="<%=ctlType%>" name=votesel value="<%=k%>">
  617. &nbsp;<%=opt.getString("content")%></td>
  618. <td width="54%"><img src=images/vote/bar<%=barId%>.gif width="<%=bfb[k]-8%>%" height=10>&nbsp;&nbsp;<strong><%=re[k]%>
  619.   <lt:Label res="res.label.forum.showtopic" key="vote_unit"/>
  620. </strong>&nbsp;<%=bfb[k]%>%
  621. <%
  622. if (showVoteUser.equals("1")) {
  623. String[] userAry = StrUtil.split(opt.getString("vote_user"), ",");
  624. if (userAry!=null) {
  625. int userLen = userAry.length;
  626. String userNames = "";
  627. for (int n=0; n<userLen; n++) {
  628. UserDb ud = um.getUser(userAry[n]);
  629. if (userNames.equals(""))
  630. userNames = ud.getNick();
  631. else
  632. userNames += ",&nbsp;" + ud.getNick();
  633. }
  634. out.print(userNames);
  635. }
  636. }
  637. %>
  638. </td>
  639. </tr>
  640.    <%
  641. barId ++;
  642. if (barId==10)
  643. barId = 0;
  644. }%>
  645. <tr><td colspan="2" align="center"><input name="button" type="button" onClick="window.location.href='?rootid=<%=rootid%>&showid=<%=showid%>&showVoteUser=1'" value="<lt:Label res="res.label.forum.showtopic" key="vote_show_user"/>">
  646.   &nbsp;
  647. <%
  648. if (epDate!=null) {
  649. if (DateUtil.compare(epDate, new java.util.Date()) == 1) {
  650. %>
  651. <input value="<lt:Label res="res.label.forum.showtopic" key="vote"/>" type="submit">
  652. <%}else{%>
  653. <b>
  654. <lt:Label res="res.label.forum.showtopic" key="vote_end"/>
  655. </b>
  656. <%}
  657. }else{%>
  658. <input value="<lt:Label res="res.label.forum.showtopic" key="vote"/>" type="submit">
  659. <%}%>
  660. <input type=hidden name=boardcode value="<%=boardcode%>">
  661.                     <input type=hidden name=boardname value="<%=boardname%>">
  662.                     <input type=hidden name=voteid value="<%=id%>">
  663. </td>
  664. </tr>
  665.                       </form>
  666. </table>
  667.  <%}%>
  668. <%if (msgdb.isRootMsg()) {%>
  669. <ad:AdTag type="<%=AdDb.TYPE_TOPIC_RIGHT%>" boardCode="<%=boardcode%>"></ad:AdTag>
  670. <%}%>
  671. <span id="topiccontent" name="topiccontent">
  672.                     <%
  673. if (!msgdb.getPlugin2Code().equals("")) {
  674. Plugin2Mgr p2m = new Plugin2Mgr();
  675. Plugin2Unit p2u = p2m.getPlugin2Unit(msgdb.getPlugin2Code());
  676. out.print(p2u.getUnit().getRender().rend(request, msgdb));
  677. }
  678. out.print(render.RenderContent(request, msgdb));
  679. // if (msgdb.getIsWebedit()==msgdb.WEBEDIT_REDMOON) {
  680. String att = render.RenderAttachment(request, msgdb);
  681. out.print(att);
  682. // }
  683. %>
  684.                             </span></td>
  685.                           </tr>
  686.                         </table>
  687.                         <span name="topiccontent">                        </span>  
  688.                         <table width="99%"  border="0" cellspacing="0" cellpadding="0">
  689.                           <tr>
  690.                             <td><%
  691. if (!sign.equals("")) {
  692. out.print("<font color=#777777>----------------------------------------------</font><BR>");
  693. sign = StrUtil.toHtml(sign);
  694. if (cfg1.getBooleanProperty("forum.sign_ubb"))
  695. out.print(StrUtil.ubb(request, sign, true));
  696. else
  697. out.print(sign);
  698. }
  699. %>                            </td>
  700.                           </tr>
  701.                       </table></td>
  702.                     </tr>
  703.                   </tbody>
  704.                 </table></td>
  705.         </tr>
  706.         <tr bgcolor=#ffffff>
  707.           <td align="center"><%
  708. String ip = "";
  709. if (privilege.isMasterLogin(request))
  710.             ip=msgdb.getIp();
  711. else
  712. ip = SkinUtil.LoadString(request, "res.label.forum.showtopic", "ip_view_not"); // "您无权察看";
  713.           %>
  714.             <img src="images/system.gif" alt="IP:<%=ip%>" align="absmiddle"> <%=lydate%></td>
  715.           <td align=right>
  716. <hr width="100%" color="<%=skin.getTableBorderClr()%>" size=1>
  717. <%if (privilege.isMasterLogin(request)) {%>
  718. IP: <%=msgdb.getIp()%>&nbsp;
  719. <%}%>
  720. <%
  721.   String editpage = "edittopic_new.jsp";
  722.   if (iswebedit==MsgDb.WEBEDIT_UBB) {
  723.    editpage = "edittopic.jsp";
  724.   } else if (iswebedit==MsgDb.WEBEDIT_REDMOON) {
  725.    editpage = "edittopic_we.jsp";
  726.   }
  727.   String mstr = "<a href='addfriend.jsp?friend=" + StrUtil.UrlEncode(name) + "'>" + SkinUtil.LoadString(request, "res.label.forum.showtopic", "add_friend") + "</a>";
  728.   mstr += "<a href='myfavoriate.jsp?op=add&privurl=" + privurl + "&id=" + rootid + "'>" + SkinUtil.LoadString(request, "res.label.forum.showtopic", "add_favoriate") + "</a>";
  729.   mstr += "<a href=" + editpage + "?boardcode=" + StrUtil.UrlEncode(boardcode) + "&editid=" + id + "&privurl=" + privurl + ">" + SkinUtil.LoadString(request, "res.label.forum.showtopic", "topic_edit") + "</a>";
  730.   mstr += "<a onClick=checkclick('" + SkinUtil.LoadString(request, "res.label.forum.showtopic", "topic_del_confirm") + "') href=deltopic.jsp?" + "boardcode=" + StrUtil.UrlEncode(boardcode) + "&delid=" + id + "&privurl=" + privurl + ">" + SkinUtil.LoadString(request, "res.label.forum.showtopic", "topic_del") + "</a>";
  731.   %>
  732.             <a class="nav" href='#' onMouseOver="showmenu(event, &quot;<%=mstr%>&quot;, 0)"><img src="images/edit.gif" border=0 align="absmiddle"></a></td>
  733.         </tr>
  734.         </tbody>
  735.       </table>
  736.     </td>
  737.   </tr>
  738.   </tbody>
  739. </table>
  740. <%
  741. if (showid==rootid) {
  742. rootMsgDb.increaseHit();
  743. }
  744. String sql = "";
  745. // sql = "select id from sq_message where rootid=" + rootid + " ORDER BY orders";
  746. sql = SQLBuilder.getShowtopictreeSql(rootid);
  747. long totalMsg = msgdb.getMsgCount(sql, boardcode, rootid);
  748. MsgBlockIterator irmsg = msgdb.getMsgs(sql, boardcode, rootid, 0, totalMsg);
  749. int layer = 1;
  750. int i = 1;
  751. if (irmsg.hasNext())
  752. {
  753. // 写根贴
  754. MsgDb md = (MsgDb) irmsg.next();
  755. id = md.getId();
  756. topic = md.getTitle();
  757. hit = md.getHit();
  758. %>
  759. <script language="JavaScript">
  760. spanhit.innerHTML = '<%=hit%>';
  761. </script>
  762. <table bordercolor=#edeced cellspacing=0 cellpadding=1 width="98%" align=center border=1>
  763.   <tbody> 
  764.   <tr> 
  765.     <td noWrap align=left bgcolor=#f8f8f8 height="21" width="3%">
  766. <img src="images/1.gif" border=0>
  767. </td>
  768.     <td noWrap align=left bgcolor=#f8f8f8 height="21" width="97%">
  769. <a name=#<%=id%>></a>
  770. <% if (id!=showid) { %>
  771. <a href="<%=ForumPage.getShowTopicPage(request, 1, rootid, id, 1, "")%>"><%=StrUtil.toHtml(topic)%></a></td>
  772. <% } else { %>
  773. <font color=red><%=StrUtil.toHtml(topic)%></font>
  774. <% }%> 
  775.   </tr>
  776.   </tbody> 
  777. </table>
  778. <%
  779. }
  780. // 写跟贴
  781. while (irmsg.hasNext())
  782. {
  783.   i++;
  784.   MsgDb md = (MsgDb) irmsg.next();
  785.   
  786.   id = md.getId();
  787.   name = md.getName();
  788.   layer = md.getLayer();
  789.   topic = md.getTitle();
  790.   content = md.getContent();
  791.   lydate = com.redmoon.forum.ForumSkin.formatDateTime(request, md.getAddDate());
  792.   %>
  793. <table cellspacing=0 cellpadding=0 width="98%" align=center 
  794. border=0>
  795.   <tbody> 
  796.   <tr> 
  797.     <td noWrap align=left bgcolor=#f8f8f8 height="13" width="3%">&nbsp; </td>
  798.     <td noWrap align=left bgcolor=#f8f8f8 height="13" width="97%"> 
  799.     <%
  800. layer = layer-1;
  801. for (int k=1; k<=layer-1; k++)
  802. { %>
  803.       <img src="" width=18 height=1> 
  804.       <% }%>
  805.       <img src="images/join.gif" width="18" height="16">
  806.  <%
  807.   if (id!=showid) { %>
  808.   <a href="<%=ForumPage.getShowTopicPage(request, 1, rootid, id, 1, "")%>"><%=StrUtil.toHtml(topic)%></a>
  809.   <a target="_blank" href="../userinfo.jsp?username=<%=StrUtil.UrlEncode(md.getName())%>"><%=um.getUser(md.getName()).getNick()%></a>&nbsp;&nbsp;[<%=lydate%>]
  810.   <% } else { %>
  811.   <font color=red><%=StrUtil.toHtml(topic)%></font><a name="#<%=showid%>"></a>&nbsp;&nbsp;
  812.   <a href="#content<%=showid%>"><lt:Label res="res.label.forum.showtopic" key="go_topic"/></a>
  813.   <%}%>
  814.   </td>
  815.   </tr>
  816.   </tbody> 
  817. </table>
  818. <%
  819. }
  820. %>
  821. <%if (privilege.isUserLogin(request)) {
  822. if (privilege.canUserDo(request, boardcode, "reply_topic")) {
  823. %>
  824. <FORM id="frmAnnounce" name="frmAnnounce" onSubmit="return formCheck()" action="addquickreplytodb.jsp?privurl=<%=privurl%>" method=post>
  825.   <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#d3d3d3 height=120 
  826. cellSpacing=0 cellPadding=5 width="98%" align=center border=1>
  827.   <TBODY>
  828.   <TR>
  829.     <TD width=158 background="<%=skinPath%>/images/bg1.gif" height=20 class="text_title">&nbsp;
  830.       <lt:Label res="res.label.forum.showtopic" key="quick_reply"/></TD>
  831.     <TD background="<%=skinPath%>/images/bg1.gif"><B><FONT color=#ffffff>
  832. </FONT></B> </TD></TR>
  833.   <TR>
  834.     <TD height=20 colspan="2"><%
  835. if (vplugin.size()>0) {
  836. Iterator irplugin = vplugin.iterator();
  837. while (irplugin.hasNext()) {
  838. PluginUnit pu = (PluginUnit)irplugin.next();
  839. IPluginUI ipu = pu.getUI(request, response, out);
  840. IPluginViewShowMsg pv = ipu.getViewShowMsg(boardcode, msgdb);
  841. if (pv.IsPluginBoard()) {
  842. boolean isShow = false;
  843. if (pu.getType().equals(pu.TYPE_BOARD))
  844. isShow = true;
  845. else if (pu.getType().equals(pu.TYPE_TOPIC)) {
  846. if (pu.getUnit().isPluginMsg(rootMsgDb.getId()))
  847. isShow = true;
  848. }
  849. if (isShow) {
  850. if (!pu.getAddReplyPage().equals("")) {
  851. %>
  852. <jsp:include page="<%=pu.getAddReplyPage()%>" flush="true">
  853. <jsp:param name="msgRootId" value="<%=rootid%>" /> 
  854. <jsp:param name="isQuickReply" value="true" /> 
  855. </jsp:include>
  856. <% }
  857. else {
  858. out.print(pu.getName(request) + "&nbsp;" + pv.render(UIShowMsg.POS_QUICK_REPLY_NOTE) + "<BR>");
  859. out.print(pv.render(UIShowMsg.POS_QUICK_REPLY_ELEMENT) + "<BR>");
  860. }
  861. }
  862. }
  863. }
  864. }
  865. %></TD>
  866.     </TR>
  867.   <TR bgColor=#ffffff>
  868.     <TD height=20>
  869.       <lt:Label res="res.label.forum.showtopic" key="quick_reply_title"/>    </TD>
  870.     <TD height=20><input name="topic" value="<%=SkinUtil.LoadString(request, "res.label.forum.showtopic", "reply") + StrUtil.toHtml(showtopic)%>" size="40">
  871.         <input type=hidden name="replyid" value="<%=rootid%>">
  872.         <input type=hidden name="boardcode" value="<%=boardcode%>">
  873.           <%
  874. if (cfg1.getBooleanProperty("forum.addUseValidateCode")) {
  875. %>
  876.           <lt:Label res="res.label.forum.showtopic" key="input_validatecode"/>
  877.           <input name="validateCode" type="text" size="1">
  878. <img src='../validatecode.jsp' border=0 align="absmiddle" style="cursor:hand" onClick="this.src='../validatecode.jsp'" alt="<lt:Label res="res.label.forum.index" key="refresh_validatecode"/>">
  879. <%}%> </TD>
  880.   </TR>
  881.   <TR bgColor=#ffffff>
  882.         <TD width=158 rowspan="3"><iframe src="iframe_browlist.jsp" height="120"  width="98%" marginwidth="0" marginheight="0" frameborder="0" scrolling="yes"></iframe>
  883.           <input type="hidden" name="expression" value="25">
  884.           <BR>
  885.           <input type=checkbox value=0 name=show_ubbcode>
  886.           <lt:Label res="res.label.forum.showtopic" key="forbid_ubb"/>
  887.           <BR>
  888.         <INPUT type=checkbox 
  889.       value=0 name=show_smile>
  890.         <lt:Label res="res.label.forum.showtopic" key="forbid_emote"/></TD>
  891.     <TD vAlign=top align=left>
  892.       <TEXTAREA onkeydown=presskey() id=Content name=Content rows=6 cols=79 style="width:615"></TEXTAREA> 
  893.       <BR>      </TD></TR>
  894.   <TR bgColor=#ffffff>
  895.     <TD vAlign=top align=left><iframe src="iframe_emotequick.jsp" height="38" width="615" marginwidth="0" marginheight="0" frameborder="0" scrolling="yes"></iframe></TD>
  896.   </TR>
  897.   <TR bgColor=#ffffff>
  898.     <TD vAlign=top align=left><input tabindex=4 type=submit value="Ctrl+Enter <lt:Label res="res.label.forum.showtopic" key="reply_topic"/>" name=submit1>
  899.   <input onClick="checkclick('<lt:Label res="res.label.forum.showtopic" key="confirm_clear_content"/>')" type=reset value="<lt:Label res="res.label.forum.showtopic" key="re_write"/>" name=reset></TD>
  900.   </TR>
  901.   </TBODY></TABLE>
  902.   <table cellspacing=0 width="98%" align=center bgcolor=#d3d3d3 border=0>
  903.     <tbody>
  904.       <tr> 
  905.         <td height=1></td>
  906.       </tr>
  907.     </tbody>
  908.   </table>
  909. </FORM>
  910. <%}
  911. }%>
  912. <%@ include file="inc/footer.jsp"%>
  913. </BODY>
  914. </HTML>