Merge branch 'develop' of http://10.0.6.99/gwall/gwall.git into develop
This commit is contained in:
@@ -31,6 +31,7 @@ public class TagController extends BaseController {
|
||||
model.addAttribute("title", request.getParameter("title"));//根节点替换文本
|
||||
model.addAttribute("enableAddBtn", request.getParameter("enableAddBtn"));//节点是否可编辑
|
||||
model.addAttribute("userId", UserUtils.getUser().getId());//如果启用了addBtn,则使用userId判断是否是用户自己创建的,用户自己创建的节点可删除
|
||||
model.addAttribute("enableSearch", request.getParameter("enableSearch"));//是否允许搜索
|
||||
return "/sys/tagTreeselect";
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,6 @@ public class NtcDestIpReportController extends BaseController {
|
||||
}else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
|
||||
bean.setSearchBusinessType("4");
|
||||
}
|
||||
|
||||
// 调用服务接口...
|
||||
|
||||
bean.setPageSize(-1);
|
||||
@@ -70,6 +69,7 @@ public class NtcDestIpReportController extends BaseController {
|
||||
} catch (ParseException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
|
||||
}
|
||||
List<String> titles=this.getDateTitiles(bean);
|
||||
model.addAttribute("titles", titles);
|
||||
@@ -91,7 +91,11 @@ public class NtcDestIpReportController extends BaseController {
|
||||
trimStr=report.getDestCountry().trim()+Constants.REPORT_TRIM_CONNECTOR+
|
||||
report.getReportTime().substring(0,7);
|
||||
}
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
if(trimData.containsKey(trimStr)){
|
||||
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
|
||||
}else{
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
}
|
||||
|
||||
}
|
||||
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
@@ -115,7 +119,8 @@ public class NtcDestIpReportController extends BaseController {
|
||||
model.addAttribute("datas", showData);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
// List<Long> line= new ArrayList<Long>();
|
||||
|
||||
@@ -32,9 +32,7 @@ import net.sf.json.JsonConfig;
|
||||
public class NtcEntranceReportController extends BaseController {
|
||||
@RequestMapping("/ajaxNtcIspReport")
|
||||
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(bean.getFunctionId());
|
||||
|
||||
if(bean.getAction()!=null){
|
||||
for(FunctionServiceDict service:serviceList){
|
||||
if(service.getAction().intValue()==bean.getAction().intValue()){
|
||||
@@ -91,7 +89,11 @@ public class NtcEntranceReportController extends BaseController {
|
||||
trimStr=report.getEntranceId().intValue()+Constants.REPORT_TRIM_CONNECTOR+
|
||||
report.getReportTime().substring(0,7);
|
||||
}
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
if(trimData.containsKey(trimStr)){
|
||||
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
|
||||
}else{
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
}
|
||||
}
|
||||
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
for(Entry<String, Long> counrty:trimData.entrySet()){
|
||||
@@ -114,7 +116,8 @@ public class NtcEntranceReportController extends BaseController {
|
||||
model.addAttribute("datas", showData);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
// List<Long> line= new ArrayList<Long>();
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.nis.domain.report.NtcLwhhReport;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
|
||||
import net.sf.json.JSONArray;
|
||||
@@ -89,7 +90,11 @@ public class NtcLwhhReportController extends BaseController {
|
||||
trimStr=report.getLwhh().intValue()+Constants.REPORT_TRIM_CONNECTOR+
|
||||
report.getReportTime().substring(0,7);
|
||||
}
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
if(trimData.containsKey(trimStr)){
|
||||
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
|
||||
}else{
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
}
|
||||
}
|
||||
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
for(RequestInfo requestInfo:requestInfos){
|
||||
@@ -111,7 +116,8 @@ public class NtcLwhhReportController extends BaseController {
|
||||
model.addAttribute("datas", showData);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
// for(RequestInfo requestInfo:requestInfos){
|
||||
|
||||
@@ -122,7 +122,8 @@ public class NtcPzReportController extends BaseController{
|
||||
model.addAttribute("datas", getList(json));
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
return "/report/pz";
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ public class NtcServiceReportController extends BaseController {
|
||||
serviceId.append(bean.getServices());
|
||||
}else{
|
||||
for(int i=0;i<serviceList.size();i++){
|
||||
if(i==0){
|
||||
if(i==0){
|
||||
serviceId.append(serviceList.get(i).getServiceId().toString());
|
||||
}else{
|
||||
serviceId.append(","+serviceList.get(i).getServiceId().toString());
|
||||
@@ -67,12 +67,15 @@ public class NtcServiceReportController extends BaseController {
|
||||
}
|
||||
StringBuffer url=new StringBuffer(Constants.LOG_BASE_URL+Constants.NTC_SERVICE_REPORT);
|
||||
try {
|
||||
//bean.setSearchReportEndTime("2018-08-27 00:00:00");
|
||||
String json=ConfigServiceUtil.getReport(url.toString(), bean);
|
||||
List<NtcServiceReport> data=getList(json);
|
||||
Map<Integer, Long> dataMap=new HashMap<>();
|
||||
for(NtcServiceReport report:data){
|
||||
dataMap.put(report.getService(),report.getSum().longValue());
|
||||
if(dataMap.containsKey(report.getService())){
|
||||
dataMap.put(report.getService(), dataMap.get(report.getService())+report.getSum().longValue());
|
||||
}else{
|
||||
dataMap.put(report.getService(),report.getSum().longValue());
|
||||
}
|
||||
}
|
||||
for(Entry<Integer, Long> e:dataMap.entrySet()) {
|
||||
Map<String, Object> _data=new HashMap<>();
|
||||
@@ -82,7 +85,8 @@ public class NtcServiceReportController extends BaseController {
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
// if(bean.getAction()!=null){
|
||||
// data.put(bean.getAction().toString(), 66666666l);
|
||||
|
||||
@@ -127,7 +127,11 @@ public class NtcSrcipDomesticReportController extends BaseController {
|
||||
report.getSrcCity().trim()+Constants.REPORT_TRIM_CONNECTOR+
|
||||
report.getReportTime().substring(0,7);
|
||||
}
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
if(trimData.containsKey(trimStr)){
|
||||
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
|
||||
}else{
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
}
|
||||
}
|
||||
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
for(String key:trimData.keySet()){
|
||||
@@ -152,7 +156,8 @@ public class NtcSrcipDomesticReportController extends BaseController {
|
||||
model.addAttribute("datas", showData);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
// long total=0;
|
||||
|
||||
@@ -90,7 +90,11 @@ public class NtcTagReportController extends BaseController {
|
||||
trimStr=report.getTag().intValue()+Constants.REPORT_TRIM_CONNECTOR+
|
||||
report.getReportTime().substring(0,7);
|
||||
}
|
||||
if(trimData.containsKey(trimStr)){
|
||||
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
|
||||
}else{
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
}
|
||||
}
|
||||
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
for(ServiceDictInfo label:labels){
|
||||
@@ -112,7 +116,8 @@ public class NtcTagReportController extends BaseController {
|
||||
model.addAttribute("datas", showData);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
// for(ServiceDictInfo label:labels){
|
||||
|
||||
@@ -95,7 +95,11 @@ public class NtcXzReportController extends BaseController {
|
||||
trimStr=report.getAttrType().intValue()+Constants.REPORT_TRIM_CONNECTOR+
|
||||
report.getReportTime().substring(0,7);
|
||||
}
|
||||
if(trimData.containsKey(trimStr)){
|
||||
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
|
||||
}else{
|
||||
trimData.put(trimStr, report.getSum().longValue());
|
||||
}
|
||||
}
|
||||
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
for(ServiceDictInfo xz:xzs){
|
||||
@@ -117,7 +121,8 @@ public class NtcXzReportController extends BaseController {
|
||||
model.addAttribute("datas", showData);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, null);
|
||||
}
|
||||
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
|
||||
// for(ServiceDictInfo xz:xzs){
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.nis.web.controller.specific;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
@@ -73,6 +75,9 @@ public class SpecificServiceCfgController extends BaseController {
|
||||
searchType = "groupId";
|
||||
searchContent = specificServiceCfg.getGroupId().toString();
|
||||
}
|
||||
if(specificServiceCfg.getCfgType()==null){
|
||||
specificServiceCfg.setCfgType(1);
|
||||
}
|
||||
model.addAttribute("searchType", searchType);
|
||||
model.addAttribute("searchContent", searchContent);
|
||||
|
||||
@@ -163,7 +168,7 @@ public class SpecificServiceCfgController extends BaseController {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "save_failed");
|
||||
}
|
||||
return "redirect:" + adminPath + "/specific/specificServiceCfg/list";
|
||||
return "redirect:" + adminPath + "/specific/specificServiceCfg/list?cfgType="+specificServiceCfg.getCfgType();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -218,6 +223,16 @@ public class SpecificServiceCfgController extends BaseController {
|
||||
businessTypeList=DictUtils.getDictList("APP_BUSINESS_TYPE");
|
||||
}
|
||||
List<Map<String, Object>> businessList = Lists.newArrayList();
|
||||
//对业务分类进行排序
|
||||
Collections.sort(businessTypeList, new Comparator<SysDataDictionaryItem>() {
|
||||
@Override
|
||||
public int compare(SysDataDictionaryItem o1, SysDataDictionaryItem o2) {
|
||||
// TODO Auto-generated method stub
|
||||
Integer o1Code=new Integer(o1.getItemCode());
|
||||
Integer o2Code=new Integer(o2.getItemCode());
|
||||
return o2Code.compareTo(o1Code);
|
||||
}
|
||||
});
|
||||
for(SysDataDictionaryItem dict:businessTypeList) {
|
||||
Map<String, Object> map = Maps.newHashMap();
|
||||
map.put("id", "businessType"+dict.getItemCode());
|
||||
@@ -239,6 +254,7 @@ public class SpecificServiceCfgController extends BaseController {
|
||||
continue;
|
||||
}
|
||||
if(businessTypeList.size()>0) {
|
||||
boolean hasBusinessType=false;
|
||||
for(SysDataDictionaryItem business:businessTypeList) {
|
||||
if(String.valueOf(business.getItemCode()).equals(specificServiceCfg.getBusinessType())) {
|
||||
Map<String, Object> map = Maps.newHashMap();
|
||||
@@ -253,9 +269,24 @@ public class SpecificServiceCfgController extends BaseController {
|
||||
map.put("user",specificServiceCfg.getAddFlag());
|
||||
}
|
||||
mapList.add(map);
|
||||
hasBusinessType=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!hasBusinessType) {//没有对应的业务类别
|
||||
Map<String, Object> map = Maps.newHashMap();
|
||||
map.put("id", specificServiceCfg.getSpecServiceId());
|
||||
map.put("pId", specificServiceCfg.getParent().getSpecServiceId());
|
||||
map.put("name",specificServiceCfg.getSpecServiceName());
|
||||
map.put("serviceType",specificServiceCfg.getCfgType());
|
||||
map.put("serviceCode",specificServiceCfg.getSpecServiceCode());
|
||||
map.put("businessType",specificServiceCfg.getBusinessType());
|
||||
map.put("groupId",specificServiceCfg.getGroupId());
|
||||
if(specificServiceCfg.getAddFlag()!=null) {
|
||||
map.put("user",specificServiceCfg.getAddFlag());
|
||||
}
|
||||
mapList.add(map);
|
||||
}
|
||||
}else {
|
||||
Map<String, Object> map = Maps.newHashMap();
|
||||
map.put("id", specificServiceCfg.getSpecServiceId());
|
||||
|
||||
@@ -531,7 +531,7 @@ public class FileTransferCfgService extends CrudService<FileTransferCfgDao,CfgIn
|
||||
// 修改域配置审核状态
|
||||
if((entity.getNtcSubscribeIdCfgList() != null) && (entity.getNtcSubscribeIdCfgList().size() > 0)) {
|
||||
NtcSubscribeIdCfg cfg = new NtcSubscribeIdCfg();
|
||||
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId"});
|
||||
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId","cfgType"});
|
||||
stringCfgDao.updateSubscribeIdCfg(cfg);
|
||||
}
|
||||
|
||||
@@ -565,6 +565,12 @@ public class FileTransferCfgService extends CrudService<FileTransferCfgDao,CfgIn
|
||||
if(map.get("numRegionList")!=null){
|
||||
numRegionList.addAll(map.get("numRegionList"));
|
||||
}
|
||||
// 审核通过:添加各子域配置
|
||||
if((entity.getNtcSubscribeIdCfgList() != null) && (entity.getNtcSubscribeIdCfgList().size() > 0)) {
|
||||
Map<String,List> subIdMap = cfgConvert(strRegionList,entity.getNtcSubscribeIdCfgList(),2,entity,groupRelationList);
|
||||
groupRelationList=subIdMap.get("groupList");
|
||||
strRegionList=subIdMap.get("dstList");
|
||||
}
|
||||
|
||||
if(areaIpCfgList != null && areaIpCfgList.size() >0){
|
||||
Map<String,List> areaMap = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList);
|
||||
|
||||
@@ -1127,4 +1127,6 @@ limit_rate_type=\u9650\u901F\u65B9\u5F0F
|
||||
business_type=\u4E1A\u52A1\u5206\u7C7B
|
||||
topic=\u4E3B\u9898
|
||||
website_server=\u7F51\u7AD9
|
||||
domain_existed=\u57DF\u540D\u5DF2\u7ECF\u5B58\u5728
|
||||
domain_existed=\u57DF\u540D\u5DF2\u7ECF\u5B58\u5728
|
||||
app_ssl_cert_feature_monit=APP SSL\u8BC1\u4E66\u7279\u5F81\u76D1\u6D4B
|
||||
app_header_feature_monit=APP\u5C42\u5934\u7279\u5F81\u76D1\u6D4B
|
||||
@@ -27,6 +27,7 @@
|
||||
<%@ attribute name="checkedPS" type="java.lang.String" required="false" description="复选框选中时是否关联父子节点,ps关联父子,p关联父,s关联子,都不关联为空"%>
|
||||
<%@ attribute name="unCheckedPS" type="java.lang.String" required="false" description="复选框取消选中时是否关联父子节点,ps关联父子,p关联父,s关联子,都不关联为空"%>
|
||||
<%@ attribute name="enableAddBtn" type="java.lang.Boolean" required="false" description="节点是否可编辑"%>
|
||||
<%@ attribute name="enableSearch" type="java.lang.Boolean" required="false" description="是否开启节点搜索功能"%>
|
||||
<div class="input-group">
|
||||
<input id="${id}Id" name="${name}" class="${cssClass} singleClass" type="hidden" value="${value}" />
|
||||
<input id="${id}Name" name="${labelName}" ${allowInput?'':'readonly="readonly"'} type="text" value="<spring:message code='${empty value?"":labelValue}'/>" data-msg-required="${dataMsgRequired}" placeholder="${empty value?labelValue:value}"
|
||||
@@ -46,7 +47,7 @@
|
||||
return true;
|
||||
}
|
||||
// 正常打开
|
||||
top.$.jBox.open("iframe:${ctx}/tag/treeselect?url="+encodeURIComponent("${url}")+"&selectIds="+$("#${id}Id").val()+"&module=${module}&checked=${checked}&extId=${extId}&isAll=${isAll}&title=${title}&enableAddBtn=${enableAddBtn}", "<spring:message code='choose'/> <spring:message code='${title}'/>", 320, 420, {
|
||||
top.$.jBox.open("iframe:${ctx}/tag/treeselect?url="+encodeURIComponent("${url}")+"&selectIds="+$("#${id}Id").val()+"&module=${module}&checked=${checked}&extId=${extId}&isAll=${isAll}&title=${title}&enableAddBtn=${enableAddBtn}&enableSearch=${enableSearch}", "<spring:message code='choose'/> <spring:message code='${title}'/>", 320, 420, {
|
||||
ajaxData:{selectIds: $("#${id}Id").val()},buttons:{"<spring:message code='ok'/>":"ok", "<spring:message code='clear'/>":"clear","<spring:message code='close'/>":true}, submit:function(v, h, f){
|
||||
if (v == "ok"){
|
||||
var tree = h.find("iframe")[0].contentWindow.tree;//h.find("iframe").contents();
|
||||
|
||||
@@ -177,7 +177,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="basic_protocol"/></label>
|
||||
<div class="col-md-6">
|
||||
<sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}"
|
||||
labelName="parent.specServiceName"
|
||||
labelName="parent.specServiceName" notAllowSelectParent="true"
|
||||
labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}"
|
||||
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId="0"
|
||||
notAllowSelectRoot="true" cssClass="form-control required"/>
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
<div class="pull-left">
|
||||
<c:set var="spec_service_id"><spring:message code="basic_protocol"/></c:set>
|
||||
<sys:treeselect id="specServiceId" name="specServiceId" value="${cfg.specServiceId}"
|
||||
labelName="parent.specServiceName"
|
||||
labelName="parent.specServiceName" notAllowSelectParent="true" notAllowSelectRoot="true"
|
||||
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
|
||||
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
|
||||
cssClass="form-control input-small"/>
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
<div class="pull-left">
|
||||
<c:set var="spec_service_id"><spring:message code="encrypted_tunnel_behavior"/></c:set>
|
||||
<sys:treeselect id="specServiceId" name="specServiceId" value="${cfg.specServiceId}"
|
||||
labelName="parent.specServiceName"
|
||||
labelName="parent.specServiceName" notAllowSelectRoot="true"
|
||||
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
|
||||
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
|
||||
cssClass="form-control input-small"/>
|
||||
|
||||
@@ -56,9 +56,9 @@
|
||||
}); */
|
||||
if(flag){
|
||||
//将disable属性的元素删除
|
||||
/* $(".disabled").each(function(){
|
||||
$(".disabled").each(function(){
|
||||
$(this).remove();
|
||||
}); */
|
||||
});
|
||||
$("input[name$='exprType']").attr("disabled",false);
|
||||
/* if($("[name='behavCode']")&&$("[name='behavCode']").val()!=""){
|
||||
$("input[name$='exprType']").val(1);
|
||||
@@ -130,10 +130,10 @@
|
||||
<!-- 配置域类型 -->
|
||||
<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}">
|
||||
<c:if test="${region.configServiceType ne 'subscribe_id'}">
|
||||
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
|
||||
<input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}">
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<div class="form-body">
|
||||
|
||||
@@ -159,7 +159,8 @@ var ajaxReport=function(url,target){
|
||||
data:{
|
||||
"action":$('[name="action"]').val(),
|
||||
"reportType":$('[name="reportType"]').val(),
|
||||
"reportTime":$('[name="reportTime"]').val()
|
||||
"reportTime":$('[name="reportTime"]').val(),
|
||||
"functionId":$('[name="functionId"]').val()
|
||||
},
|
||||
dataType:"html",
|
||||
success:function(data){
|
||||
@@ -215,13 +216,26 @@ function customColumnClick(){
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="action">
|
||||
<c:forEach items="${serviceList}" var="service" varStatus="status">
|
||||
<c:if test="${service.functionId eq bean.functionId and action.itemCode eq service.action}">
|
||||
<div data-service="${service.serviceId}" class="service btn
|
||||
<c:if test="${status.index%2==0}">btn-primary</c:if>
|
||||
<c:if test="${status.index%2!=0}">btn-default</c:if>">
|
||||
<spring:message code="${action.itemValue}"/>
|
||||
<spring:message code="log_total"/>
|
||||
<span>0</span>
|
||||
</div>
|
||||
<c:if test="${service.serviceId ne 5}">
|
||||
<c:if test="${(service.action ne 128) && (service.action ne 32)}" >
|
||||
<div data-service="${service.serviceId}" class="service btn
|
||||
<c:if test="${status.index%2==0}">btn-primary</c:if>
|
||||
<c:if test="${status.index%2!=0}">btn-default</c:if>">
|
||||
<spring:message code="${action.itemValue}"/>
|
||||
<spring:message code="log_total"/>
|
||||
<span>0</span>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<c:if test="${service.serviceId eq 5}">
|
||||
<div data-service="${service.serviceId}" class="service btn
|
||||
<c:if test="${status.index%2==0}">btn-primary</c:if>
|
||||
<c:if test="${status.index%2!=0}">btn-default</c:if>">
|
||||
<spring:message code="${action.itemValue}"/>
|
||||
<spring:message code="log_total"/>
|
||||
<span>0</span>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
@@ -253,7 +267,14 @@ function customColumnClick(){
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="action" >
|
||||
<c:forEach items="${serviceList}" var="service" >
|
||||
<c:if test="${service.functionId eq bean.functionId and action.itemCode eq service.action}">
|
||||
<form:option value="${action.itemCode}" ><spring:message code="${action.itemValue}"/></form:option>
|
||||
<c:if test="${service.serviceId ne 5}">
|
||||
<c:if test="${(service.action ne 128) && (service.action ne 32)}" >
|
||||
<form:option value="${action.itemCode}" ><spring:message code="${action.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<c:if test="${service.serviceId eq 5}">
|
||||
<form:option value="${action.itemCode}" ><spring:message code="${action.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
<c:if test="${dict.itemCode==1}">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="app_business_type"/>:</label>
|
||||
<div class="col-md-4">
|
||||
<select id="businessType1" name="businessType" class="form-control required" data-live-search="true" data-live-search-placeholder="search">
|
||||
<select id="businessType1" name="businessType" class="selectpicker form-control required" data-live-search="true" data-live-search-placeholder="search">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${fns:getDictList('APP_BUSINESS_TYPE')}" var="dict">
|
||||
<option value="${dict.itemCode}"
|
||||
@@ -263,7 +263,7 @@
|
||||
<c:if test="${dict.itemCode==3}">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="basic_protocol_business_type"/>:</label>
|
||||
<div class="col-md-4">
|
||||
<select id="businessType3" name="businessType" class="form-control required" data-live-search="true" data-live-search-placeholder="search">
|
||||
<select id="businessType3" name="businessType" class="selectpicker form-control required" data-live-search="true" data-live-search-placeholder="search">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${fns:getDictList('APP_BUSINESS_TYPE')}" var="dict">
|
||||
<option value="${dict.itemCode}"
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<form:select path="cfgType" class="selectpicker select2 input-middle" >
|
||||
<form:option value=""><spring:message code='cfg_type'/></form:option>
|
||||
<%-- <form:option value=""><spring:message code='cfg_type'/></form:option> --%>
|
||||
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
|
||||
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}'/></form:option>
|
||||
</c:forEach>
|
||||
@@ -168,7 +168,16 @@
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<select id="seltype" class="selectpicker select2 input-middle" >
|
||||
<option value="specServiceName"><spring:message code="protocol_name"/></option>
|
||||
<c:if test="${specificServiceCfg.cfgType==1}">
|
||||
<option value="specServiceName"><spring:message code="app_name"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==3}">
|
||||
<option value="specServiceName"><spring:message code="protocol_name"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==2}">
|
||||
<option value="specServiceName"><spring:message code="tunnel_name"/>
|
||||
</c:if>
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='input_protocol_name'/>" type="text" onchange="casec()" maxlength="60">
|
||||
@@ -270,9 +279,39 @@
|
||||
<th><input type="checkbox" class="ckboxs" id="selAll" onclick="selectAll()"></th>
|
||||
<!-- <th>序号</th> -->
|
||||
<th><spring:message code="business_type"/></th>
|
||||
<th><spring:message code="protocol_code"/></th>
|
||||
<th><spring:message code="protocol_name"/></th>
|
||||
<th><spring:message code="protocol_desc"/></th>
|
||||
<th>
|
||||
<c:if test="${specificServiceCfg.cfgType==1}">
|
||||
<spring:message code="app_code"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==2}">
|
||||
<spring:message code="tunnel_code"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==3}">
|
||||
<spring:message code="protocol_code"/>
|
||||
</c:if>
|
||||
</th>
|
||||
<th>
|
||||
<c:if test="${specificServiceCfg.cfgType==1}">
|
||||
<spring:message code="app_name"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==2}">
|
||||
<spring:message code="tunnel_name"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==3}">
|
||||
<spring:message code="protocol_name"/>
|
||||
</c:if>
|
||||
</th>
|
||||
<th>
|
||||
<c:if test="${specificServiceCfg.cfgType==1}">
|
||||
<spring:message code="app_desc"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==2}">
|
||||
<spring:message code="tunnel_desc"/>
|
||||
</c:if>
|
||||
<c:if test="${specificServiceCfg.cfgType==3}">
|
||||
<spring:message code="protoco_desc"/>
|
||||
</c:if>
|
||||
</th>
|
||||
<%-- <th><spring:message code="group_id"/></th> --%>
|
||||
<th><spring:message code="is_leaf"/></th>
|
||||
<th><spring:message code="cfg_type"/></th>
|
||||
|
||||
@@ -91,6 +91,14 @@
|
||||
var nodes = tree.getNodesByParam("level", 1);
|
||||
for(var i=0; i<nodes.length; i++) {
|
||||
tree.expandNode(nodes[i], true, false, false);
|
||||
var nodeId=nodes[i].id;
|
||||
//处理特定服务业务类型的图标
|
||||
if(typeof nodeId=='string'&&nodeId.indexOf("businessType")==0){
|
||||
if(!nodes[i].isParent){//强制改变没有子节点的特定服务业务类型为父节点,让其改变样式
|
||||
nodes[i].isParent=true;
|
||||
tree.updateNode(nodes[i],false);
|
||||
}
|
||||
}
|
||||
}
|
||||
nodes=tree.getNodesByParam("level", 0);
|
||||
for(var i=0; i<nodes.length; i++) {
|
||||
@@ -217,8 +225,8 @@
|
||||
|
||||
// 开始搜索
|
||||
function search() {
|
||||
$("#search").slideToggle(200);
|
||||
$("#txt").toggle();
|
||||
//$("#search").slideToggle(200);
|
||||
//$("#txt").toggle();
|
||||
$("#key").focus();
|
||||
}
|
||||
function beforeEditName(treeId, treeNode) {
|
||||
@@ -362,10 +370,12 @@
|
||||
<div style="position:absolute;right:8px;top:5px;cursor:pointer;" onclick="search();">
|
||||
<i class="icon-search"></i><label id="txt">搜索</label>
|
||||
</div> -->
|
||||
<div id="search" class="form-search hide" style="padding:10px 0 0 13px;">
|
||||
<label for="key" class="control-label" style="padding:5px 5px 3px 0;">关键字:</label>
|
||||
<input type="text" class="empty" id="key" name="key" maxlength="50" style="width:110px;">
|
||||
<button class="btn" id="btn" onclick="searchNode()"> <i class="icon-search"></i> 搜索 </button>
|
||||
<c:if test="${enableSearch ne null and enableSearch==true}">
|
||||
<div id="search" class="form-search input-group" style="padding:10px 0 0 13px;">
|
||||
<label for="key" class="control-label" style="padding:5px 5px 3px 0;"><spring:message code="keywords"/>:</label>
|
||||
<input type="text" class="empty input-small" id="key" name="key" maxlength="50" style="width:170px;" placeholder="<spring:message code='search'/>...">
|
||||
<!-- <button class="btn" id="btn" onclick="searchNode()"> <i class="icon-search"></i> 搜索 </button> -->
|
||||
</div>
|
||||
</c:if>
|
||||
<div id="tree" class="ztree" style="padding:15px 20px;"></div>
|
||||
</body>
|
||||
@@ -215,7 +215,7 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
|
||||
var ipv4_ip_subnet_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\/(3[0-2]|[1-2][0-9]|[0-9])$/;
|
||||
var ipv6_ip_subnet_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))\/(0|2|4|8|16|32|64|128)$/;
|
||||
var ipv4_ip_range_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)-(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/;
|
||||
var ipv6_ip_range_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;
|
||||
var ipv6_ip_range_regexp= /^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))\-((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;
|
||||
var ipv4_ip_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/;
|
||||
var ipv6_ip_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user