protect.js

来自「php 开发的内容管理系统」· JavaScript 代码 · 共 127 行

JS
127
字号
function protectInitialize(tableId, labelText) {	if (document.createTextNode) {		var box = document.getElementById(tableId);		if (!box)			return false;				var tbody = box.getElementsByTagName('tbody')[0];		var row = document.createElement('tr');		tbody.appendChild(row);				row.appendChild(document.createElement('td'));		var col2 = document.createElement('td');		row.appendChild(col2);				var check = document.createElement('input');		check.id = "mwProtectUnchained";		check.type = "checkbox";		check.onclick = protectChainUpdate;		col2.appendChild(check);				var label = document.createElement('label');		label.setAttribute("for", "mwProtectUnchained");		label.appendChild(document.createTextNode(labelText));		col2.appendChild(label);				if (protectAllMatch()) {			check.checked = false;			protectEnable(false);		} else {			check.checked = true;			protectEnable(true);		}				return true;	}	return false;}function protectLevelsUpdate(source) {	if (!protectUnchained()) {		protectUpdateAll(source.selectedIndex);	}}function protectChainUpdate() {	if (protectUnchained()) {		protectEnable(true);	} else {		protectChain();		protectEnable(false);	}}function protectAllMatch() {	var values = new Array();	protectForSelectors(function(set) {		values[values.length] = set.selectedIndex;	});	for (var i = 1; i < values.length; i++) {		if (values[i] != values[0]) {			return false;		}	}	return true;}function protectUnchained() {	var unchain = document.getElementById("mwProtectUnchained");	if (!unchain) {		alert("This shouldn't happen");		return false;	}	return unchain.checked;}function protectChain() {	// Find the highest-protected action and bump them all to this level	var maxIndex = -1;	protectForSelectors(function(set) {		if (set.selectedIndex > maxIndex) {			maxIndex = set.selectedIndex;		}	});	protectUpdateAll(maxIndex);}function protectUpdateAll(index) {	protectForSelectors(function(set) {		if (set.selectedIndex != index) {			set.selectedIndex = index;		}	});}function protectForSelectors(func) {	var selectors = protectSelectors();	for (var i = 0; i < selectors.length; i++) {		func(selectors[i]);	}}function protectSelectors() {	var all = document.getElementsByTagName("select");	var ours = new Array();	for (var i = 0; i < all.length; i++) {		var set = all[i];		if (set.id.match(/^mwProtect-level-/)) {			ours[ours.length] = set;		}	}	return ours;}function protectEnable(val) {	// fixme	var first = true;	protectForSelectors(function(set) {		if (first) {			first = false;		} else {			set.disabled = !val;			set.style.visible = val ? "visible" : "hidden";		}	});}

⌨️ 快捷键说明

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