📄 groups.jsp
字号:
<%/** * $RCSfile: groups.jsp,v $ * $Revision: 1.2.12.5 $ * $Date: 2003/09/30 15:27:18 $ */%><%@ page import="java.util.*, com.jivesoftware.forum.*, com.jivesoftware.forum.util.*, com.jivesoftware.util.ParamUtils, com.jivesoftware.util.LocaleUtils, com.jivesoftware.forum.action.util.Paginator, com.jivesoftware.forum.action.util.Pageable, com.jivesoftware.forum.action.util.Page, com.jivesoftware.util.StringUtils" errorPage="error.jsp"%><%@ taglib uri="jivetags" prefix="jive" %><%@ include file="global.jsp" %><%! // Global vars static final int[] RANGES = {15, 30, 50, 100};%><% // Security check if (!isSystemAdmin && !isGroupAdmin) { throw new UnauthorizedException("You don't have admin privileges to perform this operation."); } boolean isDisabled = "true".equals(JiveGlobals.getJiveProperty("userGroupAdmin.disabled")); if (isDisabled) { throw new Exception("User and group admin has been disabled."); } // get parameters int start = ParamUtils.getIntParameter(request,"start",0); int range = ParamUtils.getIntParameter(request,"range",15); // If the value of "start" isn't passed in as a parameter, look for it in // the session if (request.getParameter("start") == null) { try { start = Integer.parseInt((String)session.getAttribute("admin.groups.start")); } catch (Exception e) {} } else { session.setAttribute("admin.groups.start",start+""); } // Check for the value of "range" as a property of the admin: if (request.getParameter("range") == null) { String userRange = pageUser.getProperty("jiveAdminGroupRange"); if (userRange != null) { try { range = Integer.parseInt(userRange); } catch (Exception e) { pageUser.setProperty("jiveAdminGroupRange", range+""); } } else { pageUser.setProperty("jiveAdminGroupRange", range+""); } } else { pageUser.setProperty("jiveAdminGroupRange", range+""); } // get an Iterator of groups GroupManager manager = forumFactory.getGroupManager(); Iterator groups = manager.getGroups(); // Total group count int groupCount = manager.getGroupCount(); // Create a paginator for the user list: final int finalStart = start; final int finalRange = range; final int finalGroupCount = groupCount; // Create a new paginator with a custom pageable object Paginator paginator = new Paginator(new Pageable() { public int getStart() { return finalStart; } public int getTotalItemCount() { return finalGroupCount; } public ResultFilter getResultFilter() { return new ResultFilter() { public int getNumResults() { return finalRange; } public int getStartIndex() { return finalStart; } }; } }); // Get all pages in the paginator Page[] pages = paginator.getPages(); // Add in the last page if necessary if ((paginator.getNumPages() > paginator.getPages().length) && ((paginator.getStart()/paginator.getPageable().getResultFilter().getNumResults()) <(paginator.getNumPages()-2))) { // convert the array to a list List pageList = new ArrayList(pages.length); for (int i=0; i<pages.length; i++) { pageList.add(pages[i]); } // add a spacer pageList.add(null); // add a new last page Page lastPage = new Page(); lastPage.setNumber(paginator.getNumPages()); lastPage.setStart((paginator.getNumPages()-1) * paginator.getPageable().getResultFilter().getNumResults()); pageList.add(lastPage); // reconver the list to an array. pages = (Page[])(pageList.toArray(new Page[]{})); } // Remove the user in the session (if we come to this page, the sidebar // shouldn't show the specific user options). session.removeAttribute("admin.sidebar.groups.currentGroupID");%><% // special onload command to load the sidebar onload = " onload=\"parent.frames['sidebar'].location.href='sidebar.jsp?sidebar=users';\"";%><%@ include file="header.jsp" %><p><% // Title of this page and breadcrumbs String title = "Groups Summary"; String[][] breadcrumbs = { {"Main", "main.jsp"}, {title, "groups.jsp"} };%><%@ include file="title.jsp" %><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr> <td> <%= LocaleUtils.getLocalizedNumber(groupCount,JiveGlobals.getLocale()) %> total group<%= (groupCount==1)?"":"s" %>, <%= range %> displayed per page. </td> <form> <td align="right"> Number of groups per page: <select size="1" onchange="location.href='groups.jsp?start=<%= start %>&range='+this.options[this.selectedIndex].value;"> <% for (int i=0; i<RANGES.length; i++) { String selected = ""; if (RANGES[i] == range) { selected = " selected"; } %> <option value="<%= RANGES[i] %>"<%= selected %>><%= RANGES[i] %> <% } %> </select> </td> </form></tr></table><form action="groupSearch.jsp">Jump to group: (enter ID or name)<input type="text" name="group" size="20" maxlength="100"><input type="submit" value="Go"></form><p><jive:cache id="paginator"> Pages: <%= paginator.getNumPages() %> <% if (paginator.getNumPages() > 1) { %> <span class="jive-paginator"> [ <% if (paginator.getPreviousPage()) { %> <%-- Previous --%> <a href="groups.jsp?start=<%= paginator.getPreviousPageStart() %>" >Previous</a> | <% } %> <% for (int i=0; i<pages.length; i++) { %> <% if (pages[i] == null) { %> ... <% } else { %> <a href="groups.jsp?start=<%= pages[i].getStart() %>" class="<%= ((paginator.getStart()==pages[i].getStart())?"jive-current":"") %>" ><%= pages[i].getNumber() %></a> <% } %> <% } %> <% if (paginator.getNextPage()) { %> <%-- Next --%> | <a href="groups.jsp?start=<%= paginator.getNextPageStart() %>" >Next</a> <% } %> ] </span> <% } %></jive:cache></p><table bgcolor="<%= tblBorderColor %>" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table bgcolor="<%= tblBorderColor %>" cellpadding="3" cellspacing="1" border="0" width="100%"><tr bgcolor="#eeeeee"> <td align="center" nowrap><font size="-2" face="verdana"> </font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>GROUP ID</b></font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>GROUP NAME</b></font><img src="images/down.gif" width="8" height="7" border="0" hspace="4"></td> <td align="center"><font size="-2" face="verdana"><b>MEMBER COUNT</b></font></td> <td align="center"><font size="-2" face="verdana"><b>ADMIN COUNT</b></font></td> <td align="center"><font size="-2" face="verdana"><b>ADD/REMOVE USERS</b></font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>DELETE</b></font></td></tr><% if (!groups.hasNext()) { %> <tr bgcolor="#ffffff"> <td align="center" colspan="6"> <font size="-1"><i>No Groups Created</i></font> </td> </tr><% } int i = start; for (int j=0; j<i; j++) { groups.next(); } while (groups.hasNext() && (i<(start+range))) { i++; Group group = (Group)groups.next();%> <tr bgcolor="#ffffff"> <td align="center" width="1%"> <%= i %> </td> <td align="center" width="1%"> <%= group.getID() %> </td> <td width="<%= (isSystemAdmin)?"95":"96" %>%"> <a href="editGroup.jsp?group=<%= group.getID() %>"><%= group.getName() %></a> <br> <font size="-2"><%= StringUtils.escapeHTMLTags(group.getDescription()) %> </td> <td width="1%" align="center"> <%= group.getMemberCount() %> </td> <td width="1%" align="center"> <%= group.getAdministratorCount() %> </td> <td align="center" width="1%" ><a href="groupMembers.jsp?group=<%= group.getID() %>" ><img src="images/button_edit.gif" width="17" height="17" alt="Add or Remove Users..." border="0" ></a ></td> <td align="center" width="1%" ><a href="removeGroup.jsp?group=<%= group.getID() %>" ><img src="images/button_delete.gif" width="17" height="17" alt="Delete Group..." border="0" ></a ></td> </tr><% } %></table></td></tr></table><p><jive:cache id="paginator" /></p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -