');
-
-}
+}
function draw() {
choicestart();
@@ -463,7 +709,11 @@ function draw() {
choicewrite(' action="javascript:floateval();"');
}
if (ptype=='string') {
- choicewrite(' action="javascript:stringeval();"');
+ if (pscat == 'ip') {
+ choicewrite(' action="javascript:ipstringeval();"');
+ } else {
+ choicewrite(' action="javascript:stringeval();"');
+ }
}
if (ptype != 'int' && ptype != 'float' && ptype != 'string') {
choicewrite(' action=""');
@@ -551,8 +801,13 @@ function draw() {
}
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( [
@@ -583,8 +838,14 @@ function draw() {
choicewrite(' /> Yes, with proctor key');
choicewrite(' ');
+ '" id="done_proctorkey" size="10"'+
+ ' onblur="parent.intcalc();" /> '+
+ '
'+
+ ' '+
+ 'Button text:'+
+ '
');
choicewrite('');
} else {
choicewrite('
'
@@ -648,7 +909,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');
@@ -667,7 +928,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:
');
@@ -771,20 +1032,50 @@ function draw() {
choicewrite(' /> Library ');
}
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('
');
+ var lenienttypes = ['Correct (checked)','Correct (unchecked)','Incorrect (checked)','Incorrect (unchecked)'];
+ for (var i=0; i
'+lenienttypes[i]+'
'+
+ '
');
+ }
+ choicewrite('
');
}
if (pscat=='discussvote') {
tablestart('Discussion Voting');
@@ -803,10 +1094,51 @@ function draw() {
choicewrite(' /> No ');
}
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; i
Allow from
Deny from
');
+ var acctypes = ['allow','deny'];
+ for (var i=0; i'+
+ '
'+
+ '
');
+ for (var j=0; j');
+ choicewrite('Remove');
+ choicewrite('
');
+ }
+ choicewrite('
');
+ }
+ choicewrite('
');
}
if (pscat=='fileext') {
tablestart('Allowed File Extensions');
@@ -837,19 +1169,263 @@ function draw() {
choicewrite(' ');
+ choicewrite(' /> Yes, and the scope of the slot is a single resource. ');
choicewrite(' ');
+ choicewrite(' /> Yes, and the scope of the slot is the enclosing map/folder. When checking in, it applies to only one resource. ');
choicewrite(' ');
- choicewrite('');
- }
+ 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('');
+ }
+ if (pscat=='deeplink') {
+ var deeplinkvals = new Array();
+ var linkprotectparts = new Array();
+ var ltikeyRegExp = /^(ltic:\d+|ltid:\d+|key:[a-zA-Z\d_.!@#$%^&*()+=-]+)$/;
+ var dlinkkeysty = 'hidden';
+ var dlinkkeyval = '';
+ var dlinklticdivsty = 'none';
+ var dlinkltiddivsty = 'none';
+ var dlinkmenusdivsty = 'none';
+ 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';
+ }
+ } else {
+ deeplinkvals = ['off','unhide','full','res','','0'];
+ }
+ 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'];
+ 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('