📄 rule-form.jsp
字号:
<%@ page import="org.jivesoftware.openfire.XMPPServer, org.jivesoftware.openfire.group.Group" %><%@ page import="org.jivesoftware.openfire.plugin.component.ComponentList" %><%@ page import="org.jivesoftware.openfire.plugin.rules.*" %><%@ page import="org.jivesoftware.openfire.user.UserManager" %><%@ page import="org.jivesoftware.util.ParamUtils" %><%@ page import="org.xmpp.component.Component" %><%@ page import="java.util.Collection" %><%@ page import="java.util.HashMap" %><%@ page import="java.util.Map" %><%@ page import="org.jivesoftware.openfire.RoutingTable" %><%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %><%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %><jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager"/><% webManager.init(request, response, session, application, out); Collection<Group> groups = webManager.getGroupManager().getGroups(); ComponentList cList = ComponentList.getInstance(); RuleManager rm = new RuleManagerProxy(); Rule rule = null; //Get Action boolean create = request.getParameter("create") != null; boolean cancel = request.getParameter("cancel") != null; //Get data String packetAction = ParamUtils.getParameter(request, "packetAction"); String disable = ParamUtils.getParameter(request, "disable"); String packetType = ParamUtils.getParameter(request, "packetType"); String source = ParamUtils.getParameter(request, "source"); String destination = ParamUtils.getParameter(request, "destination"); String log = ParamUtils.getParameter(request, "log"); String description = ParamUtils.getParameter(request, "description"); String order = ParamUtils.getParameter(request, "order"); Rule.SourceDestType[] type = Rule.SourceDestType.values(); Collection<String> userList = UserManager.getInstance().getUsernames(); String serverName = XMPPServer.getInstance().getServerInfo().getXMPPDomain(); Collection<String> components = cList.getComponentDomains(); Map<String, String> errors = new HashMap<String, String>(); String sourceJID = ""; String destJID = ""; if (cancel) { response.sendRedirect("pf-main.jsp"); return; } if (create) { if (packetAction.equals("Pass")) { rule = new Pass(); } else if (packetAction.equals("Reject")) { rule = new Reject(); } else if (packetAction.equals("Drop")) { rule = new Drop(); } if (rule != null) { rule.setDescription(description); rule.setPacketType(Rule.PacketType.valueOf(packetType)); if (source.equals(Rule.SourceDestType.Any.toString())) { rule.setSource(source); rule.setSourceType(Rule.SourceDestType.Any.toString()); } else if (source.equals(Rule.SourceDestType.Other.toString())) { sourceJID = ParamUtils.getParameter(request, "sourceOtherJID"); if (sourceJID == null || !(sourceJID.length() > 0)) { sourceJID = ""; errors.put("sourceOther", ""); } rule.setSource(sourceJID); rule.setSourceType(Rule.SourceDestType.Other.toString()); } else if (source.equals(Rule.SourceDestType.User.toString())) { sourceJID = ParamUtils.getParameter(request, "sourceUserJID"); rule.setSource(sourceJID); rule.setSourceType(Rule.SourceDestType.User.toString()); } else if (source.equals(Rule.SourceDestType.Group.toString())) { sourceJID = ParamUtils.getParameter(request, "sourceGroupJID"); rule.setSource(sourceJID); rule.setSourceType(Rule.SourceDestType.Group.toString()); } else if (source.equals(Rule.SourceDestType.Component.toString())) { sourceJID = ParamUtils.getParameter(request, "sourceComponentJID"); rule.setSource(sourceJID); rule.setSourceType(Rule.SourceDestType.Component.toString()); } if (destination.equals(Rule.SourceDestType.Any.toString())) { rule.setDestination(destination); rule.setDestType(Rule.SourceDestType.Any.toString()); } else if (destination.equals(Rule.SourceDestType.Other.toString())) { destJID = ParamUtils.getParameter(request, "destOtherJID"); if (destJID == null || !(destJID.length() > 0)) { destJID = ""; errors.put("destOther", ""); } rule.setDestination(destJID); rule.setDestType(Rule.SourceDestType.Other.toString()); } else if (destination.equals(Rule.SourceDestType.User.toString())) { destJID = ParamUtils.getParameter(request, "destUserJID"); rule.setDestination(destJID); rule.setDestType(Rule.SourceDestType.User.toString()); } else if (destination.equals(Rule.SourceDestType.Group.toString())) { destJID = ParamUtils.getParameter(request, "destGroupJID"); rule.setDestination(destJID); rule.setDestType(Rule.SourceDestType.Group.toString()); } else if (destination.equals(Rule.SourceDestType.Component.toString())) { destJID = ParamUtils.getParameter(request, "destComponentJID"); rule.setDestination(destJID); rule.setDestType(Rule.SourceDestType.Component.toString()); } rule.doLog(new Boolean(log).booleanValue()); rule.isDisabled(new Boolean(disable).booleanValue()); if (errors.size() == 0) { rule.setSource(rule.getSource().toLowerCase()); rule.setDestination(rule.getDestination().toLowerCase()); rm.addRule(rule); response.sendRedirect("pf-main.jsp"); } } }%><html><head> <title> <fmt:message key="pf.create.new.rule"/> </title> <meta name="pageID" content="packetFilter"/> <script language="JavaScript" type="text/javascript" src="scripts/packetfilter.js"></script></head><body><% if (!errors.isEmpty()) { %><div class="jive-error"> <table cellpadding="0" cellspacing="0" border="0"> <tbody> <tr> <td class="jive-icon"><img src="/images/error-16x16.gif" width="16" height="16" border="0"/></td> <td class="jive-icon-label"> <% if (errors.get("sourceOther") != null) { %> <fmt:message key="pf.error.sourceOther"/> <% } else if (errors.get("destOther") != null) { %> <fmt:message key="pf.error.destOther"/> <% } %> </td> </tr> </tbody> </table></div><br><% } %><form action="rule-form.jsp" method="get"><div class="jive-table"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tbody><tr class="jive-even"> <td>Action</td> <td> <select id="packetAction" name="packetAction" onChange="ShowExtraOptions('packetAction')"> <% Rule.Action[] actions = Rule.Action.values(); for (int i = 0; i < actions.length; i++) { String action = actions[i].toString(); %> <option value="<%=action%>" <%if (packetAction != null && packetAction.equals(action)) {%> selected<%}%> > <%=action%> </option> <%}%> </select> </td></tr><tr class="jive-odd"> <td>Disable</td> <td><input type="checkbox" name="disable" value="true" <%if (disable != null && disable.equals("true")){%> checked <%}%> ></td></tr><tr class="jive-even"> <td>Packet Type</td> <td> <select label="packetType" name="packetType"> <% Rule.PacketType[] packetTypes = Rule.PacketType.values(); for (int i = 0; i < packetTypes.length; i++) { %> <option value="<%=packetTypes[i].toString()%>" <%if (packetType != null && packetType.equals(packetTypes[i].toString())) {%> selected <%}%> > <%=packetTypes[i].getDisplayName()%> </option> <% } %> </select> </td></tr><tr class="jive-odd"> <td>From</td> <td> <select id="source" name="source" onChange="ShowSourceField('source')"> <% for (int i = 0; i < type.length; i++) { String option = type[i].toString();%> <option value="<%=option%>" <% if (source != null && source.equals(option)) { %> selected <%}%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -