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

Jsp/Servlet

开发平台:

Java

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