X"; }
choicewrite(''+selection+' | ');
-
-}
+}
function draw() {
choicestart();
@@ -547,6 +925,8 @@ function draw() {
if (ptype=='string') {
if (pscat == 'ip') {
choicewrite(' action="javascript:ipstringeval();"');
+ } else if (pscat == 'grace') {
+ choicewrite(' action="javascript:gracestringeval();"');
} else {
choicewrite(' action="javascript:stringeval();"');
}
@@ -745,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');
@@ -764,7 +1144,7 @@ function draw() {
}
if (ptype=='string') {
- if ((pscat=='any') || (pscat=='') || (pscat=='default') ||
+ if ((pscat=='any') || (pscat=='') || (pscat=='default') ||
(typeof(pscat)=='undefined')) {
tablestart('Text');
choicewrite('Value: | ');
@@ -833,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');
@@ -899,10 +1309,22 @@ function draw() {
if (svalue=='no') { choicewrite(' checked="checked"'); }
choicewrite(' /> 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\*\-]+)$/;
@@ -931,20 +1353,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');
@@ -984,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('');
@@ -1002,7 +1735,7 @@ function draw() {
colorfield(ir,ig,ib);
}
choicewrite('');
- }
+ }
}
choicewrite(' | ');
}
@@ -1025,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)) {
@@ -1133,7 +1922,7 @@ function init() {
}
} else {
if (doneRegExp.test(pvalue)) {
- var current = pvalue.match(doneRegExp);
+ var current = pvalue.match(doneRegExp);
if (current.length == 2) {
var textstr = current[1];
if (textstr != '') {
@@ -1151,8 +1940,8 @@ function init() {
}
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') {
@@ -1228,7 +2017,7 @@ function init() {
months[10]='November';
months[11]='December';
}
-
+
if (ptype=='int') {
sopt('default','Default');
sopt('pos','Positive Integer, Not Zero');
@@ -1257,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') {
@@ -1267,12 +2059,30 @@ function init() {
}
selwrite('');
+ if (ismap == 1) {
+ if ((pparm != 'hiddenresource') && (pparm != 'encrypturl')) {
+ selwrite('
');
+ }
+ }
var targ='parent.opener';
if (pmodal==1) {
targ='parent.parent';
}
if ((ptype=='date') && (pscat=='interval')) {
selwrite('
-