Merge branch 'develop' of http://10.0.6.99/gwall/gwall.git into develop

This commit is contained in:
fangshunjian
2018-08-21 10:47:23 +08:00
26 changed files with 316 additions and 222 deletions

View File

@@ -27,7 +27,14 @@ public class FunctionRegionDict extends BaseCfg<FunctionRegionDict> {
private String configPortPattern;
private String configDirection;
private String configProtocol;
private Integer configRegionSort;
public Integer getConfigRegionSort() {
return configRegionSort;
}
public void setConfigRegionSort(Integer configRegionSort) {
this.configRegionSort = configRegionSort;
}
public String getConfigIpPortShow() {
return configIpPortShow;
}

View File

@@ -16,12 +16,12 @@ public class FunctionServiceDict extends BaseCfg<FunctionServiceDict> {
private String serviceName;
private String serviceDesc;
private String actionCode;
private Integer regionCode;
private String regionCode;
public Integer getRegionCode() {
public String getRegionCode() {
return regionCode;
}
public void setRegionCode(Integer regionCode) {
public void setRegionCode(String regionCode) {
this.regionCode = regionCode;
}
public Integer getDictId() {

View File

@@ -11,7 +11,7 @@ public final class Constants {
/**
* MaatConfig 默认值
*/
public static Integer MAAT_CFG_DOLOG_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_default", 1);
public static Integer MAAT_CFG_DOLOG_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_default", 2);
public static Integer MAAT_CFG_DOLOG_DOBLACKLIST_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_doblacklist_default", 1);
public static Integer MAAT_CFG_DOLOG_CONFIGPERCENT_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_configpercent_default", 100);
public static Integer MAAT_CFG_DOLOG_CONFIGOPTION_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_configoption_default", 1);

View File

@@ -22,12 +22,13 @@
<result column="config_port_pattern" property="configPortPattern" jdbcType="VARCHAR" />
<result column="config_direction" property="configDirection" jdbcType="VARCHAR" />
<result column="config_protocol" property="configProtocol" jdbcType="VARCHAR" />
<result column="config_region_sort" property="configRegionSort" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
dict_id, function_id, config_region_value,config_region_code, config_district, config_desc, is_valid,is_maat,region_type
,config_multi_keywords,config_hex,config_expr_type,config_match_method,config_service_type,config_ip_port_show,config_ip_type,
config_ip_pattern,config_port_pattern,config_direction,config_protocol
config_ip_pattern,config_port_pattern,config_direction,config_protocol,config_region_sort
</sql>
<select id="getList" resultMap="BaseResultMap" >
select
@@ -43,7 +44,10 @@
<if test="configRegionCode != null">
AND config_region_code=#{configRegionCode,jdbcType=VARCHAR}
</if>
order by dict_id,config_region_code
<if test="configRegionSort != null">
AND config_region_sort=#{configRegionSort,jdbcType=VARCHAR}
</if>
order by dict_id,config_region_sort
</select>
</mapper>

View File

@@ -11,7 +11,7 @@
<result column="service_name" property="serviceName" jdbcType="VARCHAR" />
<result column="service_desc" property="serviceDesc" jdbcType="VARCHAR" />
<result column="is_valid" property="isValid" jdbcType="INTEGER" />
<result column="region_code" property="regionCode" jdbcType="INTEGER" />
<result column="region_code" property="regionCode" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >

View File

@@ -450,7 +450,7 @@ ipv6_default_ip_range_value=::-::
port_default=0
port_mask_default=0/65535
#MAAT CFG \u4e00\u4e9b\u9ed8\u8ba4\u503c
maat_cfg_dolog_default=1
maat_cfg_dolog_default=2
maat_cfg_dolog_doblacklist_default=1
maat_cfg_dolog_configpercent_default=100
maat_cfg_dolog_configoption_default=1

View File

@@ -3,5 +3,5 @@ ALTER TABLE function_region_dict ADD config_ip_type VARCHAR(20) NULL COMMENT 'ip
ALTER TABLE function_region_dict ADD config_ip_pattern VARCHAR(10) NULL COMMENT 'ip的格式 1:ip掩码;2:IP范围;3:IP;使用逗号分隔';
ALTER TABLE function_region_dict ADD config_port_pattern VARCHAR(10) NULL COMMENT '端口的格式1:port;2:port_mask;使用逗号分隔';
ALTER TABLE function_region_dict ADD config_direction VARCHAR(10) NULL COMMENT 'IP方向0,双向;1,单向.使用逗号分隔';
ALTER TABLE function_service_dict ADD region_code INT(11) NULL COMMENT 'function_region_dict 表中的config_region_code字段值';
ALTER TABLE function_service_dict ADD region_code VARCHAR(20) NULL COMMENT 'function_region_dict 表中的config_region_code字段值';
ALTER TABLE function_region_dict ADD config_protocol VARCHAR(20) NULL COMMENT '协议 0:任意;6:TCP;17:UDP;1:ICMP;50:ESP;51:AH';

View File

@@ -0,0 +1,8 @@
ALTER TABLE function_region_dict ADD config_region_sort INT(11) COMMENT 'region排序';
UPDATE function_region_dict SET config_region_sort=1 WHERE config_region_code=1;
UPDATE function_region_dict SET config_region_sort=2 WHERE config_region_code=2;
UPDATE function_region_dict SET config_region_sort=3 WHERE config_region_code=3;
UPDATE function_region_dict SET config_region_sort=4 WHERE config_region_code=4;
UPDATE function_region_dict SET config_region_sort=5 WHERE config_region_code=5;
UPDATE function_region_dict SET config_region_sort=6 WHERE config_region_code=6;
UPDATE function_region_dict SET config_region_sort=7 WHERE config_region_code=7;

View File

@@ -0,0 +1,12 @@
UPDATE sys_data_dictionary_name SET REMARK='ddos 攻击类型' WHERE mark='ATTACK_TYPE';
DELETE FROM sys_data_dictionary_item WHERE dictionary_id=99;
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200594,'ICMP_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200595,'IPFRAG_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200596,'SYN_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200597,'ACK_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200598,'RST_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200599,'DNS_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200600,'NTP_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200601,'UDP_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200602,'HTTP_Flood','',0,1,1,99);
INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200603,'SSDP_Flood','',0,1,1,99);

View File

@@ -11,7 +11,54 @@ UPDATE function_service_dict SET region_code=1 WHERE function_id=300 AND ACTION
UPDATE function_region_dict SET config_service_type='ipmulitiplex',config_ip_port_show='1' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=68;
#IP拦截
UPDATE function_service_dict SET region_code=1 WHERE function_id=200 AND ACTION IN(1,128,64,80);
UPDATE function_region_dict SET config_service_type='ratelimit',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=53;
UPDATE function_region_dict SET config_service_type='ratelimit',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=53;
#音视频IP
UPDATE function_service_dict SET region_code=2 WHERE function_id=20 AND ACTION IN(1,16);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=17;
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=17;
#图片IP
UPDATE function_service_dict SET region_code=1 WHERE function_id=21 AND ACTION IN(1,16);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=24;
#APP IP
UPDATE function_service_dict SET region_code=1 WHERE function_id=405 AND ACTION IN(1);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0,6,17' WHERE dict_id=62;
#IP白名单
UPDATE function_service_dict SET region_code=1 WHERE function_id=3 AND ACTION IN(128);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0,6,17' WHERE dict_id=7;
#http ip
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=8 AND ACTION IN(16,1);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=14;
#ssl ip
UPDATE function_service_dict SET region_code='1,2,3,4' WHERE function_id=34 AND ACTION IN(16,1);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=23;
# mail ip
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=35 AND ACTION IN(16,1);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=33;
# ddos ip
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=301 AND ACTION IN(32);
UPDATE function_region_dict SET config_ip_port_show='2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=74;
# ftp ip
UPDATE function_service_dict SET region_code='1,2,3' WHERE function_id=51 AND ACTION IN(1,16);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=38;
# pxy control
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=207 AND ACTION IN(16);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=84;
#pxy redirect
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=208 AND ACTION IN(48);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=90;
#pxy replace
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=209 AND ACTION IN(80);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=96;
#pxy monit
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=210 AND ACTION IN(1);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=105;
#pxy whitelist
UPDATE function_service_dict SET region_code='1,2,3' WHERE function_id=211 AND ACTION IN(128);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=101;
#voip ip
UPDATE function_service_dict SET region_code='1,2' WHERE function_id=24 AND ACTION IN(1,16);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=8;

View File

@@ -5,12 +5,7 @@
<title><spring:message code="${cfgName}"></spring:message></title>
<script type="text/javascript">
$(function(){
$("#cancel").on("click",function(){
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
});
initCommIpVal();
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#cfgFrom").validate({
errorPlacement: function(error,element){
@@ -59,7 +54,16 @@ $(function(){
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}">
<input type="hidden" name="cfgRegionCode"isMaat="${region.isMaat}"
serviceType="${region.configServiceType}"
ipPortShow="${region.configIpPortShow}"
ipType="${region.configIpType}"
ipPattern="${region.configIpPattern}"
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:if>
</c:forEach>
<div class="form-body">
@@ -189,6 +193,7 @@ $(function(){
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode}"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -61,6 +61,7 @@ $(function(){
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:if>
</c:forEach>

View File

@@ -5,13 +5,7 @@
<title><spring:message code="${cfgName}"></spring:message></title>
<script type="text/javascript">
$(function(){
$("#cancel").on("click",function(){
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
initCommIpVal();
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
$("#cfgFrom").validate({
@@ -56,8 +50,19 @@ $(function(){
<!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}">
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType}">
<input type="hidden" id="cfgType${region.configRegionCode}" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" id="cfgRegionCode${region.configRegionCode}"
isMaat="${region.isMaat}"
serviceType="${region.configServiceType}"
ipPortShow="${region.configIpPortShow}"
ipType="${region.configIpType}"
ipPattern="${region.configIpPattern}"
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:if>
</c:forEach>
<div class="form-body">
@@ -82,6 +87,7 @@ $(function(){
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -196,10 +196,8 @@
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
<!-- 新增 -->
<c:if test="${empty _cfg.cfgId}">
<c:choose>
<c:when test="${dict.itemValue eq 'framework_log'}">
<c:when test="${dict.itemCode eq _cfg.doLog}">
<label class="radio-inline">
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
@@ -210,22 +208,6 @@
</label>
</c:otherwise>
</c:choose>
</c:if>
<!-- 修改 -->
<c:if test="${!empty _cfg.cfgId}">
<c:choose>
<c:when test="${dict.itemCode == _cfg.doLog}">
<label class="radio-inline">
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
</c:when>
<c:otherwise>
<label class="radio-inline">
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
</div>
</div>

View File

@@ -13,13 +13,14 @@
$(document)
.ready(
function() {
$("#cancel").on("click", function() {
initCommIpVal();
/* $("#cancel").on("click", function() {
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
}); */
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
$("#cfgFrom").validate(
@@ -175,6 +176,7 @@
<label class="radio-inline"> <c:if test="${_cfg.functionId eq service.functionId}">
<input type="radio" name="action" serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
@@ -197,10 +199,8 @@
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
<!-- 新增 -->
<c:if test="${empty _cfg.cfgId}">
<c:choose>
<c:when test="${dict.itemValue eq 'framework_log'}">
<c:when test="${dict.itemCode eq _cfg.doLog}">
<label class="radio-inline">
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
@@ -211,22 +211,7 @@
</label>
</c:otherwise>
</c:choose>
</c:if>
<!-- 修改 -->
<c:if test="${!empty _cfg.cfgId}">
<c:choose>
<c:when test="${dict.itemCode == _cfg.doLog}">
<label class="radio-inline">
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
</c:when>
<c:otherwise>
<label class="radio-inline">
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
</div>
</div>

View File

@@ -82,6 +82,7 @@ $(function(){
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:forEach>
<div class="form-body">

View File

@@ -323,6 +323,11 @@
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<c:forEach items="${serviceList}" var="service">
<c:if test="${service.action==64}">
<c:set var="hasRatelimit" value="1"/>
</c:if>
</c:forEach>
<thead>
<tr>
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
@@ -351,7 +356,7 @@
<th exportColumn="group_name"><spring:message code="group"/></th>
<th exportColumn="ir_type"><spring:message code="ir_type"/></th>
</c:if>
<c:if test="${specialFunctionId ne null and specialFunctionId eq 'ipratelimit'}">
<c:if test="${hasRatelimit==1}">
<th exportColumn="ratelimit"><spring:message code="ratelimit"/></th>
</c:if>
<c:if test="${specialFunctionId ne null and specialFunctionId eq 'pxyIpControl'}">
@@ -444,9 +449,9 @@
</c:forEach>
</td>
</c:if>
<c:if test="${specialFunctionId ne null and specialFunctionId eq 'ipratelimit'}">
<c:if test="${hasRatelimit==1}">
<td>
<c:if test="${cfg.ratelimit eq null}">0%</c:if>
<c:if test="${cfg.ratelimit eq null and cfg.action==64}">0%</c:if>
<c:if test="${cfg.ratelimit ne null}">${cfg.ratelimit}%</c:if>
</td>
</c:if>

View File

@@ -5,13 +5,14 @@
<title><spring:message code="${cfgName}"></spring:message></title>
<script type="text/javascript">
$(function(){
$("#cancel").on("click",function(){
initCommIpVal();
/* $("#cancel").on("click",function(){
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
}); */
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
$("#cfgFrom").validate({
@@ -58,7 +59,17 @@ $(function(){
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}">
<input type="hidden" name="cfgRegionCode"
isMaat="${region.isMaat}"
serviceType="${region.configServiceType}"
ipPortShow="${region.configIpPortShow}"
ipType="${region.configIpType}"
ipPattern="${region.configIpPattern}"
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:if>
</c:forEach>
<div class="form-body">
@@ -83,6 +94,7 @@ $(function(){
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<spring:message code="${service.actionCode }" />

View File

@@ -13,13 +13,14 @@
$(document)
.ready(
function() {
$("#cancel").on("click", function() {
initCommIpVal();
/* $("#cancel").on("click", function() {
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
}); */
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
$("#cfgFrom").validate(
@@ -174,6 +175,7 @@
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -4,7 +4,6 @@
<head>
<title></title>
<script type="text/javascript">
</script>
</head>
<%-- <c:forEach items="${regionList}" var="regionDistrict">
@@ -12,7 +11,17 @@
test="${ipPort.functionId eq regionDistrict.functionId and regionDistrict.regionType eq 1}"> --%>
<!-- regionDistrict.regionType==1表示IP类配置 -->
<input type="hidden" name="${cfgName}.cfgType" value="${region.configRegionValue }">
<input type="hidden" name="${cfgName}.cfgRegionCode" value="${region.configRegionCode }">
<input type="hidden" name="${cfgName}.cfgRegionCode"
isMaat="${region.isMaat}"
serviceType="${region.configServiceType}"
ipPortShow="${region.configIpPortShow}"
ipType="${region.configIpType}"
ipPattern="${region.configIpPattern}"
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode }">
<%-- </c:if>
</c:forEach> --%>
<input type="hidden" name="${cfgName}.protocolId" id="protocolId" value="">

View File

@@ -13,13 +13,14 @@
$(document)
.ready(
function() {
$("#cancel").on("click", function() {
initCommIpVal();
/* $("#cancel").on("click", function() {
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
}); */
$("#fileInfo").on('click',function(){
$("#file").trigger("click");
});
@@ -180,6 +181,7 @@
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -13,13 +13,14 @@
$(document)
.ready(
function() {
$("#cancel").on("click", function() {
initCommIpVal();
/* $("#cancel").on("click", function() {
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
}); */
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
@@ -177,6 +178,7 @@
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -13,13 +13,14 @@
$(document)
.ready(
function() {
$("#cancel").on("click", function() {
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
initCommIpVal();
//$("#cancel").on("click", function() {
// window.history.back();
//});
//$(".action").on("change", function() {
// $("#serviceId").val($(this).attr("serviceId"));
// $("#protocolId").val($(this).attr("protocolId"));
//});
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
if($("#cfgId").val()!=""){
@@ -241,6 +242,7 @@
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -13,13 +13,14 @@
$(document)
.ready(
function() {
$("#cancel").on("click", function() {
initCommIpVal();
/* $("#cancel").on("click", function() {
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
});
}); */
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
$("#cfgFrom").validate(
@@ -174,6 +175,7 @@
<input type="radio" name="action"
serviceId="${service.serviceId }"
protocolId="${service.protocolId }"
regionCode="${service.regionCode }"
value="${service.action }" class="required action"
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -6,51 +6,7 @@
<script type="text/javascript">
$(function(){
switchIpInfo($("select[name$='ipType']"),"ipType");
$("input[name='isAreaEffective']").on('change',function(){
var val=$(this).val();
if(val==1){
$(".areaType").removeClass("hidden");
if($("input[name='areaType']:checked").val()==1){//areaISP
$("#areaIsp").removeClass("hidden");
}else if($("input[name='areaType']:checked").val()==0){//areaIp
$("#areaIp").removeClass("hidden");
}
}else{
$(".areaType").addClass("hidden");
$("#areaIp").addClass("hidden");
$("#areaIsp").addClass("hidden");
}
});
$("input[name='areaType']").on('change',function(){
var val=$(this).val();
if($(this).is(":visible")){
if(val==0){
$("#areaIp").removeClass("hidden");
$("#areaIsp").addClass("hidden");
}else{
$("#areaIsp").removeClass("hidden");
$("#areaIp").addClass("hidden");
}
}else{
$("#areaIsp").addClass("hidden");
$("#areaIp").addClass("hidden");
}
});
$("#cancel").on("click",function(){
window.history.back();
});
$("select[name$='ipType']").on("change",function(){
switchIpInfo(this,"ipType");
});
$("select[name$='ipPattern']").on("change",function(){
switchIpInfo(this,"ipPattern");
});
$("select[name$='portPattern']").on("change",function(){
switchIpInfo(this,"portPattern");
});
$(".action").on("change",function(){
$("#serviceId").val($(this).attr("serviceId"));
});
initCommIpVal();
$("#ipCfgFrom").validate({
errorPlacement: function(error,element){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
@@ -93,7 +49,8 @@ $(function(){
<input type="hidden" name="isAreaEffective" value="0">
<c:if test="${fn:length(serviceList)==1}">
<c:forEach items="${serviceList}" var="service">
<input type="hidden" name="action" value="${service.action }">
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType}">
<input type="hidden" name="action" protocolId="${service.protocolId}" regionCode="${service.regionCode}" value="${service.action }">
<input type="hidden" id="serviceId" name="serviceId" value="${service.serviceId}">
</c:forEach>
</c:if>
@@ -104,7 +61,16 @@ $(function(){
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}">
<input type="hidden" name="cfgRegionCode" isMaat="${region.isMaat}"
serviceType="${region.configServiceType}"
ipPortShow="${region.configIpPortShow}"
ipType="${region.configIpType}"
ipPattern="${region.configIpPattern}"
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:if>
</c:forEach>
<h3 class="form-section"><spring:message code="block_config"/></h3>

View File

@@ -362,52 +362,72 @@ $(function(){
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
var actionCode=$(this).val();
var regionCode=$(this).attr("regionCode");
if(!regionCode){
regionCode=$("input[name='action']").attr("regionCode");
}
if(regionCode){
$("[id^='cfgRegionCode']").each(function(){
if($(this).attr("id")==("cfgRegionCode"+regionCode)){
$(this).attr("name","cfgRegionCode");
}else{
$(this).removeAttr("name");
if(regionCode.indexOf(",")==-1){
$("#cfgRegionCode"+regionCode).attr("name","cfgRegionCode");
$("#cfgType"+regionCode).attr("name","cfgType");
$("[id^='cfgRegionCode']").each(function(){
if($(this).attr("id")==("cfgRegionCode"+regionCode)){
$(this).attr("name","cfgRegionCode");
}else{
$(this).removeAttr("name");
}
});
$("[id^='cfgType']").each(function(){
if($(this).attr("id")==("cfgType"+regionCode)){
$(this).attr("name","cfgType");
}else{
$(this).removeAttr("name");
}
});
}else{
var _region='';
var regionArr=regionCode.split(',');
$("input[name$='cfgRegionCode'][regionType='1']").each(function(){
for(var re in regionArr){
if($(this).val()==regionArr[re]){
serviceType=$(this).attr("serviceType");
_region=regionArr[re];
break;
}
}
});
if(_region!=''){
regionCode=_region;
}
});
$("[id^='cfgType']").each(function(){
if($(this).attr("id")==("cfgType"+regionCode)){
$(this).attr("name","cfgType");
}else{
$(this).removeAttr("name");
}
});
var ipPortShow=$("input[name='cfgRegionCode']").attr("ipPortShow"),
ipType=$("input[name='cfgRegionCode']").attr("ipType"),
ipPattern=$("input[name='cfgRegionCode']").attr("ipPattern"),
portPattern=$("input[name='cfgRegionCode']").attr("portPattern"),
direction=$("input[name='cfgRegionCode']").attr("direction"),
protocol=$("input[name='cfgRegionCode']").attr("protocol");
}
var ipPortShow=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPortShow"),
ipType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipType"),
ipPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPattern"),
portPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("portPattern"),
direction=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("direction"),
protocol=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("protocol"),
regionType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("regionType");
//ip端口处理
if(ipPortShow){
if(ipPortShow.indexOf('1')>-1){//展示源IP,端口
$("input[name='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='srcPort']").parents(".form-group").removeClass("hidden");
$("input[name$='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name$='srcPort']").parents(".form-group").removeClass("hidden");
}else{
$("input[name='srcIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='srcPort']").parents(".form-group").addClass("hidden");
$("input[name$='srcIpAddress']").parents(".form-group").addClass("hidden");
$("input[name$='srcPort']").parents(".form-group").addClass("hidden");
}
if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口
$("input[name='destIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='destPort']").parents(".form-group").removeClass("hidden");
$("input[name$='destIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name$='destPort']").parents(".form-group").removeClass("hidden");
}else{
$("input[name='destIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='destPort']").parents(".form-group").addClass("hidden");
$("input[name$='destIpAddress']").parents(".form-group").addClass("hidden");
$("input[name$='destPort']").parents(".form-group").addClass("hidden");
}
}
if(ipType){
var arr=ipType.split(',');
$("select[name='ipType'] option").each(function(){
$("select[name$='ipType'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -422,10 +442,11 @@ $(function(){
$(this).attr("disabled",true);
}
});
$("select[name$='ipType']").selectpicker("refresh");
}
if(ipPattern){
arr=ipPattern.split(',');
$("select[name='ipPattern'] option").each(function(){
$("select[name$='ipPattern'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -440,10 +461,11 @@ $(function(){
$(this).attr("disabled",true);
}
});
$("select[name$='ipPattern']").selectpicker("refresh");
}
if(portPattern){
arr=portPattern.split(',');
$("select[name='portPattern'] option").each(function(){
$("select[name$='portPattern'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -458,10 +480,11 @@ $(function(){
$(this).attr("disabled",true);
}
});
$("select[name$='portPattern']").selectpicker("refresh");
}
if(direction){
arr=direction.split(',');
$("select[name='direction'] option").each(function(){
$("select[name$='direction'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -476,11 +499,12 @@ $(function(){
$(this).attr("disabled",true);
}
});
$("select[name$='direction']").selectpicker("refresh");
}
if(protocol){
arr=protocol.split(',');
$("select[name='protocol'] option").each(function(){
$("select[name$='protocol'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -495,21 +519,19 @@ $(function(){
$(this).attr("disabled",true);
}
});
$("select[name$='protocol']").selectpicker("refresh");
}
//处理自定义字段
var serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType");
var serviceType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("serviceType");
if(serviceType){
if(serviceType.indexOf("ipaddr")>-1){
if($(this).val()==32){
$("select[name='protocol'] option").each(function(){
if($(this).attr("value")==1){
$(this).removeAttr("disabled");
}
});
$("select[name='protocol']").selectpicker("refresh");
$("select[name$='protocol'] option[value='1']").removeAttr("disabled")
}else{
$("select[name$='protocol'] option[value='1']").attr("disabled",true);
}
$("select[name$='protocol']").selectpicker("refresh");
}
if(serviceType.indexOf("ipmulitiplex")>-1){
$(".ipmulitiplex").removeClass("hidden");
@@ -526,7 +548,7 @@ $(function(){
$(".ratelimit").addClass("hidden");
}
if($(this).val()==0x20||$(this).val()==0x60){
$("input[name='isAreaEffective']").each(function(){
$("input[name$='isAreaEffective']").each(function(){
if($(this).val()==0){
$(this).click();
}
@@ -1362,35 +1384,55 @@ var validateInvisibleCharTag=function(){
return true;
}
var initCommIpVal=function(){
var regionCode,serviceType;
if($("input[name='action']:checked").length>0){
regionCode=$("input[name='action']:checked").attr("regionCode");
serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType");
var regionCode,serviceType,ipPortShow,ipType,
ipPattern,portPattern,direction,protocol,regionType;
if($("input[name$='action']:checked").length>0){
regionCode=$("input[name$='action']:checked").attr("regionCode");
}else{
regionCode=$("input[name='action']").attr("regionCode");
serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType");
regionCode=$("input[name$='action']").attr("regionCode");
}
if(regionCode){
if(regionCode.indexOf(",")==-1){
$("#cfgRegionCode"+regionCode).attr("name","cfgRegionCode");
$("#cfgType"+regionCode).attr("name","cfgType");
serviceType=$("input[name$='cfgRegionCode'][regionType='1'][value='"+regionCode+"']").attr("serviceType");
}else{
var _region='';
var regionArr=regionCode.split(',');
$("input[name$='cfgRegionCode'][regionType='1']").each(function(){
for(var re in regionArr){
if($(this).val()==regionArr[re]){
serviceType=$(this).attr("serviceType");
_region=regionArr[re];
break;
}
}
});
if(_region!=''){
regionCode=_region;
}
}
}
if(serviceType){
if(serviceType.indexOf("ipaddr")>-1&&$("input[name='action']:checked").val()==32){
$("select[name='protocol'] option").each(function(){
if(serviceType.indexOf("ipaddr")>-1&&$("input[name$='action']:checked").val()==32){
$("select[name$='protocol'] option").each(function(){
if($(this).attr("value")==1){
$(this).removeAttr("disabled");
}
});
$("select[name='protocol']").selectpicker("refresh");
$("select[name$='protocol']").selectpicker("refresh");
}
if(serviceType&&serviceType.indexOf("ipaddr")>-1&&$("input[name='action']").val()==32){
$("select[name='protocol'] option").each(function(){
if(serviceType&&serviceType.indexOf("ipaddr")>-1&&$("input[name$='action']").val()==32){
$("select[name$='protocol'] option").each(function(){
if($(this).attr("value")==1){
$(this).removeAttr("disabled");
}
});
$("select[name='protocol']").selectpicker("refresh");
$("select[name$='protocol']").selectpicker("refresh");
}
if(serviceType.indexOf("ipmulitiplex")>-1){
$(".ipmulitiplex").removeClass("hidden");
$("input[name='isAreaEffective']").each(function(){
$("input[name$='isAreaEffective']").each(function(){
if($(this).val()==0){
$(this).click();
}
@@ -1401,7 +1443,7 @@ var initCommIpVal=function(){
$(".ipmulitiplex").addClass("hidden");
}
if(serviceType.indexOf("ratelimit")>-1){
if($("input[name='action']").val()==64||$("input[name='action']:checked").val()==64){
if($("input[name$='action']").val()==64||$("input[name$='action']:checked").val()==64){
$(".ratelimit").removeClass("hidden");
}else{
$(".ratelimit").addClass("hidden");
@@ -1410,41 +1452,33 @@ var initCommIpVal=function(){
$(".ratelimit").addClass("hidden");
}
}
$("#cfgRegionCode"+regionCode).attr("name","cfgRegionCode");
$("#cfgType"+regionCode).attr("name","cfgType");
$("div[class^='region']").each(function(){
if(!$(this).hasClass("region"+regionCode)){
$(this).addClass("hidden");
$(this).find("input").removeAttr("name");
$(this).find("select").removeAttr("name");
}
})
var ipPortShow=$("input[name='cfgRegionCode']").attr("ipPortShow"),
ipType=$("input[name='cfgRegionCode']").attr("ipType"),
ipPattern=$("input[name='cfgRegionCode']").attr("ipPattern"),
portPattern=$("input[name='cfgRegionCode']").attr("portPattern"),
direction=$("input[name='cfgRegionCode']").attr("direction"),
protocol=$("input[name='cfgRegionCode']").attr("protocol");
ipPortShow=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPortShow"),
ipType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipType"),
ipPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPattern"),
portPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("portPattern"),
direction=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("direction"),
protocol=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("protocol"),
regionType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("regionType");
//ip端口处理
if(ipPortShow){
if(ipPortShow.indexOf('1')>-1){//展示源IP,端口
$("input[name='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='srcPort']").parents(".form-group").removeClass("hidden");
$("input[name$='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name$='srcPort']").parents(".form-group").removeClass("hidden");
}else{
$("input[name='srcIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='srcPort']").parents(".form-group").addClass("hidden");
$("input[name$='srcIpAddress']").parents(".form-group").addClass("hidden");
$("input[name$='srcPort']").parents(".form-group").addClass("hidden");
}
if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口
$("input[name='destIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='destPort']").parents(".form-group").removeClass("hidden");
$("input[name$='destIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name$='destPort']").parents(".form-group").removeClass("hidden");
}else{
$("input[name='destIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='destPort']").parents(".form-group").addClass("hidden");
$("input[name$='destIpAddress']").parents(".form-group").addClass("hidden");
$("input[name$='destPort']").parents(".form-group").addClass("hidden");
}
}
if(ipType){
var arr=ipType.split(',');
$("select[name='ipType'] option").each(function(){
$("select[name$='ipType'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -1462,7 +1496,7 @@ var initCommIpVal=function(){
}
if(ipPattern){
arr=ipPattern.split(',');
$("select[name='ipPattern'] option").each(function(){
$("select[name$='ipPattern'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -1480,7 +1514,7 @@ var initCommIpVal=function(){
}
if(portPattern){
arr=portPattern.split(',');
$("select[name='portPattern'] option").each(function(){
$("select[name$='portPattern'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -1498,7 +1532,7 @@ var initCommIpVal=function(){
}
if(direction){
arr=direction.split(',');
$("select[name='direction'] option").each(function(){
$("select[name$='direction'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
@@ -1516,7 +1550,7 @@ var initCommIpVal=function(){
}
if(protocol){
arr=protocol.split(',');
$("select[name='protocol'] option").each(function(){
$("select[name$='protocol'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){