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

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8"%>
  2. <%@ page import="com.redmoon.blog.*"%>
  3. <%@ page import="com.redmoon.forum.*"%>
  4. <%@ page import="com.redmoon.forum.person.*"%>
  5. <%@ page import="com.redmoon.forum.ui.*"%>
  6. <%@ page import="org.jdom.*"%>
  7. <%@ page import="java.util.*"%>
  8. <%@ page import="org.jdom.output.*"%>
  9. <%@ page import="org.jdom.input.*"%>
  10. <%@ page import="cn.js.fan.db.*"%>
  11. <%@ page import="cn.js.fan.util.*"%>
  12. <%@ page import="cn.js.fan.web.*"%>
  13. <%@ page import="cn.js.fan.security.*"%>
  14. <%@ taglib uri="/WEB-INF/tlds/LabelTag.tld" prefix="lt" %>
  15. <jsp:useBean id="StrUtil" scope="page" class="cn.js.fan.util.StrUtil"/>
  16. <jsp:useBean id="privilege" scope="page" class="com.redmoon.forum.Privilege"/>
  17. <%
  18. String userName = privilege.getUser(request);
  19. if (userName.equals(""))
  20. userName = ParamUtil.get(request, "userName");
  21. String blogUserDir = ParamUtil.get(request, "blogUserDir");
  22. String skinPath = "skin/default";
  23. %>
  24. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  25. <HTML><HEAD><TITLE><%=Global.AppName%></TITLE>
  26. <META http-equiv=Content-Type content="text/html; charset=utf-8">
  27. <%@ include file="../../inc/nocache.jsp"%>
  28. <LINK href="../../common.css" type=text/css rel=stylesheet>
  29. <STYLE>
  30. TABLE {
  31. BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 1px
  32. }
  33. TD {
  34. BORDER-RIGHT: 0px; BORDER-TOP: 0px
  35. }
  36. .style1 {color: #FFFFFF}
  37. .style3 {color: #FFFFFF; font-weight: bold; }
  38. </STYLE>
  39. <SCRIPT>
  40. function openWin(url,width,height) {
  41.   var newwin = window.open(url,"_blank","toolbar=no,location=no,directories=no,status=no,menubar=no,top=50,left=120,width="+width+",height="+height);
  42. }
  43. ////////////////////展开帖子
  44. function loadThreadFollow(b_id,t_id,getstr){
  45. var targetImg2 =eval("document.all.followImg" + t_id);
  46. var targetTR2 =eval("document.all.follow" + t_id);
  47. if (targetImg2.src.indexOf("nofollow")!=-1){return false;}
  48. if ("object"==typeof(targetImg2)){
  49. if (targetTR2.style.display!="")
  50. {
  51. targetTR2.style.display="";
  52. targetImg2.src="../../forum/images/minus.gif";
  53. if (targetImg2.loaded=="no"){
  54. document.frames["hiddenframe"].location.replace("listtree.jsp?id="+b_id+getstr);
  55. }
  56. }else{
  57. targetTR2.style.display="none";
  58. targetImg2.src="../../forum/images/plus.gif";
  59. }
  60. }
  61. }
  62. </SCRIPT>
  63. <META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
  64. <BODY leftmargin="0" topMargin=0>
  65. <iframe src="" id="hiddenframe" width="0" height="0"></iframe>
  66. <jsp:useBean id="Topic" scope="page" class="com.redmoon.forum.MsgMgr" />
  67. <jsp:useBean id="userservice" scope="page" class="com.redmoon.forum.person.userservice" />
  68. <%
  69. String querystring = StrUtil.getNullString(request.getQueryString());
  70. String privurl=request.getRequestURL()+"?"+StrUtil.UrlEncode(querystring,"utf-8");
  71. if (!privilege.isUserLogin(request)) {
  72. response.sendRedirect("../../door.jsp");
  73. return;
  74. }
  75. %>
  76. <table width="100%" border="0">
  77.   <tr>
  78.     <td>
  79. &nbsp;<a href="listtopic.jsp?userName=<%=StrUtil.UrlEncode(userName)%>"><lt:Label res="res.label.blog.user.listtopic" key="all_article"/></a>
  80. <%
  81. UserDirDb udd = new UserDirDb();
  82. if (!blogUserDir.equals("")) {%>
  83.  >> 
  84. <%if (!blogUserDir.equals(UserDirDb.DEFAULT)) {
  85. udd = udd.getUserDirDb(userName, blogUserDir);
  86. out.print(udd.getDirName());
  87. }
  88. else
  89. out.print(udd.getDefaultName());
  90. }
  91. %>
  92. </td>
  93.   </tr>
  94.       <tr>
  95.         <td height="1" align="center" background="../../images/comm_dot.gif"></td>
  96.       </tr>
  97. </table>
  98. <%
  99. String sql;
  100. String op = StrUtil.getNullString(request.getParameter("op"));
  101. /*
  102. if (blogUserDir.equals(""))
  103. sql = "select id from sq_thread where name=" + StrUtil.sqlstr(userName) + " and isBlog=1 ORDER BY lydate desc";
  104. else
  105. sql = "select id from sq_thread where name=" + StrUtil.sqlstr(userName) + " and blogUserDir=" + StrUtil.sqlstr(blogUserDir) + " and isBlog=1 ORDER BY lydate desc";
  106. */
  107. sql = SQLBuilder.getListtopicSqlOfBlog(userName, blogUserDir);
  108. MsgDb msgdb = new MsgDb();
  109.     int total = msgdb.getThreadsCount(sql, msgdb.getVirtualBoardcodeOfBlogUser(userName, blogUserDir));
  110. int pagesize = 20;
  111. Paginator paginator = new Paginator(request, total, pagesize);
  112. int curpage = paginator.getCurPage();
  113. int totalpages = paginator.getTotalPages();
  114. if (totalpages==0)
  115. {
  116. curpage = 1;
  117. totalpages = 1;
  118. }
  119. long start = (curpage-1)*pagesize;
  120. long end = curpage*pagesize;
  121.         ThreadBlockIterator irmsg = msgdb.getThreads(sql, msgdb.getVirtualBoardcodeOfBlogUser(userName, blogUserDir), start, end);
  122. %>
  123.   <table width="98%" border="0" class="p9">
  124.     <tr> 
  125.       <td width="44%" align="left"> 
  126.   </td>
  127.       <td width="56%" align="right"><%=paginator.getPageStatics(request)%></td>
  128.     </tr>
  129.   </table>
  130.   <TABLE borderColor=#edeced cellSpacing=0 cellPadding=1 width="98%" align=center 
  131. border=1>
  132.     <TBODY>
  133.       <TR height=25> 
  134.         <TD height="26" colSpan=3 align=middle noWrap bgcolor="#617AA9" class="text_title style1"><lt:Label res="res.label.blog.user.listtopic" key="topis_list"/></TD>
  135.         <TD width=55 align=middle noWrap bgcolor="#617AA9" class="text_title style1"><lt:Label res="res.label.blog.user.listtopic" key="list"/></TD>
  136.         <TD width=55 height="26" align=middle noWrap bgcolor="#617AA9" class="text_title style1"><lt:Label res="res.label.forum.listtopic" key="reply"/></TD>
  137.         <TD width=55 height="26" align=middle noWrap bgcolor="#617AA9" class="text_title style1"><lt:Label res="res.label.forum.listtopic" key="hit"/></TD>
  138.         <TD width=80 height="26" align=middle noWrap bgcolor="#617AA9" class="text_title style1"><lt:Label res="res.label.forum.listtopic" key="reply_date"/></TD>
  139.         <TD width=80 align=middle noWrap bgcolor="#617AA9" class="text_title style1"><lt:Label key="op"/></TD>
  140.       </TR>
  141.     </TBODY>
  142. </TABLE>
  143. <%
  144. String id="",topic = "",name="",lydate="",rename="",redate="";
  145. int level=0,iselite=0,islocked=0,expression=0;
  146. int i = 0,recount=0,hit=0,type=0;
  147. ForumDb forum = new ForumDb();
  148. %>
  149. <%
  150. while (irmsg.hasNext()) {
  151.     msgdb = (MsgDb) irmsg.next(); 
  152.   i++;
  153.   id = ""+msgdb.getId();
  154.   topic = msgdb.getTitle();
  155.   name = msgdb.getName();
  156.   lydate = com.redmoon.forum.ForumSkin.formatDateTime(request, msgdb.getAddDate());
  157.   recount = msgdb.getRecount();
  158.   hit = msgdb.getHit();
  159.   expression = msgdb.getExpression();
  160.   type = msgdb.getType();
  161.   iselite = msgdb.getIsElite();
  162.   islocked = msgdb.getIsLocked();
  163.   level = msgdb.getLevel();
  164.   rename = msgdb.getRename();
  165.   redate = com.redmoon.forum.ForumSkin.formatDateTime(request, msgdb.getRedate());
  166.   if (redate!=null && redate.length()>=19)
  167.    redate = redate.substring(5,16);
  168.   %>
  169. <table bordercolor=#edeced cellspacing=0 cellpadding=1 width="98%" align=center border=1>
  170.     <tbody>
  171.       <tr> 
  172.         <td noWrap align=middle width=30 bgcolor=#f8f8f8> <% if (level==MsgDb.LEVEL_TOP_BOARD) { %> <IMG alt="" src="../../forum/<%=skinPath%>/images/f_top.gif" border=0> 
  173.           <% } 
  174. else {
  175. if (recount>20){ %> <img alt="<lt:Label res="res.label.forum.listtopic" key="open_topic_hot"/>" src="../../forum/<%=skinPath%>/images/f_hot.gif"> <%}
  176.    else if (recount>0) {%> <img alt="<lt:Label res="res.label.forum.listtopic" key="open_topic_reply"/>" src="../../forum/<%=skinPath%>/images/f_new.gif"> <%}
  177.    else {%> <img alt="<lt:Label res="res.label.forum.listtopic" key="open_topic_no_reply"/>" src="../../forum/<%=skinPath%>/images/f_norm.gif"> <%}
  178.   }%> </td>
  179.         <td align=middle width=17 bgcolor=#ffffff><a href="../../forum/showblog.jsp?rootid=<%=id%>" target=_blank> 
  180.           <% 
  181.   if (islocked==1) { %>
  182.           <IMG height=15 alt="" src="../../forum/<%=skinPath%>/images/f_locked.gif" width=17 border=0> 
  183.           <% }
  184.   else {
  185.   if (type==1) { %>
  186.           <IMG height=15 alt="" src="../../forum/<%=skinPath%>/images/f_poll.gif" width=17 border=0> 
  187.           <%}else { %>
  188.           <img src="../../forum/images/brow/<%=expression%>.gif" border=0> 
  189.           <%}
  190.   } %>
  191.           </a></td>
  192.         <td onMouseOver="this.style.backgroundColor='#ffffff'" 
  193.     onMouseOut="this.style.backgroundColor=''" align=left bgcolor=#f8f8f8> <%
  194. if (recount==0) {
  195. %> <img id=followImg<%=id%> title="<lt:Label res="res.label.forum.listtopic" key="no_reply"/>" src="../../forum/images/minus.gif" loaded="no"> 
  196.           <% }else { %> <img id=followImg<%=id%> title="<lt:Label res="res.label.forum.listtopic" key="extend_reply"/>" style="CURSOR: hand" 
  197.       onClick="loadThreadFollow(<%=id%>,<%=id%>,'&hit=<%=hit+1%>')" src="../../forum/images/plus.gif" loaded="no"> 
  198.           <% } %>
  199. <a href="../../forum/showblog.jsp?rootid=<%=id%>" target=_blank> 
  200. <%
  201. String color = StrUtil.getNullString(msgdb.getColor());
  202. String tp = topic;
  203. if (!color.equals(""))
  204. tp = "<font color='" + color + "'>" + tp + "</font>";
  205. if (msgdb.isBold())
  206. tp = "<B>" + tp + "</B>";
  207. %>
  208. <%=tp%> </a>
  209. <%if (iselite==1) { %>
  210. <IMG src="../../forum/images/topicgood.gif">
  211. <%}%>
  212.   <%
  213. //计算共有多少页回贴
  214. int allpages = Math.round((float)recount/10+0.5f);
  215. if (allpages>1)
  216. {
  217.   out.print("[");
  218. for (int m=1; m<=allpages; m++)
  219. { %> <a href="../../forum/showblog.jsp?rootid=<%=id%>&CPages=<%=m%>" target=_blank><%=m%></a> <% }
  220.    out.print("]");
  221.  }%> </td>
  222.         <td align=middle width=55 bgcolor=#f8f8f8>
  223. <%
  224. if (msgdb.getBlogUserDir().equals(UserDirDb.DEFAULT)) {%>
  225. <a href="?userName=<%=StrUtil.UrlEncode(userName)%>&blogUserDir=<%=UserDirDb.DEFAULT%>"><%=UserDirDb.getDefaultName()%></a>
  226. <%}
  227. else {
  228. if (blogUserDir.equals("")) {
  229. udd = udd.getUserDirDb(userName, msgdb.getBlogUserDir());%>
  230. <a href="?userName=<%=StrUtil.UrlEncode(userName)%>&blogUserDir=<%=udd.getCode()%>"><%=udd.getDirName()%></a>
  231. <%}
  232. else {%>
  233. <a href="?userName=<%=StrUtil.UrlEncode(userName)%>&blogUserDir=<%=udd.getCode()%>"><%=udd.getDirName()%></a>
  234. <%}
  235. }
  236. %>
  237. </td>
  238.         <td align=middle width=55 bgcolor=#f8f8f8><font color=red>[<%=recount%>]</font></td>
  239.         <td align=middle width=55 bgcolor=#ffffff><%=hit%></td>
  240.         <td align=left width=80 bgcolor=#f8f8f8> <table cellspacing=0 cellpadding=2 width="100%" align=center border=0>
  241.             <tbody>
  242.               <tr> 
  243.                 <td align="center"> 
  244.                   <%if (rename.equals("")) {%>
  245.   <%=lydate%>
  246.   <%}else{%>
  247. <a href="../../userinfo.jsp?username=<%=StrUtil.UrlEncode(rename,"utf-8")%>" title="<lt:Label res="res.label.forum.listtopic" key="topic_date"/><%=lydate%>"><%=rename%></a><br>
  248. <%=redate%>
  249. <%}%> </td>
  250.               </tr>
  251.             </tbody>
  252.           </table></td>
  253.         <td align=center width=80 bgcolor=#f8f8f8>
  254. <%if (msgdb.getIsWebedit()==msgdb.WEBEDIT_REDMOON) {%>
  255. <a href="../../forum/edittopic_we.jsp?editFlag=blog&boardcode=<%=com.redmoon.forum.Leaf.CODE_BLOG%>&editid=<%=msgdb.getId()%>&privurl=<%=StrUtil.getUrl(request)%>"><lt:Label key="op_edit"/></a>
  256. <%} else if (msgdb.getIsWebedit()==msgdb.WEBEDIT_UBB) {%>
  257. <a href="../../forum/edittopic.jsp?editFlag=blog&boardcode=<%=com.redmoon.forum.Leaf.CODE_BLOG%>&editid=<%=msgdb.getId()%>&privurl=<%=StrUtil.getUrl(request)%>"><lt:Label key="op_edit"/></a>
  258. <%} else {%>
  259. <a href="../../forum/edittopic_new.jsp?editFlag=blog&boardcode=<%=com.redmoon.forum.Leaf.CODE_BLOG%>&editid=<%=msgdb.getId()%>&privurl=<%=StrUtil.getUrl(request)%>"><lt:Label key="op_edit"/></a>
  260. <%}%>
  261. <a href="../../forum/deltopic.jsp?delid=<%=msgdb.getId()%>"><lt:Label key="op_del"/></a> </td>
  262.       </tr>
  263.       <tr id=follow<%=id%> style="DISPLAY: none"> 
  264.         <td noWrap align=middle width=30 bgcolor=#f8f8f8>&nbsp;</td>
  265.         <td align=middle width=17 bgcolor=#ffffff>&nbsp;</td>
  266.         <td onMouseOver="this.style.backgroundColor='#ffffff'" 
  267.     onMouseOut="this.style.backgroundColor=''" align=left bgcolor=#f8f8f8 colspan="6"> 
  268.           <div id=followDIV<%=id%> 
  269.       style="WIDTH: 100%;BACKGROUND-COLOR: lightyellow" 
  270.       onClick=loadThreadFollow(<%=id%>,<%=id%>,"&hit=<%=hit+1%>")><lt:Label res="res.label.forum.listtopic" key="wait"/></div></td>
  271.       </tr>
  272.       <tr> 
  273.         <td 
  274.     style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px" 
  275.     colspan=5> </td>
  276.       </tr>
  277.     </tbody>
  278. </table>
  279. <%}%>
  280.   <table width="98%" border="0" cellspacing="1" cellpadding="3" align="center" class="9black">
  281.     <tr> 
  282.       <td height="23" align="right"> 
  283.          
  284.           <%
  285. String querystr = "op="+op;
  286. out.print(paginator.getCurPageBlock("listtopic.jsp?"+querystr));
  287. %>
  288.       &nbsp;&nbsp;</td>
  289.     </tr>
  290. </table> 
  291.   <TABLE cellSpacing=0 cellPadding=0 width="98%" border=0>
  292.   <TBODY>
  293.   <TR>
  294.     <TD width="70%">&nbsp;</TD>
  295.     <TD width="40%">&nbsp;</TD></TR></TBODY></TABLE></CENTER>
  296. </BODY></HTML>