X"; }
choicewrite(''+selection+' ');
-
-}
+}
function draw() {
choicestart();
@@ -788,7 +952,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');
@@ -807,7 +971,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: ');
@@ -972,18 +1136,30 @@ function draw() {
if (svalue=='no') { choicewrite(' checked="checked"'); }
choicewrite(' /> No ');
}
+ if (pscat=='tex') {
+ tablestart('TeX file display');
+ choicewrite(' Value: ');
+ choicewrite(' tth (TeX to HTML) ');
+ choicewrite(' MathJax ');
+ }
if (pscat=='ip') {
- var currallow = new Array;
+ 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\*\-]+)$/;
var current = new Array;
- if (patternComma.test(svalue)) {
+ if (patternComma.test(svalue)) {
current = svalue.split(',');
} else {
- current = (svalue);
+ current = [svalue];
}
for (var i=0; iAllow from Deny from ');
+ choicewrite(' Allow from Deny from '+"\n");
var acctypes = ['allow','deny'];
for (var i=0; i'+
- ''+
- '
');
+ choicewrite(['
',
+ '',
+ '
');
+ choicewrite(['
'].join("\n"));
}
- choicewrite('
Add item ');
+ choicewrite('Add item '+"\n");
}
- choicewrite(' ');
+ choicewrite(''+"\n");
}
if (pscat=='fileext') {
tablestart('Allowed File Extensions');
@@ -1048,19 +1224,301 @@ function draw() {
choicewrite(' Yes, and the scope of student selected slot is a single resource. ');
+ choicewrite(' /> Yes, and the scope of the slot is a single resource. ');
choicewrite(' Yes, and the scope of student selected slot is the enclosing map/folder. When checking in, it applies to only one resource. ');
+ choicewrite(' /> Yes, and the scope of the slot is the enclosing map/folder. When checking in, it applies to only one resource. ');
choicewrite(' Yes, and the scope of student selected slot is the enclosing map/folder. When checking in, all resources in the map/folder are checked in. ');
- 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 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('');
+ for (var i=0; i'+deeplinkstatetxt[i]+'');
+ }
+ choicewrite(' ');
+ choicewrite('Hide other resources? ');
+ choicewrite('');
+ for (var i=0; i'+deeplinkotherstxt[i]+'');
+ }
+ choicewrite(' ');
+ choicewrite('In Contents + Gradebook? ');
+ choicewrite('');
+ for (var i=0; i'+deeplinklisttxt[i]+'');
+ }
+ choicewrite(' ');
+ choicewrite('Access scope for link ');
+ choicewrite('');
+ for (var i=0; i'+deeplinkscopetxt[i]+'');
+ }
+ choicewrite(' ');
+ choicewrite('Link protection ');
+ choicewrite('');
+ choicewrite(' not in use ');
+ 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(' course LTI launch ');
+ choicewrite('');
+ choicewrite('');
+ var sel='';
+ if (deeplinkvals[4]!='ltic') {
+ sel = ' selected="selected"';
+ }
+ if (lticnums.length > 1) {
+ choicewrite('Select ');
+ }
+ for (var j=0; j'+ltictitles[j]+'');
+ }
+ 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(' domain LTI launch ');
+ choicewrite('');
+ choicewrite('');
+ var sel='';
+ if (deeplinkvals[4]!='ltid') {
+ sel = ' selected="selected"';
+ }
+ if (ltidnums.length > 1) {
+ choicewrite('Select ');
+ }
+ for (var j=0; j'+ltidtitles[j]+'');
+ }
+ choicewrite('
');
+ }
+ }
+
+ } else if (menusRegExp.test(extras[i])) {
+ extras[i] = extras[i].replace(menusRegExp,'');
+ possmenus = extras[i].split(',');
+ }
+ }
+ }
+ choicewrite('Menu Items Displayed ');
+ choicewrite('');
+ choicewrite(' Standard (all menus) ');
+ if (possmenus.length >= 1) {
+ choicewrite('');
+ choicewrite(' 0) { choicewrite(' checked="checked"'); }
+ choicewrite(' /> Numbered collection ');
+ choicewrite(' ');
+ }
+ choicewrite(' ');
+ choicewrite('Embedded? ');
+ choicewrite('');
+ for (var i=0; i'+deeplinktargettxt[i]+'');
+ }
+ choicewrite(' ');
+ choicewrite(' ');
+ choicewrite('Exit Button? ');
+ choicewrite('');
+ choicewrite(' not in use ');
+ choicewrite('');
+ choicewrite(' in use, no redirect ');
+ choicewrite('');
+ choicewrite(' in use, redirect to URL ');
+ choicewrite('');
+ choicewrite('Button text: ');
+ choicewrite(' ');
+ choicewrite('
');
+ choicewrite(' ');
+ }
}
-
+
if (ptype=='color') {
tablestart('Choose a Color');
choicewrite('');
@@ -1075,7 +1533,7 @@ function draw() {
colorfield(ir,ig,ib);
}
choicewrite('');
- }
+ }
}
choicewrite('
');
}
@@ -1108,7 +1566,7 @@ function recursechange() {
if (rform.recurse[i].value == 1) {
colnum++;
}
- pmarker = pmarkerst+'_'+pparm+'&'+colnum;
+ pmarker = pmarkerst+'_'+pparm+'&'+colnum;
}
}
}
@@ -1168,7 +1626,7 @@ function init() {
var doneproctorRegExp = /_done(|\:[^\:]+\:)_proctor/;
var proctorkeyRegExp = /^(\d+)_(.+)$/;
var donetextRegExp = /\:([^\:]+)\:/;
- var markerRegExp = /^(.+)_([A-Za-z0-9]+)\&(\d+)$/;
+ var markerRegExp = /^(.+)_([A-Za-z0-9]+)\&(\d+)$/;
var namevalue=this.window.location.search.split('&');
namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1);
@@ -1179,10 +1637,10 @@ function init() {
if (pair[0]=='type') { subs=pair[1].split('_');
ptype=subs[0];
pscat=subs[1];
- if (typeof(subs[2])!="undefined") {
- pscat+='_'+subs[2];
+ if (typeof(subs[2])!="undefined") {
+ pscat+='_'+subs[2];
}
- if ((pscat=='') || (typeof(pscat)=="undefined")) {
+ if ((pscat=='') || (typeof(pscat)=="undefined")) {
pscat='default';
}
}
@@ -1196,23 +1654,24 @@ function init() {
}
if (pair[0]=='defmin' && pair[1] >= 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 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];
+ tablecol = markerinfo[3];
if (tablecol == 17 || tablecol == 16) {
ismap = 1;
if (tablecol == 17) {
precursive = 1;
}
pnonreccol = 16;
- } else if (tablecol == 11 || tablecol == 10) {
+ } else if (tablecol == 11 || tablecol == 10) {
ismap = 1;
if (tablecol == 11) {
precursive = 1;
@@ -1233,6 +1692,7 @@ function init() {
}
}
}
+ psmap = ismap;
if (ptype=='date' && pscat == 'interval') {
@@ -1260,7 +1720,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 != '') {
@@ -1278,8 +1738,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') {
@@ -1355,7 +1815,7 @@ function init() {
months[10]='November';
months[11]='December';
}
-
+
if (ptype=='int') {
sopt('default','Default');
sopt('pos','Positive Integer, Not Zero');
@@ -1384,8 +1844,10 @@ 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 { pscat = 'any'; }
- sopt('any','String Value');
+ if (pscat != 'deeplink') { sopt('any','String Value'); }
}
if (ptype=='color') {
@@ -1406,7 +1868,7 @@ function init() {
if (precursive != 1) {
selwrite('checked="checked" ');
}
- selwrite('onclick="parent.recursechange();" />No');
+ selwrite('onclick="parent.recursechange();" />No');
selwrite(' ');
}
}
@@ -1416,6 +1878,8 @@ function init() {
}
if ((ptype=='date') && (pscat=='interval')) {
selwrite('
-
+