⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bfilter.js

📁 Acorp firmware port for D-Link DSL-300T - root fs
💻 JS
字号:
<script language="JavaScript">
<? include ../html/js/jsl.js ?>
<? include ../html/js/error.js ?>

var NoofEntries=0;
var LastSelected=-1;
var Modified=0;

function uiDoOnLoad()
{
  var i;

  jslPostToViewCheckBox("uiViewBridgeFilterStatus","uiPostBridgeFilterState");	
  jslPostToViewCheckBox("uiViewBridgeFilterHiddenStatus","uiPostBridgeFilterHiddenState");	
  NoofEntries=<? multiquerycount <? query manager:status/$var:langrp/below ?>:settings/accesslist/array ?>;
  jslDoShowComboBox("uiViewBridgeFilterLANPort","uiPostBridgeFilterLANPort");
  if(Number(NoofEntries) >= 20) jslDisable("uiViewAdd"); 
  document.getElementById("uiEditSelectProtocol").selectedIndex=0;
  document.getElementById("uiEditSelectAccess").selectedIndex=0;
  switch(document.getElementById("uiPostBridgeFilterHiddenState").value) {
  		case "1":
			  	jslEnable("uiViewBridgeFilterLANPort");
				break;
		case "0":
		default:
			  	jslDisable("uiViewBridgeFilterLANPort");
				break;
  }
  jslDoShowComboBox("uiViewLanGrp","uiPostLanGrp");
}
function uiLoadEdit(index)
{
  jslSetValue("uiEditSelectSrcPort","uiPostSrcPort"+index);
  jslSetValue("uiEditSelectDstPort","uiPostDstPort"+index);
  jslSetValue("uiEditSrcMac","uiPostSrcMac"+index);
  jslSetValue("uiEditDstMac","uiPostDstMac"+index);
  jslSetValue("uiEditSelectAccess","uiPostAccess"+index);
  jslSetValue("uiEditSelectProtocol","uiPostProtocol"+index);
}
function uiBridgeFilterStatus()
{
  	jslViewToPostCheckBox("uiPostBridgeFilterState","uiViewBridgeFilterStatus");
	Modified=1;
}

function uiBridgeFilterHiddenStatus(value)
{
  	jslViewToPostCheckBox("uiPostBridgeFilterHiddenState","uiViewBridgeFilterHiddenStatus");
  	switch(value) {
  		case "on":
			  	jslEnable("uiViewBridgeFilterLANPort");
				break;
		case "off":
		default:
			  	jslDisable("uiViewBridgeFilterLANPort");
				break;
       }
	Modified=1;
}

function uiBridgeFilterLANPort()
{
	Modified=1;
}

function uiBridgeLAN(value)
{
	document.getElementById("uiPostLanGrp").value=value;
	document.getElementById("uiPostForm").method="GET";
       document.getElementById("uiPostPageName").value="bfilter";
       document.getElementById("uiPostForm").submit();
}

