📄 users.jsp
字号:
<%/** * $RCSfile: users.jsp,v $ * $Revision: 1.2.12.3 $ * $Date: 2003/09/30 04:55:46 $ */%><%@ 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" errorPage="error.jsp"%><%@ taglib uri="jivetags" prefix="jive" %><%@ include file="global.jsp" %><%! // Global vars static final int[] RANGES = {15, 30, 50, 100};%><% // Permission check if (!isSystemAdmin && !isUserAdmin) { 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.users.start")); } catch (Exception e) {} } else { session.setAttribute("admin.users.start",start+""); } // Check for the value of "range" as a property of the admin: if (request.getParameter("range") == null) { String userRange = pageUser.getProperty("jiveAdminUserRange"); if (userRange != null) { try { range = Integer.parseInt(userRange); } catch (Exception e) { pageUser.setProperty("jiveAdminUserRange", range+""); } } else { pageUser.setProperty("jiveAdminUserRange", range+""); } } else { pageUser.setProperty("jiveAdminUserRange", range+""); } // get an Iterator of users UserManager manager = forumFactory.getUserManager(); Iterator users = manager.users(start, range); // Total user count int userCount = manager.getUserCount(); // Create a paginator for the user list: final int finalStart = start; final int finalRange = range; final int finalUserCount = userCount; // Create a new paginator with a custom pageable object Paginator paginator = new Paginator(new Pageable() { public int getStart() { return finalStart; } public int getTotalItemCount() { return finalUserCount; } 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.users.currentUserID");%><% // 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 = "User Summary"; String[][] breadcrumbs = { {"Main", "main.jsp"}, {title, "users.jsp"} };%><%@ include file="title.jsp" %><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr> <td> <%= LocaleUtils.getLocalizedNumber(userCount,JiveGlobals.getLocale()) %> total user<%= (userCount==1)?"":"s" %>, <%= range %> displayed per page. </td> <form> <td align="right"> Number of users per page: <select size="1" onchange="location.href='users.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><% String message = getOneTimeMessage(session,"admin.users.message"); if (message != null) {%> <p><i><%= message %></i></p><% } %><form action="userSearch.jsp">Jump to user: (enter ID or username)<input type="text" name="user" 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="users.jsp?start=<%= paginator.getPreviousPageStart() %>" >Previous</a> | <% } %> <% for (int i=0; i<pages.length; i++) { %> <% if (pages[i] == null) { %> ... <% } else { %> <a href="users.jsp?start=<%= pages[i].getStart() %>" class="<%= ((paginator.getStart()==pages[i].getStart())?"jive-current":"") %>" ><%= pages[i].getNumber() %></a> <% } %> <% } %> <% if (paginator.getNextPage()) { %> <%-- Next --%> | <a href="users.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>USER ID</b></font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>USERNAME</b></font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>NAME</b></font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>EMAIL</b></font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>EDIT</b></font></td> <td align="center" nowrap><font size="-2" face="verdana"><b>DELETE</b></font></td></tr><% int counter = start; while (users.hasNext()) { counter ++; User user = (User)users.next(); String name = user.getName(); String email = user.getEmail();%> <tr bgcolor="#ffffff"> <td align="center" width="2%"> <%= counter %> </td> <td align="center" width="2%"> <%= user.getID() %> </td> <td width="30%"> <a href="editUser.jsp?user=<%= user.getID() %>"><%= user.getUsername() %></a> </td> <td width="28%"> <%= (name!=null)?name:"" %> </td> <td width="30%"> <%= (email!=null)?email:"" %> </td> <td align="center" width="4%" ><a href="editUser.jsp?user=<%= user.getID() %>" ><img src="images/button_edit.gif" width="17" height="17" alt="Edit User Properties..." border="0" ></a ></td> <td align="center" width="4%" ><a href="removeUser.jsp?user=<%= user.getID() %>" ><img src="images/button_delete.gif" width="17" height="17" alt="Delete User..." 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 + -