X"; }
choicewrite(''+selection+' | ');
-
-}
+}
function draw() {
choicestart();
@@ -390,7 +923,13 @@ function draw() {
choicewrite(' action="javascript:floateval();"');
}
if (ptype=='string') {
- choicewrite(' action="javascript:stringeval();"');
+ if (pscat == 'ip') {
+ choicewrite(' action="javascript:ipstringeval();"');
+ } else if (pscat == 'grace') {
+ choicewrite(' action="javascript:gracestringeval();"');
+ } else {
+ choicewrite(' action="javascript:stringeval();"');
+ }
}
if (ptype != 'int' && ptype != 'float' && ptype != 'string') {
choicewrite(' action=""');
@@ -477,6 +1016,15 @@ function draw() {
tablestart('Date and time');
}
if (pscat=='interval') {
+ var proctorkeytype = 'hidden';
+ var donebuttontext = 'none';
+ if (pmodval == '_done_proctor') {
+ proctorkeytype = 'text';
+ donebuttontext = 'block';
+ }
+ if (pmodval == '_done') {
+ donebuttontext = 'block';
+ }
tablestart('Time interval');
choicewrite( [
''+intervaldis()+' |
',
@@ -489,7 +1037,33 @@ function draw() {
'',
'
',
].join("\n"));
- } else {
+ tablestart('Provide a "Done" button to students?');
+ choicewrite('Value: | ');
+ choicewrite(' ');
+ choicewrite(' ');
+ choicewrite(''+
+ '');
+ choicewrite(' '+
+ ''+
+ ' '+
+ 'Button text:'+
+ ' ');
+ choicewrite(' |
');
+ } else {
choicewrite(''
+cdate.toString()+
' |
Date: | ');
@@ -551,7 +1125,7 @@ function draw() {
if (ptype=='float') {
if (pscat=='default') {
tablestart('Default value or none');
- choicewrite('');
+ choicewrite('');
} else {
if (pscat=='pos') {
tablestart('Positive floating point number or zero');
@@ -639,7 +1213,7 @@ function draw() {
choicewrite(' ');
+ choicewrite(' /> Bubblesheet Exam ');
// choicewrite(' ');
}
if (pscat=='lenient') {
+ var patternLenientStd = /^(yes|no|default)$/;
+ var patternLenientRel = /^([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)$/;
+ var lenientweighted = 'none';
+ var relatives = new Array;
tablestart('Lenient Grading (Partial Credit)');
choicewrite(' |
Value: | ');
choicewrite(' ');
choicewrite(' ');
choicewrite(' ');
+ choicewrite('
'+
+ '');
}
if (pscat=='discussvote') {
tablestart('Discussion Voting');
@@ -705,11 +1309,64 @@ function draw() {
if (svalue=='no') { choicewrite(' checked="checked"'); }
choicewrite(' /> No ');
}
+ if (pscat=='tex') {
+ tablestart('TeX file display');
+ choicewrite(' |
Value: | ');
+ choicewrite(' ');
+ choicewrite(' ');
+ }
if (pscat=='ip') {
- tablestart('IP Number/Name');
- choicewrite(' |
Value: | ');
- choicewrite('');
+ var currallow = new Array;
+ var currdeny = new Array;
+ if ((svalue != '') && (typeof(svalue) != 'undefined')) {
+ var patternComma = /,/;
+ var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/;
+ var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/;
+ var current = new Array;
+ if (patternComma.test(svalue)) {
+ current = svalue.split(',');
+ } else {
+ current = [svalue];
+ }
+ for (var i=0; iAllow from | Deny from | |
'+"\n");
+ var acctypes = ['allow','deny'];
+ for (var i=0; i',
+ '',
+ '
'].join("\n"));
+ }
+ choicewrite('
'+"\n");
+ }
+ choicewrite('
'+"\n");
}
if (pscat=='fileext') {
tablestart('Allowed File Extensions');
@@ -749,10 +1406,321 @@ function draw() {
' type="radio" '+callradiostringeval('map_map'));
if (svalue=='map_map') { choicewrite(' checked="checked"'); }
choicewrite(' /> Yes, and the scope of the slot is the enclosing map/folder. When checking in, all resources in the map/folder are checked in.
');
- choicewrite('');
- }
+ choicewrite('');
+ }
+ if (pscat=='deeplink') {
+ var deeplinkvals = new Array();
+ var linkprotectparts = new Array();
+ 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';
+ var dlinkexitdivsty = 'none';
+ var dlinkexittextval = '';
+ if ((svalue != '') && (typeof(svalue) != 'undefined')) {
+ deeplinkvals = svalue.split(',');
+ if (ltikeyRegExp.test(deeplinkvals[4])) {
+ linkprotectparts = deeplinkvals[4].split(':');
+ deeplinkvals[4] = linkprotectparts[0];
+ if (linkprotectparts[0] == 'key') {
+ dlinkkeysty = 'text';
+ dlinkkeyval = linkprotectparts[1];
+ } else if (linkprotectparts[0] == 'ltic') {
+ dlinklticdivsty = 'block';
+ } else if (linkprotectparts[0] == 'ltid') {
+ dlinkltiddivsty = 'block';
+ }
+ }
+ 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','_self','no'];
+ }
+ var deeplinkstate = new Array();
+ deeplinkstate = ['only','off','both'];
+ var deeplinkstatetxt = new Array();
+ deeplinkstatetxt = ['deep only','deeplink off','regular + deep'];
+ var deeplinkothers = new Array();
+ deeplinkothers = ['hide','unhide'];
+ var deeplinkotherstxt = new Array();
+ deeplinkotherstxt = ['Hidden','Unhidden'];
+ var deeplinklisting = new Array();
+ deeplinklisting = ['full','absent','grades','details','datestatus'];
+ var deeplinklisttxt = new Array();
+ deeplinklisttxt = ['Listed (linked) in both','Not listed','Listed in grades only','Listed (unlinked) in both','Listed (unlinked) inc. status in both'];
+ var deeplinkscopes = new Array();
+ deeplinkscopes = ['res','map','rec'];
+ var deeplinkscopetxt = new Array();
+ 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('Hide other resources? | ');
+ choicewrite(' |
');
+ choicewrite('In Contents + Gradebook? | ');
+ choicewrite(' |
');
+ choicewrite('Access scope for link | ');
+ choicewrite(' |
');
+ choicewrite('Link protection | ');
+ choicewrite('');
+ choicewrite(' key access');
+ choicewrite('');
+ choicewrite(' ');
+
+ var possmenus = new Array();
+ if ((pextra != '') && (typeof(pextra) != 'undefined')) {
+ var lticRegExp = /^ltic_/;
+ var ltidRegExp = /^ltid_/;
+ var menusRegExp = /^menus_/;
+ var extras = pextra.split('&');
+ for (var i=0; i= 1) {
+ var lticnums = new Array();
+ var ltictitles = new Array();
+ for (var j=0; j');
+ choicewrite('');
+ choicewrite(' ');
+ }
+ }
+ } else if (ltidRegExp.test(extras[i])) {
+ extras[i] = extras[i].replace(ltidRegExp,'');
+ var possltid = extras[i].split(',');
+ if (possltid.length >= 1) {
+ var ltidnums = new Array();
+ var ltidtitles = new Array();
+ for (var j=0; j');
+ choicewrite('');
+ choicewrite(' ');
+ }
+ }
+
+ } else if (menusRegExp.test(extras[i])) {
+ extras[i] = extras[i].replace(menusRegExp,'');
+ possmenus = extras[i].split(',');
+ }
+ }
+ }
+ choicewrite('Menu Items Displayed | ');
+ choicewrite(' ');
+ if (possmenus.length >= 1) {
+ choicewrite('');
+ 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') {
tablestart('Choose a Color');
choicewrite('');
@@ -767,7 +1735,7 @@ function draw() {
colorfield(ir,ig,ib);
}
choicewrite('');
- }
+ }
}
choicewrite(' | ');
}
@@ -790,6 +1758,22 @@ function catchange() {
draw();
}
+function recursechange() {
+ var rform=selector.document.forms.frec;
+ var count = rform.recurse.length;
+ if (count > 0) {
+ for (var i=0; i= 0 && pair[1] < 60) { defmin=pair[1]; }
if (pair[0]=='defsec' && pair[1] >= 0 && pair[1] < 60) { defsec=pair[1]; }
+ if (pair[0]=='extra') { pextra=pair[1]; }
+ }
+
+ var tablecol = '';
+ var ismap = '';
+ if (markerRegExp.test(pmarker)) {
+ var markerinfo = pmarker.match(markerRegExp);
+ if (markerinfo.length == 4) {
+ pmarkerst = markerinfo[1];
+ pparm = markerinfo[2];
+ tablecol = markerinfo[3];
+ if (tablecol == 17 || tablecol == 16) {
+ ismap = 1;
+ if (tablecol == 17) {
+ precursive = 1;
+ }
+ pnonreccol = 16;
+ } else if (tablecol == 11 || tablecol == 10) {
+ ismap = 1;
+ if (tablecol == 11) {
+ precursive = 1;
+ }
+ pnonreccol = 10;
+ } else if (tablecol == 7 || tablecol == 6) {
+ ismap = 1;
+ if (tablecol == 7) {
+ precursive = 1;
+ }
+ pnonreccol = 6;
+ } else if (tablecol == 3 || tablecol == 2) {
+ ismap = 1;
+ if (tablecol == 3) {
+ precursive = 1;
+ }
+ pnonreccol = 2;
+ }
+ }
}
+ psmap = ismap;
+
+ if (ptype=='date' && pscat == 'interval') {
+ if (doneproctorRegExp.test(pvalue)) {
+ var current = pvalue.match(doneproctorRegExp);
+ if (current.length == 2) {
+ var textstr = current[1];
+ if (textstr != '') {
+ var textvals = textstr.match(donetextRegExp);
+ if (textvals.length == 2) {
+ pextravaltwo = textvals[1];
+ }
+ }
+ }
+ var intervalwithkey = pvalue.replace(doneproctorRegExp,'');
+ if (proctorkeyRegExp.test(intervalwithkey)) {
+ var currvals = intervalwithkey.match(proctorkeyRegExp);
+ if (currvals.length == 3) {
+ pvalue = currvals[1];
+ pextraval = currvals[2];
+ pmodval = '_done_proctor';
+ } else {
+ pmodval = '';
+ }
+ }
+ } else {
+ if (doneRegExp.test(pvalue)) {
+ var current = pvalue.match(doneRegExp);
+ if (current.length == 2) {
+ var textstr = current[1];
+ if (textstr != '') {
+ var textvals = textstr.match(donetextRegExp);
+ if (textvals.length == 2) {
+ pextravaltwo = textvals[1];
+ }
+ }
+ }
+ var pnumval = pvalue.replace(doneRegExp,'');
+ pmodval = '_done';
+ pvalue = pnumval;
+ }
+ }
+ }
svalue=pvalue;
if (((ptype=='float') || (ptype=='string') || (ptype=='int')) &&
- (pscat=='default') &&
- (typeof(svalue)!="undefined") &&
+ (pscat=='default') &&
+ (typeof(svalue)!="undefined") &&
(svalue!=0) && (svalue!='')) { pscat='any'; }
if (ptype=='tolerance') {
@@ -948,7 +2017,7 @@ function init() {
months[10]='November';
months[11]='December';
}
-
+
if (ptype=='int') {
sopt('default','Default');
sopt('pos','Positive Integer, Not Zero');
@@ -977,8 +2046,11 @@ function init() {
else if (pscat == 'ip') { sopt('ip','IP Number/Name'); }
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'; }
- sopt('any','String Value');
+ if (pscat != 'deeplink') { sopt('any','String Value'); }
}
if (ptype=='color') {
@@ -987,11 +2059,33 @@ function init() {
}
selwrite('');
+ if (ismap == 1) {
+ if ((pparm != 'hiddenresource') && (pparm != 'encrypturl')) {
+ selwrite('
');
+ }
+ }
var targ='parent.opener';
if (pmodal==1) {
targ='parent.parent';
- }
- selwrite('