function uiMacFilterStatus(id)
{
  var context;

  context = document.getElementById(id);

  jslDoToggleRadio("uiViewMacFilterStatus",context.name,NoofEntries);

  document.getElementById("uiViewMacFilterDelete"+context.name).value="off";
  document.getElementById("uiViewMacFilterDelete"+context.name).src="<? echo $var:btnCheckBoxOff ?>";
  uiFilterDelete(document.getElementById("uiViewMacFilterDelete"+context.name));
  
  jslEnable("uiEditSrcMac","uiEditDstMac","uiEditSelectProtocol","uiEditSelectAccess");

  uiLoadEdit(context.name);
  if(context.value=="on") LastSelected=context.name;
	else LastSelected=-1;
}
function uiFilterDelete(context)
{
	if(context.value=="on") jslEnable("uiPostDelete"+context.name); 
	 else jslDisable("uiPostDelete"+context.name); 
	Modified=1;
}
function uiViewDeleteAll(context)
{
var i;
var Element;

      if(context.value=="on" ) {
	      for(i=0;i < NoofEntries; i++)		{
      			Element = document.getElementById("uiViewMacFilterDelete"+i);
      			Element.value="on";
      			Element.src="<? echo $var:btnCheckBoxOn ?>";
      			Element.disabled=true;
      			jslDisable("uiViewMacFilterStatus"+i);
		}
		jslDisable("uiEditSrcMac","uiEditDstMac","uiEditSelectProtocol","uiEditSelectAccess","uiViewAdd");
      		jslEnable("uiPostFlush");
      }
      else {
	      for(i=0;i < NoofEntries; i++)
		{
      			Element = document.getElementById("uiViewMacFilterDelete"+i);
      			Element.value="off";
      			Element.src="<? echo $var:btnCheckBoxOff ?>";
      			Element.disabled=false;
      			jslEnable("uiViewMacFilterStatus"+i);
		}
		jslEnable("uiEditSrcMac","uiEditDstMac","uiEditSelectProtocol","uiEditSelectAccess","uiViewAdd");
      		jslDisable("uiPostFlush");
      }      
	Modified=1;
}
function uiAdd()
{
var index;
var i;

	if(NoofEntries==0) index="0";
	else index=NoofEntries;

	if(document.getElementById("uiEditSrcMac").value.match("[^0-9a-fA-F_-]") != null) 	{ 
		alert("A mac address can only have characters 0 to 9 and A to F octet separated by -"); 
		return false;
	}
	if(document.getElementById("uiEditDstMac").value.match("[^0-9a-fA-F_-]") != null) 	{ 
		alert("A mac address can only have characters 0 to 9 and A to F octet separated by -"); 
		return false;
	}
	document.getElementById("uiPostAdd").value="entry"+index+'|'+document.getElementById("uiEditSelectAccess").value+'|'+document.getElementById("uiEditSelectDstPort").value+'|'+document.getElementById("uiEditSelectSrcPort").value+'|'+document.getElementById("uiEditDstMac").value+'|'+document.getElementById("uiEditSrcMac").value+'|'+document.getElementById("uiEditSelectProtocol").value;
	jslEnable("uiPostAdd");
	jslDisable("uiPostEdit");
       jslSetValue("uiPostBridgeFilterLANPort","uiViewBridgeFilterLANPort");
	document.getElementById("uiPostForm").submit();
}
function uiDoSave()
{
var index;
var PostElement;
var i;
	index = LastSelected;
	PostElement=document.getElementById("uiPostEdit");
	if(document.getElementById("uiEditSrcMac").value.match("[^0-9a-fA-F_-]") != null) 	{ 
		alert("A mac address can only have characters 0 to 9 and A to F octet separated by -"); 
		return false;
	}
	if(document.getElementById("uiEditDstMac").value.match("[^0-9a-fA-F_-]") != null) { 
		alert("A mac address can only have characters 0 to 9 and A to F octet separated by -"); 
		return false;
	}
	if(index!=-1) { // Edit case
			PostElement.value="entry"+index+'|'+document.getElementById("uiEditSelectAccess").value+'|'+document.getElementById("uiEditSelectDstPort").value+'|'+document.getElementById("uiEditSelectSrcPort").value+'|'+document.getElementById("uiEditDstMac").value+'|'+document.getElementById("uiEditSrcMac").value+'|'+document.getElementById("uiEditSelectProtocol").value;
			PostElement.name="<? query manager:status/$var:langrp/below ?>:settings/entry" + index;
	} else {
			for(i=0;i < NoofEntries;i++) if(document.getElementById("uiPostDelete"+i).disabled==false) break;
			if(i==NoofEntries) {
				if(NoofEntries!=0) {
					if(Modified==0) {
						alert("Select an entry to Edit or Add using Add button");
						return;
					}
				} else {
					if(Modified==0) {
						alert("Add a filter using Add button");
						return;
					}
				}					
			}
	}
	jslDisable("uiPostAdd");
       if(document.getElementById("uiPostFlush").disabled==true && index!=-1) jslEnable("uiPostEdit"); else jslDisable("uiPostEdit");

       jslSetValue("uiPostBridgeFilterLANPort","uiViewBridgeFilterLANPort");

	document.getElementById("uiPostForm").submit();
}
function uiDoCancel()
{
	  jslGoTo(null,"home");
}
</script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -