📄 manage_rights.jsp
字号:
<%@ page language="java" %><%@ page import="java.util.*" %><%@ page import="org.jahia.utils.JahiaTools" %><%@ taglib uri="JahiaLib" prefix="jahia" %><% HashMap engineMap = (HashMap)request.getAttribute("org.jahia.engines.EngineHashMap"); ArrayList aclEntries = (ArrayList)engineMap.get("aclEntries"); String selectUsrGrp = (String)engineMap.get("selectUsrGrp"); Integer inheritance = (Integer)engineMap.get("inheritance");%><!-- FIXME : The following javascript file path are hardcoded. --><script language="javascript" src="<jahia:serverHttpPath />/jsp/jahia/javascript/selectbox.js"></script><script language="javascript" src="<jahia:serverHttpPath />/jsp/jahia/javascript/checkbox.js"></script><!--#HELP# <script language="javascript" src="<jahia:serverHttpPath />/jsp/jahia/javascript/help.js"></script> --><script language="javascript">if (screen.availHeight <= 600) { window.moveTo(0,0); window.resizeTo(640, screen.availHeight);} else { window.resizeTo(640, 740);}</script><script language="javascript">// Selection box option value bit positionvar vAddedACL = 0;var vResetChildPerm = 1;var vRemACLEntry = 2;var vRightChange = 3;var vDefaultPerm = 8;var vDefaultInherit = 11;var vName = 12;var vNameSize = 10;var vKey = 23;var nbOfPerm = 4;// Selection box option text bit positionvar tPerm = 2;var tPermr = tPerm;var tPermw = tPerm + 1;var tPermA = tPerm + 2;var tInherit = 5;var tName = 14;var tNameSize = 10;var usrgrpname = new Array();var index = 0;// FIXME : This string is destinated to initialize the forst option of the select box.// Netscape 6.2 does not recognize these space sequence.var emptyText = "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20" + "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20" + "\x20\x20\x20\x20\x20";// Warning !! This variable has to be initialize to another formular if this// javascript file is used to another context !!!var formular = document.mainForm;function canSetPermissions(){ var i = formular.aclEntries.selectedIndex; var itemSelected = formular.aclEntries.options[i]; if (itemSelected.value == "null") { disableAllSettings(); return; } if (itemSelected.text.charAt(tInherit) == "*") { formular.adminPerm[0].disabled = true; formular.adminPerm[1].disabled = true; formular.writePerm[0].disabled = true; formular.writePerm[1].disabled = true; formular.readPerm[0].disabled = true; formular.readPerm[1].disabled = true; formular.cutRestInherit.checked = false; formular.cutRestInherit.disabled = false; formular.remACLEntry.disabled = true; } else { formular.adminPerm[0].disabled = false; formular.adminPerm[1].disabled = false; formular.writePerm[0].disabled = false; formular.writePerm[1].disabled = false formular.readPerm[0].disabled = false; formular.readPerm[1].disabled = false; formular.cutRestInherit.checked = true; if (itemSelected.value.charAt(vDefaultInherit) == "*") { formular.cutRestInherit.disabled = false; formular.remACLEntry.disabled = true; } else { formular.cutRestInherit.disabled = true; formular.remACLEntry.disabled = false; } } //if (itemSelected.value.charAt(vResetChildPerm) == "1") //formular.resetChild.checked = true; //else //formular.resetChild.checked = false; if (itemSelected.value.charAt(vRemACLEntry) == "1") { formular.remACLEntry.checked = true; //formular.resetChild.disabled = true; } else { formular.remACLEntry.checked = false; //formular.resetChild.disabled = false; } // bit #0(diff(bit #2(asc('A')), bit #2(asc('-')))) <==> {0, 1} var adA = formular.aclEntries[i].text.charCodeAt(tPermA) >> 2 & 1; formular.adminPerm[adA].checked = true; // bit #0(diff(bit #1(inv(asc('w'))), bit #1(asc('-')))) <==> {0, 1} var adw = ~formular.aclEntries[i].text.charCodeAt(tPermw) >> 1 & 1; formular.writePerm[adw].checked = true; // bit #0(diff(bit #0(asc('r')), bit #0(asc('-')))) <==> {0, 1} var adr = formular.aclEntries[i].text.charCodeAt(tPermr) & 1; formular.readPerm[adr].checked = true; unselectAllSelectBox(formular.aclEntries); formular.aclEntries.options[i].selected = true;}function disableAllSettings() { formular.adminPerm[0].disabled = true; formular.adminPerm[1].disabled = true; formular.writePerm[0].disabled = true; formular.writePerm[1].disabled = true; formular.readPerm[0].disabled = true; formular.readPerm[1].disabled = true; formular.adminPerm[1].checked = true; formular.writePerm[1].checked = true; formular.readPerm[1].checked = true; formular.cutRestInherit.disabled = true; formular.remACLEntry.disabled = true; //formular.resetChild.disabled = true;}function denyAdmin(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; option.text = option.text.substr(0, tPermA) + "-" + option.text.substr(tPermA + 1); option.value = option.value.substr(0, vRightChange) + "1" + option.value.substr(vRightChange + 1);}function allowAdmin(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; option.text = option.text.substr(0, tPermA) + "A" + option.text.substr(tPermA + 1); option.value = option.value.substr(0, vRightChange) + "1" + option.value.substr(vRightChange + 1); formular.readPerm[0].checked = true; allowRead(); // The following lines can be considered as default values. //formular.writePerm[0].checked = true; //allowWrite();}function denyWrite(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; option.text = option.text.substr(0, tPermw) + "-" + option.text.substr(tPermw + 1); option.value = option.value.substr(0, vRightChange) + "1" + option.value.substr(vRightChange + 1);}function allowWrite(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; option.text = option.text.substr(0, tPermw) + "w" + option.text.substr(tPermw + 1); option.value = option.value.substr(0, vRightChange) + "1" + option.value.substr(vRightChange + 1); formular.readPerm[0].checked = true; allowRead();}function denyRead(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; option.text = option.text.substr(0, tPermr) + "-" + option.text.substr(tPermr + 1); option.value = option.value.substr(0, vRightChange) + "1" + option.value.substr(vRightChange + 1); formular.adminPerm[1].checked = true; denyAdmin(); formular.writePerm[1].checked = true; denyWrite();}function allowRead(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; option.text = option.text.substr(0, tPermr) + "r" + option.text.substr(tPermr + 1); option.value = option.value.substr(0, vRightChange) + "1" + option.value.substr(vRightChange + 1);}function copyPermissions(option) { if (option.value.charAt(vDefaultInherit) == "*" && option.text.charAt(tInherit) == "*") { option.text = option.text.substr(0, tInherit) + "%" + option.text.substr(tInherit + 1); option.value = option.value.substr(0, vRightChange) + "1" + option.value.substr(vRightChange + 1); }}function dontCopyPermissions(option) { if (!(option.value.charAt(vDefaultInherit) == "*" && option.text.charAt(tInherit) == "*")) { option.text = option.text.substr(0, tPerm) + option.value.substr(vDefaultPerm, nbOfPerm) + option.text.substr(tInherit + 1); option.value = option.value.substr(0, vRightChange) + "0" + option.value.substr(vRightChange + 1); }}function cutRestoreInheritance() { var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; if (formular.cutRestInherit.checked) { copyPermissions(option); } else { dontCopyPermissions(option); } canSetPermissions();}function cutRestoreAllInheritance() { reverseDisabledCheckBox(formular.howCutAllInherit); if (formular.cutRestAllInherit.checked) { //formular.cutRestInherit.disabled = true; if (formular.howCutAllInherit[0].checked) { copyAllPermissions(); } } else { dontCopyAllPermissions(); //canSetPermissions(); } canSetPermissions();}function copyAllPermissions(){ var i; for (i = 0; i < formular.aclEntries.length; i++) { copyPermissions(formular.aclEntries.options[i]); } canSetPermissions();}function dontCopyAllPermissions(){ var i; for (i = 0; i < formular.aclEntries.length; i++) { dontCopyPermissions(formular.aclEntries.options[i]); } canSetPermissions();}function resetChildPermissions(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; if (option.value.charAt(vResetChildPerm) != "1") { option.value = option.value.substr(0, vResetChildPerm) + "1" + option.value.substr(vResetChildPerm + 1); } else { option.value = option.value.substr(0, vResetChildPerm) + "0" + option.value.substr(vResetChildPerm + 1); } canSetPermissions();}function removeACLEntry(){ var i = formular.aclEntries.selectedIndex; var option = formular.aclEntries.options[i]; if (option.value.charAt(vRemACLEntry) != "1") { if (option.value.charAt(vAddedACL) == "1") { formular.aclEntries.options[i] = null; if (formular.aclEntries.options[0] == null) { formular.aclEntries.options[0] = new Option(emptyText, "null"); } if (i == 0) i++; formular.aclEntries.options[i - 1].selected = true; } else { option.value = option.value.substr(0, vRemACLEntry) + "1" + option.value.substr(vRemACLEntry + 1); option.text = option.text.substr(0, tName) + "--REMOVE--" + option.text.substr(tName + tNameSize); //if (formular.resetChild.checked) // alert("Reset permissions on all childs is no more valid !"); } } else { option.value = option.value.substr(0, vRemACLEntry) + "0" + option.value.substr(vRemACLEntry + 1); option.text = option.text.substr(0, tName) + option.value.substr(vName, vNameSize) + option.text.substr(tName + tNameSize); } canSetPermissions();}function undoAll(){ var i; if (formular.aclEntries.options[0].value == "null") { return; } for (i = 0; i < formular.aclEntries.length; i++) { var value = formular.aclEntries.options[i].value; if (value.charAt(vAddedACL) == "1") { formular.aclEntries.options[i] = null; i--; if (formular.aclEntries.options[0] == null) { disableAllSettings(); formular.aclEntries.options[0] = new Option(emptyText, "null"); } } else { var text = formular.aclEntries.options[i].text; if (value.charAt(vRightChange) == "1") { value = value.substr(0, vRightChange) + "0" + value.substr(vRightChange + 1); } if (value.charAt(vResetChildPerm) == "1") { value = value.substr(0, vResetChildPerm) + "0" + value.substr(vResetChildPerm + 1); } if (value.charAt(vRemACLEntry) == "1") { value = value.substr(0, vRemACLEntry) + "0" + value.substr(vRemACLEntry + 1); text = text.substr(0, tName) + value.substr(vName, vNameSize) + text.substr(tName + tNameSize); } text = text.substr(0, tPerm) + value.substr(vDefaultPerm, nbOfPerm) + text.substr(tInherit + 1); formular.aclEntries.options[i].text = text; formular.aclEntries.options[i].value = value; } } var j = formular.aclEntries.selectedIndex; if (j < 0) return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -