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

电子政务应用

开发平台:

Java

  1. <%
  2. /**
  3.  * $RCSfile: groupPerms.jsp,v $
  4.  * $Revision: 1.3.2.4 $
  5.  * $Date: 2001/05/22 17:55:13 $
  6.  */
  7. %>
  8. <%@ page import="java.util.*,
  9.                  java.net.URLEncoder,
  10.                  com.coolservlets.forum.*,
  11.                  com.coolservlets.forum.util.*,
  12.  com.coolservlets.forum.util.admin.*"%>
  13. <jsp:useBean id="adminBean" scope="session"
  14.  class="com.coolservlets.forum.util.admin.AdminBean"/>
  15.  
  16. <%! ////////////////////////
  17. // global page variables
  18. private final String ADD = " 增加 ";
  19. private final String REMOVE = "删除";
  20. %>
  21. <%! ///////////////////
  22. // global methods
  23. private String getParameterMode( String paramVal ) {
  24. if( paramVal == null ) {
  25. return "";
  26. }
  27. if( paramVal.equals(ADD) ) { return "add"; }
  28. else if( paramVal.equals(REMOVE) ) { return "remove"; }
  29. else {
  30. return "";
  31. }
  32. }
  33. private int[] getIntListboxParams( String[] paramVal ) {
  34. if( paramVal == null ) { 
  35. return new int[0]; 
  36. }
  37. int[] params = new int[paramVal.length];
  38. for (int i=0;i<paramVal.length;i++)
  39. {
  40. try {
  41. params[i] = Integer.parseInt(paramVal[i]);
  42. } catch( NumberFormatException nfe ) {}
  43. }
  44. return params;
  45. }
  46. %>
  47. <% ////////////////////////////////
  48. // Jive authorization check
  49. // check the bean for the existence of an authorization token.
  50. // Its existence proves the user is valid. If it's not found, redirect
  51. // to the login page
  52. Authorization authToken = adminBean.getAuthToken();
  53. if( authToken == null ) {
  54. response.sendRedirect( "/mainctrl/bbs/admin" );
  55. return;
  56. }
  57. %>
  58.  
  59. <% ////////////////////
  60. // Security check
  61. // make sure the user is authorized to administer users:
  62. ForumFactory forumFactory = ForumFactory.getInstance(authToken);
  63. boolean isSystemAdmin = ((Boolean)session.getValue("jiveAdmin.systemAdmin")).booleanValue();
  64. boolean isGroupAdmin  = ((Boolean)session.getValue("jiveAdmin.groupAdmin")).booleanValue();
  65. // redirect to error page if we're not a group admin or a system admin
  66. if( !isGroupAdmin && !isSystemAdmin ) {
  67. request.setAttribute("message","您没有权限管理用户组!");
  68. response.sendRedirect("error.jsp");
  69. return;
  70. }
  71. %>
  72. <% ////////////////////
  73. // get parameters
  74. int groupID = ParamUtils.getIntParameter(request,"group",-1);
  75. boolean doAction = ParamUtils.getBooleanParameter(request,"doAction");
  76. String groupAdminMode = getParameterMode(ParamUtils.getParameter(request,"groupAdminMode"));
  77. String groupUserMode  = getParameterMode(ParamUtils.getParameter(request,"groupUserMode"));
  78. int[] groupAdminsParam = getIntListboxParams(request.getParameterValues("groupAdmins"));
  79. //int[] allAdminsParam   = getIntListboxParams(request.getParameterValues("allAdmins"));
  80. int[] groupUsersParam  = getIntListboxParams(request.getParameterValues("groupUsers"));
  81. //int[] allUsersParam    = getIntListboxParams(request.getParameterValues("allUsers"));
  82. String allAdminsUsername = ParamUtils.getParameter(request,"allAdminsUsername");
  83. String allUsersUsername = ParamUtils.getParameter(request,"allUsersUsername");
  84. %>
  85. <% /////////////////////
  86. // other page variables
  87. boolean addGroupAdmin = (groupAdminMode.equals("add"));
  88. boolean removeGroupAdmin = (groupAdminMode.equals("remove"));
  89. boolean addGroupUser = (groupUserMode.equals("add"));
  90. boolean removeGroupUser = (groupUserMode.equals("remove"));
  91. %>
  92. <% ///////////////////////
  93. // error variables
  94. boolean errorGroupNotFound = false;
  95. boolean errorNoPermission = false;
  96. boolean errors = false;
  97. %>
  98. <% //////////////////////////////////
  99. // global variables
  100. ProfileManager manager = forumFactory.getProfileManager();
  101. %>
  102. <% /////////////////////
  103. // try to load the group from the passed in group id
  104. Group group = null;
  105. try {
  106. group = manager.getGroup(groupID);
  107. }
  108. catch( GroupNotFoundException gnfe ) {
  109. response.sendRedirect("error.jsp?msg="
  110. + URLEncoder.encode("用户组 " + groupID + " 不存在!") );
  111. return;
  112. }
  113. %>
  114. <% /////////////////////
  115. // this group properties
  116. String groupName = group.getName();
  117. String groupDescription = group.getDescription();
  118. int userCount = group.getMemberCount();
  119. Iterator adminIterator = group.administrators();
  120. Iterator allAdmins = manager.users();
  121. Iterator userIterator = group.members();
  122. Iterator allUsers = manager.users();
  123. %>
  124. <% /////////////////////////
  125. // do an action!
  126. if( doAction ) {
  127. // add a group administrator
  128. if( addGroupAdmin ) {
  129. try {
  130. User admin = manager.getUser(allAdminsUsername);
  131. group.addAdministrator(admin);
  132. }
  133. catch( UserNotFoundException unfe ) {}
  134. catch( UnauthorizedException ue   ) {}
  135. }
  136. // remove a group administrator
  137. else if( removeGroupAdmin ) {
  138. for( int i=0; i<groupAdminsParam.length; i++ ) {
  139. try {
  140. User admin = manager.getUser(groupAdminsParam[i]);
  141. group.removeAdministrator(admin);
  142. }
  143. catch( UserNotFoundException unfe ) {}
  144. catch( UnauthorizedException ue   ) {}
  145. }
  146. }
  147. // add a group user
  148. else if( addGroupUser ) {
  149. try {
  150. User user = manager.getUser(allUsersUsername);
  151. group.addMember(user);
  152. }
  153. catch( UserNotFoundException unfe ) {}
  154. catch( UnauthorizedException ue   ) {}
  155. }
  156. // remove a group user
  157. else if( removeGroupUser ) {
  158. for( int i=0; i<groupUsersParam.length; i++ ) {
  159. try {
  160. System.out.println( "remove: " + groupUsersParam[i] );
  161. User user = manager.getUser(groupUsersParam[i]);
  162. group.removeMember(user);
  163. }
  164. catch( UserNotFoundException unfe ) {}
  165. catch( UnauthorizedException ue   ) {}
  166. }
  167. }
  168. }
  169. %>
  170. <% ////////////////////
  171. // if we did something, redirect to this page again (since we're doing POSTS
  172. // on the form)
  173. // uncommented so i can debug parameters!!
  174. if( doAction ) {
  175. response.sendRedirect("groupPerms.jsp?group="+groupID);
  176. return;
  177. }
  178. %>
  179. <html>
  180. <head>
  181. <title></title>
  182. <link rel="stylesheet" href="style/global.css">
  183. <script language="JavaScript" type="text/javascript">
  184. <!--
  185. function selAllListBox( el, chkbx ) {
  186. if( chkbx.checked ) {
  187. for( var i=0; i<el.options.length; i++ ) {
  188. el.options[i].selected = true;
  189. }
  190. }
  191. }
  192. //-->
  193. </script>
  194. </head>
  195. <body background="images/shadowBack.gif" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
  196. <% ///////////////////////
  197. // pageTitleInfo variable (used by include/pageTitle.jsp)
  198. String[] pageTitleInfo = { "用户组 : 用户组许可" };
  199. %>
  200. <% ///////////////////
  201. // pageTitle include
  202. %><%@ include file="include/pageTitle.jsp" %>
  203. <p>
  204. <b>用户组许可:</b>
  205. <%= groupName %>
  206. <p>
  207. <form action="groupPerms.jsp" method="post"> 
  208. <input type="hidden" name="doAction" value="true">
  209. <input type="hidden" name="group" value="<%= groupID %>">
  210. <%-- member table --%>
  211. <table bgcolor="#666666" cellpadding="0" cellspacing="0" width="80%" align="center" border="0">
  212. <td>
  213. <table bgcolor="#666666" cellpadding="3" cellspacing="1" width="100%" align="center" border="0">
  214. <tr bgcolor="#eeeeee">
  215. <td width="<%= isSystemAdmin?"99":"100" %>%">
  216. 此用户组的成员
  217. </td>
  218. <% if( isSystemAdmin ) { %>
  219. <td width="1%" nowrap>
  220. <a href="createUser.jsp?type=user">增加一个新用户</a>
  221. </td>
  222. <% } %>
  223. </tr>
  224. <tr bgcolor="#ffffff">
  225. <td colspan="2">
  226. <%-- table for listboxes of members --%>
  227. <table cellpadding="3" cellspacing="0" border="0" width="100%">
  228. <tr>
  229. <td width="50%" align="center">
  230. 用户组中的成员:
  231. <br>
  232. <select size="5" name="groupUsers" multiple>
  233. <% HashMap groupUserMap = new HashMap(); %>
  234. <% while( userIterator.hasNext() ) { %>
  235. <% User user = (User)userIterator.next(); %>
  236. <% int userID = user.getID(); %>
  237. <% groupUserMap.put( ""+userID, ""+userID ); %>
  238. <option value="<%=user.getID()%>"><%= user.getUsername() %>
  239. <% } %>
  240. </select>
  241. <br>
  242. (<input type="checkbox" name="" value="" id="cbusr01"
  243.   onclick="selAllListBox(this.form.groupUsers,this);">
  244. <label for="cbusr01">全选</label>)
  245. <p>
  246. <input type="submit" name="groupUserMode" value="<%= REMOVE %>">
  247. </td>
  248. <td width="50%" align="center">
  249. 可以输入用户名,添加到此用户组:
  250. <br>
  251. <input type="text" name="allUsersUsername" value="">
  252. <br>
  253. <input type="submit" name="groupUserMode" value="<%= ADD %>">
  254. </td>
  255. </tr>
  256. </table>
  257. <%-- /table for listboxes of members --%>
  258. </td>
  259. </tr>
  260. </table>
  261. </td>
  262. </table>
  263. <%-- /member table --%>
  264. <p>
  265. <%-- admin table --%>
  266. <table bgcolor="#666666" cellpadding="0" cellspacing="0" width="80%" align="center" border="0">
  267. <td>
  268. <table bgcolor="#666666" cellpadding="3" cellspacing="1" width="100%" align="center" border="0">
  269. <tr bgcolor="#eeeeee">
  270. <td width="<%= isSystemAdmin?"99":"100" %>%">
  271. 此用户组的管理员
  272. </td>
  273. <% if( isSystemAdmin ) { %>
  274. <td width="1%" nowrap>
  275. <a href="createUser.jsp?type=admin">增加一个新管理员</a>
  276. </td>
  277. <% } %>
  278. </tr>
  279. <tr bgcolor="#ffffff">
  280. <td colspan="2">
  281. <%-- table for listboxes of admins --%>
  282. <table cellpadding="3" cellspacing="0" border="0" width="100%">
  283. <tr>
  284. <td width="50%" align="center">
  285. 用户组中的管理员
  286. <br>
  287. <select size="5" name="groupAdmins" multiple>
  288. <% HashMap groupAdminMap = new HashMap(); %>
  289. <% while( adminIterator.hasNext() ) { %>
  290. <% User admin = (User)adminIterator.next(); %>
  291. <% int adminID = admin.getID(); %>
  292. <% groupAdminMap.put( ""+adminID, ""+adminID ); %>
  293. <option value="<%=admin.getID()%>"><%= admin.getUsername() %>
  294. <% } %>
  295. </select>
  296. <br>
  297. (<input type="checkbox" name="" value="" id="cbadm01"
  298.   onclick="selAllListBox(this.form.groupAdmins,this);">
  299. <label for="cbadm01">全选</label>)
  300. <p>
  301. <input type="submit" name="groupAdminMode" value="<%= REMOVE %>">
  302. </td>
  303. <td width="50%" align="center">
  304. 可以输入用户名,添加一个管理员到此用户组:
  305. <br>
  306. <input type="text" name="allAdminsUsername" value="">
  307. <br>
  308. <input type="submit" name="groupAdminMode" value="<%= ADD %>">
  309. <br>
  310. <br>
  311. <font size="-2">
  312. <i>
  313. 注意:您不能指定用户组当中的一个成员为此用户组的管理员。
  314.             你必须首先将用户从此用户组中删除,然后再将此用户增加为
  315.             此用户组的管理员。
  316. </i>
  317. </font>
  318. </td>
  319. </tr>
  320. </table>
  321. <%-- /table for listboxes of admins --%>
  322. </td>
  323. </tr>
  324. </table>
  325. </td>
  326. </table>
  327. <%-- /admin table --%>
  328. <p>
  329. </form>
  330. <center>
  331. <form action="groups.jsp">
  332. <input type="submit" value="完成">
  333. </form>
  334. </center>
  335. </body>
  336. </html>