📄 rule-edit-form.jsp
字号:
<%@ page import="org.jivesoftware.openfire.XMPPServer, org.jivesoftware.openfire.component.InternalComponentManager, org.jivesoftware.openfire.group.Group, 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="org.xmpp.packet.JID" %><%@ page import="java.util.Collection" %><%@ page import="java.util.HashMap" %><%@ page import="java.util.List" %><%@ page import="java.util.Map" %><%@ 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(); Collection<String> components = cList.getComponentDomains(); RuleManager rm = new RuleManagerProxy(); Rule rule = null; //Get Action boolean editSave = request.getParameter("editSave") != null; boolean edit = request.getParameter("edit") != null; boolean cancel = request.getParameter("cancel") != null; boolean isDestOther = false; boolean isDestGroup = false; boolean isDestUser = false; boolean isDestAny = false; boolean isDestComponent = false; boolean isSourceOther = false; boolean isSourceGroup = false; boolean isSourceUser = false; boolean isSourceAny = false; boolean isSourceComponent = false; //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"); Collection<String> userList = UserManager.getInstance().getUsernames(); String serverName = XMPPServer.getInstance().getServerInfo().getXMPPDomain(); Map<String, String> errors = new HashMap<String, String>(); String sourceJID = ""; String destJID = ""; if (cancel) { response.sendRedirect("pf-main.jsp"); return; } if (edit) { rule = rm.getRuleById(new Integer(request.getParameter("edit"))); disable = rule.isDisabled().toString(); packetType = rule.getPackeType().toString(); source = rule.getSource(); destination = rule.getDestination(); log = rule.doLog().toString(); description = rule.getDescription(); String destType = rule.getDestType(); String sourceType = rule.getSourceType(); destJID = destination; sourceJID = source; if (destType.equals(Rule.SourceDestType.Any.toString())) { isDestAny = true; } else if (destType.equals(Rule.SourceDestType.Group.toString())) { isDestGroup = true; } else if (destType.equals(Rule.SourceDestType.Component.toString())) { isDestComponent = true; } else if (destType.equals(Rule.SourceDestType.User.toString())) { isDestUser = true; } else if (destType.equals(Rule.SourceDestType.Other.toString())) { isDestOther = true; } if (sourceType.equals(Rule.SourceDestType.Any.toString())) { isSourceAny = true; } else if (sourceType.equals(Rule.SourceDestType.Group.toString())) { isSourceGroup = true; } else if (sourceType.equals(Rule.SourceDestType.Component.toString())) { isSourceComponent = true; } else if (sourceType.equals(Rule.SourceDestType.User.toString())) { isSourceUser = true; } else if (sourceType.equals(Rule.SourceDestType.Other.toString())) { isSourceOther = true; } } if (editSave) { //Destination simple case any if (destination.equals(Rule.SourceDestType.Any.toString())) isDestAny = true; else if (destination.equals(Rule.SourceDestType.Group.toString())) isDestGroup = true; else if (destination.equals(Rule.SourceDestType.User.toString())) isDestUser = true; else if (destination.equals(Rule.SourceDestType.Other.toString())) isDestOther = true; else if (destination.equals(Rule.SourceDestType.Component.toString())) isDestComponent = true; //Do the same thing as above for source. I'm repeating myself a little but //it will make things much easier to read. if (source.equals(Rule.SourceDestType.Any.toString())) isSourceAny = true; else if (source.equals(Rule.SourceDestType.Group.toString())) isSourceGroup = true; else if (source.equals(Rule.SourceDestType.User.toString())) isSourceUser = true; else if (source.equals(Rule.SourceDestType.Other.toString())) isSourceOther = true; else if (source.equals(Rule.SourceDestType.Component.toString())) isSourceComponent = true; 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 || !(sourceJID.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()); rule.setRuleId(request.getParameter("ruleId")); rule.setOrder(new Integer(order)); if (errors.isEmpty()) { rule.setSource(rule.getSource().toLowerCase()); rule.setDestination(rule.getDestination().toLowerCase()); rm.updateRule(rule); response.sendRedirect("pf-main.jsp"); } } }%><html><head> <title> <fmt:message key="pf.save.edit"/> </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-edit-form.jsp?editSave" method="get"><input type="hidden" name="ruleId" value="<%=rule.getRuleId()%>"><input type="hidden" name="order" value="<%=rule.getOrder()%>">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -