0) && (poss <= 1)) {
+ frac = poss;
+ }
+ }
+ } else if (iname == 'grad') {
+ if (inputElems[j].checked) {
+ grad = 1;
+ } else {
+ grad = 0;
+ }
+ }
+ }
+ }
+ if (svalue === '') {
+ svalue = total+':'+frac+':'+grad;
+ } else {
+ svalue += ','+total+':'+frac+':'+grad;
+ }
}
}
}
}
+function graceitem(current) {
+ var gweeks = 0;
+ var gdays = 0;
+ var ghours = 0;
+ var gmins = 0;
+ var gsecs = 0;
+ var gfrac = '';
+ var checktext = '';
+ var patternGrace = /^\d+:(0|1).?\d*:(0|1)$/;
+ if ((current != '') && (current != 'undefined') && (patternGrace.test(current))) {
+ var graceItems = new Array;
+ graceItems = current.split(':');
+ gsecs=graceItems[0];
+ gweeks=Math.floor(gsecs/604800);
+ gsecs -= gweeks*604800;
+ gdays=Math.floor(gsecs/86400);
+ gsecs -= gdays*86400;
+ ghours=Math.floor(gsecs/3600);
+ gsecs -= ghours*3600;
+ gmins=Math.floor(gsecs/60);
+ gsecs -= gmins*60;
+ gfrac = graceItems[1];
+ if (graceItems[2] == 1) {
+ checktext = ' checked="checked"';
+ }
+ }
+ return ''+
+ ''+
+ 'Remove
';
+}
+
+function addGrace() {
+ var frame = window.frames["choices"];
+ if (frame.document.getElementById('LC_string_grace_inner')) {
+ var innerDiv = frame.document.getElementById('LC_string_grace_inner');
+ var graceDiv = frame.document.createElement('div');
+ graceDiv.innerHTML = graceitem();
+ innerDiv.appendChild(graceDiv);
+ }
+ return;
+}
+
+function removeGrace(caller) {
+ var frame = window.frames["choices"];
+ if (frame.document.getElementById('LC_string_grace_inner')) {
+ var innerDiv = frame.document.getElementById('LC_string_grace_inner');
+ var divToRemove = caller.closest('div');
+ if (divToRemove) {
+ innerDiv.removeChild(divToRemove);
+ gracestringeval();
+ }
+ }
+ return;
+}
+
function radiostringeval(newval) {
svalue=newval;
draw();
@@ -634,7 +949,8 @@ function lenienteval(newval) {
}
var patternRelWeight = /^\-?[\d.]+$/;
var sform=choices.document.forms.sch;
- if ((sform.lenientrelwt.length != 'undefined') && (sform.lenientrelwt.length) != 'null') {
+ var relwtlength = sform.lenientrelwt.length;
+ if ((relwtlength != '') && (typeof(relwtlength) != 'undefined')) {
for (var i=0; i No
');
}
+ if (pscat=='tex') {
+ tablestart('TeX file display');
+ choicewrite('Value: | ');
+ choicewrite(' ');
+ choicewrite(' ');
+ }
if (pscat=='ip') {
var currallow = new Array;
var currdeny = new Array;
- if ((svalue != '') && (svalue != null)) {
+ if ((svalue != '') && (typeof(svalue) != 'undefined')) {
var patternComma = /,/;
var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/;
var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/;
@@ -1122,20 +1452,20 @@ function draw() {
}
var curripaccess = [currallow,currdeny];
tablestart('IP Number/Name');
- choicewrite(' |
Allow from | Deny from |
---|
');
+ choicewrite('
Allow from | Deny from |
---|
'+"\n");
var acctypes = ['allow','deny'];
for (var i=0; i'+
- ''+
- '
');
+ choicewrite(['
',
+ '',
+ ' ');
+ choicewrite([' '].join("\n"));
}
- choicewrite(' ');
+ choicewrite(''+"\n");
}
- choicewrite(' |
');
+ choicewrite(''+"\n");
}
if (pscat=='fileext') {
tablestart('Allowed File Extensions');
@@ -1180,13 +1510,17 @@ function draw() {
if (pscat=='deeplink') {
var deeplinkvals = new Array();
var linkprotectparts = new Array();
- var ltikeyRegExp = /^(ltic|ltid|key):(\w+)$/;
+ var ltikeyRegExp = /^(ltic:\d+|ltid:\d+|key:[a-zA-Z\d_.!@#$%^&*()+=-]+)$/;
+ var linkexitparts = new Array();
+ var dlinkexitRegExp = /^(yes|url|no)(|:[^:,;'"]+)$/;
var dlinkkeysty = 'hidden';
var dlinkkeyval = '';
var dlinklticdivsty = 'none';
var dlinkltiddivsty = 'none';
var dlinkmenusdivsty = 'none';
- if ((svalue != '') && (svalue != null)) {
+ var dlinkexitdivsty = 'none';
+ var dlinkexittextval = '';
+ if ((svalue != '') && (typeof(svalue) != 'undefined')) {
deeplinkvals = svalue.split(',');
if (ltikeyRegExp.test(deeplinkvals[4])) {
linkprotectparts = deeplinkvals[4].split(':');
@@ -1203,8 +1537,20 @@ function draw() {
if (deeplinkvals[5] >= 1) {
dlinkmenusdivsty = 'inline-block';
}
+ if (dlinkexitRegExp.test(deeplinkvals[7])) {
+ linkexitparts = deeplinkvals[7].split(':');
+ deeplinkvals[7] = linkexitparts[0];
+ if (deeplinkvals[7] != 'no') {
+ dlinkexitdivsty = 'inline-block';
+ if (!linkexitparts[1]) {
+ dlinkexittextval = 'Exit Tool';
+ } else {
+ dlinkexittextval = linkexitparts[1];
+ }
+ }
+ }
} else {
- deeplinkvals = ['off','unhide','full','res','','0'];
+ deeplinkvals = ['off','unhide','full','res','','0','_self','no'];
}
var deeplinkstate = new Array();
deeplinkstate = ['only','off','both'];
@@ -1224,6 +1570,11 @@ function draw() {
deeplinkscopetxt = ['resource only','enclosing map/folder','recursive map/folder'];
var deeplinkprotect = new Array();
deeplinkprotect = ['none','key','ltic','ltid'];
+ var deeplinktarget = new Array();
+ deeplinktarget = ['_self','_top'];
+ var deeplinktargettxt = new Array();
+ deeplinktargettxt = ['Embedded','Not embedded'];
+ var deeplinkexit = ['yes','url','no'];
tablestart('Deep-linked items');
choicewrite('Access status? | ');
choicewrite(' ');
}
+ choicewrite(' |
');
+ choicewrite('Embedded? | ');
+ choicewrite('');
+ choicewrite(' |
');
+ choicewrite('Exit Button? | ');
+ choicewrite(' ');
+ choicewrite(' ');
+ choicewrite(' ');
+ choicewrite('');
+ choicewrite(' Button text: ');
+ choicewrite('');
+ choicewrite(' ');
choicewrite(' |
');
}
+ if (pscat=='grace') {
+ tablestart('Grace period after due date');
+ choicewrite(''+
+ ''+
+ ' ');
+ if ((svalue != '') && (typeof(svalue) != 'undefined')) {
+ var patternComma = /,/;
+ var patternGrace = /^\d+:(0|1).?\d*:(0|1)$/;
+ var current = new Array;
+ if (patternComma.test(svalue)) {
+ current = svalue.split(',');
+ } else {
+ current = [svalue];
+ }
+ for (var i=0; i');
+ choicewrite(graceitem(current[i]));
+ choicewrite(' ');
+ }
+ }
+ } else {
+ choicewrite(' ');
+ choicewrite(graceitem());
+ choicewrite(' ');
+ }
+ choicewrite(' ');
+ choicewrite(' |
');
+ }
}
if (ptype=='color') {
@@ -1734,6 +2146,8 @@ function init() {
else if (pscat == 'fileext') { sopt('fileext','File Extension'); }
else if (pscat == 'useslots') { sopt('useslots','Slots control access'); }
else if (pscat == 'deeplink') { sopt('deeplink','Deep-linked items'); }
+ else if (pscat == 'tex') { sopt('texdisplay','TeX File Display'); }
+ else if (pscat == 'grace') { sopt('grace','Grace period'); }
else { pscat = 'any'; }
if (pscat != 'deeplink') { sopt('any','String Value'); }
}
@@ -1768,6 +2182,8 @@ function init() {
selwrite('