forumContent.jsp
上传用户:guhaomin
上传日期:2007-06-10
资源大小:23203k
文件大小:7k
源码类别:

电子政务应用

开发平台:

Java

  1. <%
  2. /**
  3.  * $RCSfile: forumContent.jsp,v $
  4.  * $Revision: 1.4 $
  5.  * $Date: 2000/12/18 02:06:21 $
  6.  */
  7. %>
  8. <%@ page import="java.util.*,
  9.                  java.text.SimpleDateFormat,
  10.                  com.coolservlets.forum.*,
  11.                  com.coolservlets.forum.util.*,
  12.  com.coolservlets.forum.util.admin.*"
  13. errorPage="error.jsp"
  14. %>
  15. <jsp:useBean id="adminBean" scope="session"
  16.  class="com.coolservlets.forum.util.admin.AdminBean"/>
  17. <%! //////////////////////////
  18. // global vars
  19. // date formatter for message dates
  20. private final SimpleDateFormat dateFormatter
  21. = new SimpleDateFormat( "yyyy.MM.dd h:mm a" );
  22. private final static int RANGE = 15;
  23. private final static int START = 0;
  24. %>
  25. <% ////////////////////////////////
  26. // Jive authorization check
  27. // check the bean for the existence of an authorization token.
  28. // Its existence proves the user is valid. If it's not found, redirect
  29. // to the login page
  30. Authorization authToken = adminBean.getAuthToken();
  31. if( authToken == null ) {
  32. response.sendRedirect( "/mainctrl/bbs/admin" );
  33. return;
  34. }
  35. %>
  36.  
  37. <% ////////////////////
  38. // Security check
  39. // make sure the user is authorized to administer users:
  40. ForumFactory forumFactory = ForumFactory.getInstance(authToken);
  41. ForumPermissions permissions = forumFactory.getPermissions(authToken);
  42. boolean isSystemAdmin = permissions.get(ForumPermissions.SYSTEM_ADMIN);
  43. boolean isUserAdmin   = permissions.get(ForumPermissions.FORUM_ADMIN);
  44. // redirect to error page if we're not a forum admin or a system admin
  45. if( !isUserAdmin && !isSystemAdmin ) {
  46. request.setAttribute("message","您没有权限管理论坛!");
  47. response.sendRedirect("error.jsp");
  48. return;
  49. }
  50. %>
  51.  
  52. <% ////////////////////
  53. // get parameters
  54. int forumID   = ParamUtils.getIntParameter(request,"forum",-1);
  55. boolean deleteThread = ParamUtils.getBooleanParameter(request,"deleteThread");
  56. int threadID = ParamUtils.getIntParameter(request,"thread",-1);
  57. int start = ParamUtils.getIntParameter(request,"start",START);
  58. int range = ParamUtils.getIntParameter(request,"range",RANGE);
  59. %>
  60.  
  61. <% //////////////////////////////////
  62. // global error variables
  63. String errorMessage = "";
  64. boolean noForumSpecified = (forumID < 0);
  65. boolean noThreadSpecified = (threadID < 0);
  66. %>
  67. <% ////////////////////
  68. // make a profile manager
  69. ProfileManager manager = forumFactory.getProfileManager();
  70. %>
  71. <% /////////////////////
  72. // delete a thread
  73. if( deleteThread ) {
  74. Forum tempForum = forumFactory.getForum(forumID);
  75. ForumThread tempThread = tempForum.getThread(threadID);
  76. tempForum.deleteThread(tempThread);
  77. response.sendRedirect("forumContent.jsp?forum="+forumID);
  78. return;
  79. }
  80. %>
  81. <html>
  82. <head>
  83. <title></title>
  84. <link rel="stylesheet" href="style/global.css">
  85. </head>
  86. <body background="images/shadowBack.gif" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
  87. <% ///////////////////////
  88. // pageTitleInfo variable (used by include/pageTitle.jsp)
  89. String[] pageTitleInfo = { "论坛 : 管理论坛内容" };
  90. %>
  91. <% ///////////////////
  92. // pageTitle include
  93. %><%@ include file="include/pageTitle.jsp" %>
  94. <p>
  95. <% //////////////////////
  96. // show the name of the forum we're working with (if one was selected)
  97. Forum currentForum = null;
  98. if( !noForumSpecified ) {
  99. try {
  100. currentForum = forumFactory.getForum(forumID);
  101. %>
  102. 您正在管理论坛: <b><%= currentForum.getName() %></b>
  103. <p>
  104. 论题数量:<%= currentForum.getThreadCount() %>,帖子数量:<%= currentForum.getMessageCount() %>
  105. <% }
  106. catch( ForumNotFoundException fnfe ) {
  107. %>
  108. <span class="errorText">没有找到此论坛。</span>
  109. <% }
  110. catch( UnauthorizedException ue ) {
  111. %>
  112. <span class="errorText">您没有权限管理此论坛。</span>
  113. <% }
  114. }
  115. %>
  116. <p>
  117. <% ///////////////////////
  118. // show a pulldown box of forums where this user can manage content:
  119. Iterator forumIterator = forumFactory.forums();
  120. if( !forumIterator.hasNext() ) {
  121. %>
  122. 没有论坛。
  123. <% }
  124. %>
  125. <p>
  126. <form>
  127. <select size="1" name="" onchange="location.href='forumContent.jsp?forum='+this.options[this.selectedIndex].value;">
  128. <option value="-1">管理下列论坛内容
  129. <option value="-1">---------------------
  130. <% while( forumIterator.hasNext() ) {
  131. Forum forum = (Forum)forumIterator.next();
  132. %>
  133. <option value="<%= forum.getID() %>"><%= forum.getName() %>
  134. <% }
  135. %>
  136. </select>
  137. </form>
  138. <% if( noForumSpecified ) {
  139. out.flush();
  140. return;
  141. }
  142. %>
  143. <p>
  144. <%-- thread table --%>
  145. <% int numThreads = currentForum.getThreadCount(); %>
  146. <%-- table for paging --%>
  147. <table cellpadding="0" cellspacing="0" border="0" width="100%">
  148. <td width="50%">
  149. <% if( start > 0 ) { %>
  150. <a href="forumContent.jsp?forum=<%=forumID%>&start=<%= (start-range) %>&range=<%= range %>" class="toolbar"
  151. >前<%= range %>个论题</a>
  152. <% } %>
  153. &nbsp;
  154. </td>
  155. <td width="50%" align="right">
  156. <% if( numThreads > (start+range) ) { %>
  157. <% int numRemaining = (numThreads-(start+range)); %>
  158. <a href="forumContent.jsp?forum=<%=forumID%>&start=<%= (start+range) %>&range=<%= range %>" class="toolbar"
  159. >后<%= (numRemaining>range)?range:numRemaining %>个论题</a>
  160. <% } %>
  161. </td>
  162. </table>
  163. <%-- /table for paging --%><p>
  164. <table bgcolor="#cccccc" cellpadding=0 cellspacing=0 border=0 width="100%">
  165. <td>
  166. <table bgcolor="#cccccc" cellpadding=3 cellspacing=1 border=0 width="100%">
  167. <tr bgcolor="#dddddd">
  168. <td class="forumListHeader" width="1%" nowrap bgcolor="#cccccc"><b>删除?</b></td>
  169. <td class="forumListHeader" width="95%">主题</td>
  170. <td class="forumListHeader" width="1%" nowrap>回复</td>
  171. <td class="forumListHeader" width="1%" nowrap>作者</td>
  172. <td class="forumListHeader" width="1%" nowrap>日期</td>
  173. </tr>
  174. <% /////////////////////
  175. // get an iterator of threads
  176. Iterator threadIterator = currentForum.threads(start,range);
  177. if( !threadIterator.hasNext() ) {
  178. %>
  179. <tr bgcolor="#ffffff">
  180. <td colspan="5" align="center" class="forumListCell">
  181. <br><i>此论坛中没有帖子。</i><br><br>
  182. </td>
  183. </tr>
  184. <% }
  185. while( threadIterator.hasNext() ) {
  186. ForumThread currentThread = (ForumThread)threadIterator.next();
  187. int currentThreadID = currentThread.getID();
  188. ForumMessage rootMessage = currentThread.getRootMessage();
  189. boolean rootMsgIsAnonymous = rootMessage.isAnonymous();
  190. User rootMessageUser = rootMessage.getUser();
  191. String username = rootMessageUser.getUsername();
  192. String name = rootMessageUser.getName();
  193. String email = rootMessageUser.getEmail();
  194. %>
  195. <tr>
  196. <form>
  197. <td width="1%" class="forumListCell" align="center">
  198. <input type="radio"
  199.  onclick="if(confirm('您确定要删除此论题和它所有的帖子吗?')){location.href='forumContent.jsp?forum=<%=forumID%>&deleteThread=true&thread=<%= currentThreadID %>';}">
  200. </td>
  201. <td class="forumListCell" width="96%">
  202. <a href="threadContent.jsp?forum=<%=forumID%>&thread=<%=currentThreadID%>"><%= currentThread.getName() %></a>
  203. </td>
  204. <td class="forumListCell" width="1%" nowrap align="center">
  205. <%= currentThread.getMessageCount()-1 %>
  206. </td>
  207. <td class="forumListCell" width="1%" nowrap align="center">
  208. <% if( rootMsgIsAnonymous ) { %>
  209. <i>匿名者</i>
  210. <% } else { %>
  211. <a href="mailto:<%=email%>" title="<%= name %>"><%= username %></a>
  212. <% } %>
  213. </td>
  214. <td class="forumListDateCell" width="1%" nowrap>
  215. <%= dateFormatter.format(rootMessage.getCreationDate()) %>
  216. </td>
  217. </form>
  218. </tr>
  219. <% }
  220. %>
  221. </table>
  222. </td>
  223. </table>
  224. <%-- /thread table --%>
  225. </body>
  226. </html>