version 1.64.2.5, 2022/01/04 04:03:47
|
version 1.64.2.5.2.1, 2022/01/04 04:59:04
|
Line 39 Parameter Input Window
|
Line 39 Parameter Input Window
|
|
|
var ptype=''; |
var ptype=''; |
var pvalue=''; |
var pvalue=''; |
|
var pmodval=''; |
|
var pextraval=''; |
|
var pextravaltwo=''; |
var preturn=''; |
var preturn=''; |
var pcode=''; |
var pcode=''; |
var pscat=''; |
var pscat=''; |
var pmarker=''; |
var pmarker=''; |
var pmodal=''; |
var pmodal=''; |
var pname=''; |
var pname=''; |
|
var pextra=''; |
|
|
var defhour=0; |
var defhour=0; |
var defmin=0; |
var defmin=0; |
Line 271 function inthour() {
|
Line 275 function inthour() {
|
} |
} |
|
|
function intsecond() { |
function intsecond() { |
var thisseconds=csecs; |
var thisseconds=csecs; |
var i; |
var i; |
var result = ''; |
var result = ''; |
result += '<select name="seconds" onchange="parent.intcalc();">'; |
result += '<select name="seconds" onchange="parent.intcalc();">'; |
Line 309 function intcalc() {
|
Line 313 function intcalc() {
|
sform.hours.options[sform.hours.selectedIndex].value*1)*60+ |
sform.hours.options[sform.hours.selectedIndex].value*1)*60+ |
sform.minutes.options[sform.minutes.selectedIndex].value*1)*60+ |
sform.minutes.options[sform.minutes.selectedIndex].value*1)*60+ |
sform.seconds.options[sform.seconds.selectedIndex].value*1; |
sform.seconds.options[sform.seconds.selectedIndex].value*1; |
draw(); |
if ((ptype=='date') && (pscat=='interval')) { |
|
var newpmodval = ''; |
|
var newpextraval = ''; |
|
var newpextravaltwo = 'Done'; |
|
if (sform.donebutton.length) { |
|
for (var i=0; i<sform.donebutton.length; i++) { |
|
if (sform.donebutton[i].checked) { |
|
if (sform.donebutton[i].value == '_done') { |
|
newpmodval = sform.donebutton[i].value; |
|
newpextravaltwo = sform.donebutton_text.value; |
|
} else { |
|
if (sform.donebutton[i].value == '_done_proctor') { |
|
newpmodval = sform.donebutton[i].value; |
|
newpextraval = sform.donebutton_proctorkey.value; |
|
newpextravaltwo = sform.donebutton_text.value; |
|
newpextravaltwo = newpextravaltwo.replace(/:/g,''); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
pmodval = newpmodval; |
|
pextraval = newpextraval; |
|
pextravaltwo = newpextravaltwo; |
|
draw(); |
|
if (pmodval) { |
|
var doneRegExp = /^(_done)(|_proctor)$/; |
|
var donevals = pmodval.match(doneRegExp); |
|
if (donevals.length == 3) { |
|
svalue += donevals[1]; |
|
} |
|
if (newpextravaltwo) { |
|
if (newpextravaltwo != 'Done') { |
|
svalue += ':'+newpextravaltwo+':'; |
|
} |
|
} |
|
if (donevals[2] != '') { |
|
svalue += donevals[2]; |
|
if (pextraval != '') { |
|
svalue += '_'+pextraval; |
|
} |
|
} |
|
} |
|
} else { |
|
draw(); |
|
} |
|
} |
|
|
|
function toggleSecret() { |
|
var sform=choices.document.forms.sch; |
|
if (sform.donebutton.length) { |
|
for (var i=0; i<sform.donebutton.length; i++) { |
|
if (sform.donebutton[i].checked) { |
|
if (sform.donebutton[i].value == '') { |
|
if (document.getElementById('donebuttontextdiv')) { |
|
document.getElementById('donebuttontextdiv').style.display='none'; |
|
} |
|
} else { |
|
if (document.getElementById('donebuttontextdiv')) { |
|
document.getElementById('donebuttontextdiv').style.display='block'; |
|
} |
|
} |
|
if (sform.donebutton[i].value == '_done_proctor') { |
|
if (document.getElementById('done_proctorkey')) { |
|
document.getElementById('done_proctorkey').type='text'; |
|
} |
|
} else { |
|
if (document.getElementById('done_proctorkey')) { |
|
document.getElementById('done_proctorkey').type='hidden'; |
|
document.getElementById('done_proctorkey').value=''; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
|
function validateInterval() { |
|
var sform=choices.document.forms.sch; |
|
if (sform.donebutton.length) { |
|
for (var i=0; i<sform.donebutton.length; i++) { |
|
if (sform.donebutton[i].checked) { |
|
if (sform.donebutton[i].value == '_done_proctor') { |
|
if ((sform.donebutton_proctorkey.value == '') || |
|
(sform.donebutton_proctorkey.value == null)) { |
|
alert('Please provide a key for a proctor to enter when a student uses the "Done" button.'); |
|
return; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
intcalc(); |
|
assemble(); |
|
} |
|
|
|
function validateDeepLink() { |
|
var sform=choices.document.forms.sch; |
|
svalue = sform.deeplinkstate.options[sform.deeplinkstate.selectedIndex].value+','; |
|
svalue += sform.deeplinkothers.options[sform.deeplinkothers.selectedIndex].value+','; |
|
svalue += sform.deeplinklisted.options[sform.deeplinklisted.selectedIndex].value+','; |
|
svalue += sform.deeplinkacc.options[sform.deeplinkacc.selectedIndex].value+','; |
|
var keyRegExp = /^[a-zA-Z\d_.!@#$%^&*()+=-]+$/; |
|
var numRegExp = /^\d+$/; |
|
if (sform.deeplinkprotect.length) { |
|
for (var i=0; i<sform.deeplinkprotect.length; i++) { |
|
if (sform.deeplinkprotect[i].checked) { |
|
svalue += sform.deeplinkprotect[i].value; |
|
if (sform.deeplinkprotect[i].value == 'key') { |
|
var posskey = sform.deeplinkkey.value; |
|
posskey = posskey.replace(/^\s+|\s+$/g,''); |
|
if (keyRegExp.test(posskey)) { |
|
svalue += ':'+posskey; |
|
} else { |
|
alert('Please enter a value for the key containing one or more of: a-zA-Z0-9_.!@#$%^&*()+=-\n'+ |
|
'or choose a different supported link type.'); |
|
return; |
|
} |
|
} else if (sform.deeplinkprotect[i].value == 'ltic') { |
|
var possltic = sform.linkpossltic.options[sform.linkpossltic.selectedIndex].value; |
|
if ((numRegExp.test(possltic)) && (possltic > 0)) { |
|
svalue += ':'+possltic; |
|
} else { |
|
alert('Please select an LTI launcher, or choose a different supported link type.'); |
|
return; |
|
} |
|
} else if (sform.deeplinkprotect[i].value == 'ltid') { |
|
var possltid = sform.linkpossltid.options[sform.linkpossltid.selectedIndex].value; |
|
if ((numRegExp.test(possltid)) && (possltid > 0)) { |
|
svalue += ':'+possltid; |
|
} else { |
|
alert('Please select an LTI launcher, or choose a different supported link type.'); |
|
return; |
|
} |
|
} |
|
break; |
|
} |
|
} |
|
} |
|
svalue += ','; |
|
if (sform.deeplinkmenus.length) { |
|
for (var i=0; i<sform.deeplinkmenus.length; i++) { |
|
if (sform.deeplinkmenus[i].checked) { |
|
if (sform.deeplinkmenus[i].value == 'std') { |
|
svalue += '0'; |
|
} else if (sform.deeplinkmenus[i].value == 'collnum') { |
|
var posscoll = sform.linkpossmenu.options[sform.linkpossmenu.selectedIndex].value; |
|
if ((numRegExp.test(posscoll)) && (posscoll > 0)) { |
|
svalue += posscoll; |
|
} else { |
|
alert("Please select either a numbered collection or check 'Standard (all menus)'."); |
|
return; |
|
} |
|
} |
|
break; |
|
} |
|
} |
|
} |
|
assemble(); |
|
} |
|
|
|
function toggleDeepLink(caller) { |
|
var sform=choices.document.forms.sch; |
|
if ((caller == 'protect') && (sform.deeplinkprotect.length)) { |
|
var frame = window.frames["choices"]; |
|
for (var i=0; i<sform.deeplinkprotect.length; i++) { |
|
if (sform.deeplinkprotect[i].checked) { |
|
if (frame.document.getElementById('deeplinkkey')) { |
|
if (sform.deeplinkprotect[i].value == 'key') { |
|
frame.document.getElementById('deeplinkkey').type='text'; |
|
} else { |
|
frame.document.getElementById('deeplinkkey').type='hidden'; |
|
} |
|
} |
|
if (frame.document.getElementById('deeplinklticdiv')) { |
|
if (sform.deeplinkprotect[i].value == 'ltic') { |
|
frame.document.getElementById('deeplinklticdiv').style.display='block'; |
|
} else { |
|
frame.document.getElementById('deeplinklticdiv').style.display='none'; |
|
} |
|
} |
|
if (frame.document.getElementById('deeplinkltiddiv')) { |
|
if (sform.deeplinkprotect[i].value == 'ltid') { |
|
frame.document.getElementById('deeplinkltiddiv').style.display='block'; |
|
} else { |
|
frame.document.getElementById('deeplinkltiddiv').style.display='none'; |
|
} |
|
} |
|
break; |
|
} |
|
} |
|
} |
|
if ((caller == 'menus') && (sform.deeplinkmenus.length)) { |
|
var frame = window.frames["choices"]; |
|
for (var i=0; i<sform.deeplinkmenus.length; i++) { |
|
if (sform.deeplinkmenus[i].checked) { |
|
if (frame.document.getElementById('deeplinkmenusdiv')) { |
|
if (sform.deeplinkmenus[i].value == 'collnum') { |
|
frame.document.getElementById('deeplinkmenusdiv').style.display='inline-block'; |
|
} else { |
|
frame.document.getElementById('deeplinkmenusdiv').style.display='none'; |
|
} |
|
} |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
|
|
function calldeeplink(caller) { |
|
return 'onclick="parent.toggleDeepLink(\''+caller+'\')"'; |
} |
} |
|
|
function integereval() { |
function integereval() { |
Line 344 function stringeval() {
|
Line 558 function stringeval() {
|
draw(); |
draw(); |
} |
} |
|
|
|
function ipstringeval() { |
|
var patternIp = /^([\[\]a-zA-Z\.\d\*\-]+)$/; |
|
var acctypes = new Array; |
|
acctypes = ['allow','deny']; |
|
svalue = ''; |
|
for (var i=0; i<acctypes.length; i++) { |
|
var items = choices.document.getElementsByName('setip'+acctypes[i]); |
|
if (items.length > 0) { |
|
for (var j=0; j<items.length; j++) { |
|
if (items[j].type == "text") { |
|
var possip = items[j].value; |
|
possip = possip.replace(/^\s+|\s+$/g,''); |
|
if (patternIp.test(possip)) { |
|
if (acctypes[i] == 'deny') { |
|
possip = '!'+possip; |
|
} |
|
if (svalue == '') { |
|
svalue = possip; |
|
} else { |
|
svalue += ','+possip; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
|
function addIpRule(iptype) { |
|
var frame = window.frames["choices"]; |
|
if (frame.document.getElementById('LC_string_ipacc_inner_'+iptype)) { |
|
var innerDiv = frame.document.getElementById('LC_string_ipacc_inner_'+iptype); |
|
var count = innerDiv.childNodes.length |
|
var ipDiv = frame.document.createElement('div'); |
|
ipDiv.innerHTML = '<input type="text" size="10" name="setip'+iptype+'" onblur="parent.ipstringeval();" />'+ |
|
'<a href="#" onclick="parent.removeIpRule(\''+iptype+'\',\''+count+'\')">Remove</a>'; |
|
frame.document.getElementById('LC_string_ipacc_inner_'+iptype).appendChild(ipDiv); |
|
} |
|
return false; |
|
} |
|
|
|
function removeIpRule(iptype,num) { |
|
var frame = window.frames["choices"]; |
|
if (frame.document.getElementById('LC_string_ipacc_inner_'+iptype)) { |
|
var innerDiv = frame.document.getElementById('LC_string_ipacc_inner_'+iptype); |
|
for (var i=0; i<innerDiv.childNodes.length; i++) { |
|
if (i==num) { |
|
innerDiv.removeChild(innerDiv.childNodes[i]); |
|
ipstringeval(); |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
|
function radiostringeval(newval) { |
function radiostringeval(newval) { |
svalue=newval; |
svalue=newval; |
draw(); |
draw(); |
Line 353 function callradiostringeval(newval) {
|
Line 622 function callradiostringeval(newval) {
|
return 'onclick="parent.radiostringeval(\''+newval+'\')"'; |
return 'onclick="parent.radiostringeval(\''+newval+'\')"'; |
} |
} |
|
|
|
function callintervalpmodval() { |
|
return 'onclick="parent.intcalc();parent.toggleSecret()"'; |
|
} |
|
|
function intervaldis() { |
function intervaldis() { |
csecs=svalue; |
csecs=svalue; |
cdays=Math.floor(csecs/86400); |
cdays=Math.floor(csecs/86400); |
Line 390 function draw() {
|
Line 663 function draw() {
|
choicewrite(' action="javascript:floateval();"'); |
choicewrite(' action="javascript:floateval();"'); |
} |
} |
if (ptype=='string') { |
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') { |
if (ptype != 'int' && ptype != 'float' && ptype != 'string') { |
choicewrite(' action=""'); |
choicewrite(' action=""'); |
Line 477 function draw() {
|
Line 754 function draw() {
|
tablestart('Date and time'); |
tablestart('Date and time'); |
} |
} |
if (pscat=='interval') { |
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'); |
tablestart('Time interval'); |
choicewrite( [ |
choicewrite( [ |
'<tr><td colspan="3">'+intervaldis()+'</td></tr>', |
'<tr><td colspan="3">'+intervaldis()+'</td></tr>', |
Line 489 function draw() {
|
Line 775 function draw() {
|
'</table>', |
'</table>', |
'<br />', |
'<br />', |
].join("\n")); |
].join("\n")); |
} else { |
tablestart('Provide a "Done" button to students?'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<label><input name="donebutton" value=""'+ |
|
' type="radio" '+callintervalpmodval()); |
|
if (pmodval == '') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> No</label><br />'); |
|
choicewrite('<label><input name="donebutton" value="_done"'+ |
|
' type="radio" '+callintervalpmodval()); |
|
if (pmodval == '_done') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes</label><br />'); |
|
choicewrite('<span style="white-space:nowrap">'+ |
|
'<label><input name="donebutton" value="_done_proctor"'+ |
|
' type="radio" '+callintervalpmodval()); |
|
if (pmodval == '_done_proctor') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes, with proctor key</label>'); |
|
choicewrite(' <input name="donebutton_proctorkey" value='+ |
|
'"'+escapeHTML(pextraval)+'" type="'+proctorkeytype+ |
|
'" id="done_proctorkey" size="10"'+ |
|
' onblur="parent.intcalc();" /></span><br />'+ |
|
'<div id="donebuttontextdiv" style="display:'+donebuttontext+'">'+ |
|
'<br /><span style="white-space:nowrap">'+ |
|
'Button text:'+ |
|
'<input name="donebutton_text" value='+ |
|
'"'+escapeHTML(pextravaltwo)+'" type="text" '+ |
|
'size="10" onblur="parent.intcalc();" /></span></div>'); |
|
choicewrite('</td></tr></table>'); |
|
} else { |
choicewrite('<tr><td colspan="3">' |
choicewrite('<tr><td colspan="3">' |
+cdate.toString()+ |
+cdate.toString()+ |
'</td></tr><tr><td>Date:</td><td colspan="2">'); |
'</td></tr><tr><td>Date:</td><td colspan="2">'); |
Line 570 function draw() {
|
Line 882 function draw() {
|
} |
} |
|
|
if (ptype=='string') { |
if (ptype=='string') { |
if ((pscat=='any') || (pscat=='') || (pscat=='default') || |
if ((pscat=='any') || (pscat=='') || (pscat=='default') || |
(typeof(pscat)=='undefined')) { |
(typeof(pscat)=='undefined')) { |
tablestart('Text'); |
tablestart('Text'); |
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
Line 706 function draw() {
|
Line 1018 function draw() {
|
choicewrite(' /> No</label><br />'); |
choicewrite(' /> No</label><br />'); |
} |
} |
if (pscat=='ip') { |
if (pscat=='ip') { |
tablestart('IP Number/Name'); |
var currallow = new Array; |
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
var currdeny = new Array; |
choicewrite('<input name="stringval" size="20" value="'+escapeHTML(svalue)+ |
if ((svalue != '') && (svalue != null)) { |
'" onchange="parent.stringeval()" />'); |
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<current.length; i++) { |
|
if (patternDeny.test(current[i])) { |
|
var denied = current[i].replace(/^!/,''); |
|
currdeny.push(denied); |
|
} else { |
|
if (patternAllow.test(current[i])) { |
|
currallow.push(current[i]); |
|
} |
|
} |
|
} |
|
} |
|
if (currdeny.length == 0) { |
|
currdeny = (''); |
|
} |
|
if (currallow.length == 0) { |
|
currallow = (''); |
|
} |
|
var curripaccess = [currallow,currdeny]; |
|
tablestart('IP Number/Name'); |
|
choicewrite('<tr><th>Allow from</th><th>Deny from</th></tr><tr>'); |
|
var acctypes = ['allow','deny']; |
|
for (var i=0; i<acctypes.length; i++) { |
|
choicewrite('<td valign="top">'+ |
|
'<div class="LC_string_ipacc_wrap" id="LC_string_ipacc_'+acctypes[i]+'">'+ |
|
'<div class="LC_string_ipacc_inner" id="LC_string_ipacc_inner_'+acctypes[i]+'">'); |
|
for (var j=0; j<curripaccess[i].length; j++) { |
|
choicewrite('<div><input type="text" size="10" name="setip'+acctypes[i]+'" value="'+curripaccess[i][j]+'" onblur="parent.ipstringeval();" />'); |
|
choicewrite('<a href="#" onclick="parent.removeIpRule(\''+acctypes[i]+'\',\''+j+'\')">Remove</a>'); |
|
choicewrite('</div>'); |
|
} |
|
choicewrite('</div><button onclick="parent.addIpRule(\''+acctypes[i]+'\');">Add item</button>'); |
|
} |
|
choicewrite('</div></td></tr></table>'); |
} |
} |
if (pscat=='fileext') { |
if (pscat=='fileext') { |
tablestart('Allowed File Extensions'); |
tablestart('Allowed File Extensions'); |
Line 751 function draw() {
|
Line 1104 function draw() {
|
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.</label><br />'); |
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.</label><br />'); |
choicewrite('</td></tr></table>'); |
choicewrite('</td></tr></table>'); |
} |
} |
|
if (pscat=='deeplink') { |
|
var deeplinkvals = new Array(); |
|
var linkprotectparts = new Array(); |
|
var ltikeyRegExp = /^(ltic|ltid|key):(\w+)$/; |
|
var dlinkkeysty = 'hidden'; |
|
var dlinkkeyval = ''; |
|
var dlinklticdivsty = 'none'; |
|
var dlinkltiddivsty = 'none'; |
|
var dlinkmenusdivsty = 'none'; |
|
if ((svalue != '') && (svalue != null)) { |
|
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']; |
|
tablestart('Deep-linked items'); |
|
choicewrite('<tr><td>Access status?</td><td>'); |
|
choicewrite('<select name="deeplinkstate">'); |
|
for (var i=0; i<deeplinkstate.length; i++) { |
|
choicewrite('<option value="'+deeplinkstate[i]+'"'); |
|
if (deeplinkvals[0] == deeplinkstate[i]) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+deeplinkstatetxt[i]+'</option>'); |
|
} |
|
choicewrite('</select></td></tr>'); |
|
choicewrite('<tr><td>Hide other resources?</td><td>'); |
|
choicewrite('<select name="deeplinkothers">'); |
|
for (var i=0; i<deeplinkothers.length; i++) { |
|
choicewrite('<option value="'+deeplinkothers[i]+'"'); |
|
if (deeplinkvals[1] == deeplinkothers[i]) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+deeplinkotherstxt[i]+'</option>'); |
|
} |
|
choicewrite('</select></td></tr>'); |
|
choicewrite('<tr><td>In Contents + Gradebook?</td><td>'); |
|
choicewrite('<select name="deeplinklisted">'); |
|
for (var i=0; i<deeplinklisting.length; i++) { |
|
choicewrite('<option value="'+deeplinklisting[i]+'"'); |
|
if (deeplinkvals[2] == deeplinklisting[i]) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+deeplinklisttxt[i]+'</option>'); |
|
} |
|
choicewrite('</select></td></tr>'); |
|
choicewrite('<tr><td>Access scope for link</td><td>'); |
|
choicewrite('<select name="deeplinkacc">'); |
|
for (var i=0; i<deeplinkscopes.length; i++) { |
|
choicewrite('<option value="'+deeplinkscopes[i]+'"'); |
|
if (deeplinkvals[3] == deeplinkscopes[i]) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+deeplinkscopetxt[i]+'</option>'); |
|
} |
|
choicewrite('</select></td></tr>'); |
|
choicewrite('<tr><td>Link protection</td><td>'); |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkprotect" value="none"'+ |
|
' type="radio" '+calldeeplink('protect')); |
|
if (deeplinkvals[4]=='none') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> not in use</label>'); |
|
choicewrite('<input name="deeplinkprotect" value="key"'+ |
|
' type="radio" '+calldeeplink('protect')); |
|
if (deeplinkvals[4]=='key') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> key access</label>'); |
|
choicewrite('<input type="'+dlinkkeysty+'" name="deeplinkkey" id="deeplinkkey" value="'+dlinkkeyval+'" size="10" />'); |
|
choicewrite('</span><br />'); |
|
|
|
var possmenus = new Array(); |
|
if ((pextra != '') && (pextra != null)) { |
|
var lticRegExp = /^ltic_/; |
|
var ltidRegExp = /^ltid_/; |
|
var menusRegExp = /^menus_/; |
|
var extras = pextra.split('&'); |
|
for (var i=0; i<extras.length; i++) { |
|
if (lticRegExp.test(extras[i])) { |
|
extras[i] = extras[i].replace(lticRegExp,''); |
|
var possltic = extras[i].split(','); |
|
if (possltic.length >= 1) { |
|
var lticnums = new Array(); |
|
var ltictitles = new Array(); |
|
for (var j=0; j<possltic.length; j++) { |
|
var entries = possltic[j].split(':'); |
|
lticnums[j] = entries[0]; |
|
ltictitles[j] = decodeURIComponent(entries[1]); |
|
} |
|
if (lticnums.length) { |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkprotect" value="ltic"'+ |
|
' type="radio" '+calldeeplink('protect')); |
|
if (deeplinkvals[4]=='ltic') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> course LTI launch</label>'); |
|
choicewrite('<div id="deeplinklticdiv" style="display:'+dlinklticdivsty+'">'); |
|
choicewrite('<select name="linkpossltic">'); |
|
var sel=''; |
|
if (deeplinkvals[4]!='ltic') { |
|
sel = ' selected="selected"'; |
|
} |
|
if (lticnums.length > 1) { |
|
choicewrite('<option value=""'+sel+'>Select</option>'); |
|
} |
|
for (var j=0; j<lticnums.length; j++) { |
|
sel = ''; |
|
if (deeplinkvals[4]=='ltic') { |
|
if (linkprotectparts.length) { |
|
if (lticnums[j] == linkprotectparts[1]) { |
|
sel = ' selected="selected"'; |
|
} |
|
} |
|
} |
|
choicewrite('<option value="'+lticnums[j]+'"'+sel+'>'+ltictitles[j]+'</option>'); |
|
} |
|
choicewrite('</select></div></span><br />'); |
|
} |
|
} |
|
} 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<possltid.length; j++) { |
|
var entries = possltid[j].split(':'); |
|
ltidnums[j] = entries[0]; |
|
ltidtitles[j] = decodeURIComponent(entries[1]); |
|
} |
|
if (ltidnums.length) { |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkprotect" value="ltid"'+ |
|
' type="radio" '+calldeeplink('protect')); |
|
if (deeplinkvals[4]=='ltid') { choicewrite(' checked="checked"'); } |
|
choicewrite(' />domain LTI launch</label>'); |
|
choicewrite('<div id="deeplinkltiddiv" style="display:'+dlinkltiddivsty+'">'); |
|
choicewrite('<select name="linkpossltid">'); |
|
var sel=''; |
|
if (deeplinkvals[4]!='ltid') { |
|
sel = ' selected="selected"'; |
|
} |
|
if (ltidnums.length > 1) { |
|
choicewrite('<option value=""'+sel+'>Select</option>'); |
|
} |
|
for (var j=0; j<ltidnums.length; j++) { |
|
sel = ''; |
|
if (deeplinkvals[4]=='ltid') { |
|
if (linkprotectparts.length) { |
|
if (ltidnums[j] == linkprotectparts[1]) { |
|
sel = ' selected="selected"'; |
|
} |
|
} |
|
} |
|
choicewrite('<option value="'+ltidnums[j]+'"'+sel+'>'+ltidtitles[j]+'</option>'); |
|
} |
|
choicewrite('</select></div></span><br />'); |
|
} |
|
} |
|
|
|
} else if (menusRegExp.test(extras[i])) { |
|
extras[i] = extras[i].replace(menusRegExp,''); |
|
possmenus = extras[i].split(','); |
|
} |
|
} |
|
} |
|
choicewrite('<tr><td>Menu Items Displayed</td><td>'); |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkmenus" value="std"'+ |
|
' type="radio" '+calldeeplink('menus')); |
|
if (deeplinkvals[5] == 0) { |
|
choicewrite(' checked="checked"'); |
|
} |
|
choicewrite(' /> Standard (all menus)</label></span><br />'); |
|
if (possmenus.length >= 1) { |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkmenus" value="collnum"'+ |
|
' type="radio" '+calldeeplink('menus')); |
|
if (deeplinkvals[5] > 0) { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Numbered collection</label>'); |
|
choicewrite('<div id="deeplinkmenusdiv" style="display:'+dlinkmenusdivsty+'">'); |
|
choicewrite('<select name="linkpossmenu">'); |
|
var sel=''; |
|
if (deeplinkvals[5] == 0) { |
|
sel = ' selected="selected"'; |
|
} |
|
if (possmenus.length > 1) { |
|
choicewrite('<option value=""'+sel+'>Select</option>'); |
|
} |
|
for (var i=0; i<possmenus.length; i++) { |
|
sel = ''; |
|
if (deeplinkvals[5] == possmenus[i]) { |
|
sel = ' selected="selected"'; |
|
} |
|
choicewrite('<option value="'+possmenus[i]+'"'+sel+'>'+possmenus[i]+'</option>'); |
|
} |
|
choicewrite('</select></div></span><br />'); |
|
} |
|
choicewrite('</td></tr></table>'); |
|
} |
} |
} |
|
|
if (ptype=='color') { |
if (ptype=='color') { |
Line 840 function assemble() {
|
Line 1422 function assemble() {
|
function init() { |
function init() { |
var i; |
var i; |
var subs=new Array(); |
var subs=new Array(); |
|
var doneRegExp = /_done(|\:[^\:]+\:)/; |
|
var doneproctorRegExp = /_done(|\:[^\:]+\:)_proctor/; |
|
var proctorkeyRegExp = /^(\d+)_(.+)$/; |
|
var donetextRegExp = /\:([^\:]+)\:/; |
var namevalue=this.window.location.search.split('&'); |
var namevalue=this.window.location.search.split('&'); |
namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1); |
namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1); |
|
|
Line 867 function init() {
|
Line 1453 function init() {
|
} |
} |
if (pair[0]=='defmin' && pair[1] >= 0 && pair[1] < 60) { defmin=pair[1]; } |
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]=='defsec' && pair[1] >= 0 && pair[1] < 60) { defsec=pair[1]; } |
|
if (pair[0]=='extra') { pextra=pair[1]; } |
} |
} |
|
|
|
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; |
svalue=pvalue; |
if (((ptype=='float') || (ptype=='string') || (ptype=='int')) && |
if (((ptype=='float') || (ptype=='string') || (ptype=='int')) && |
(pscat=='default') && |
(pscat=='default') && |
Line 977 function init() {
|
Line 1605 function init() {
|
else if (pscat == 'ip') { sopt('ip','IP Number/Name'); } |
else if (pscat == 'ip') { sopt('ip','IP Number/Name'); } |
else if (pscat == 'fileext') { sopt('fileext','File Extension'); } |
else if (pscat == 'fileext') { sopt('fileext','File Extension'); } |
else if (pscat == 'useslots') { sopt('useslots','Slots control access'); } |
else if (pscat == 'useslots') { sopt('useslots','Slots control access'); } |
|
else if (pscat == 'deeplink') { sopt('deeplink','Deep-linked items'); } |
else { pscat = 'any'; } |
else { pscat = 'any'; } |
sopt('any','String Value'); |
if (pscat != 'deeplink') { sopt('any','String Value'); } |
} |
} |
|
|
if (ptype=='color') { |
if (ptype=='color') { |
Line 990 function init() {
|
Line 1619 function init() {
|
var targ='parent.opener'; |
var targ='parent.opener'; |
if (pmodal==1) { |
if (pmodal==1) { |
targ='parent.parent'; |
targ='parent.parent'; |
} |
} |
selwrite('<a href="javascript:parent.assemble();'); |
if ((ptype=='date') && (pscat=='interval')) { |
|
selwrite('<a href="javascript:parent.validateInterval();'); |
|
} else if ((ptype=='string') && (pscat=='deeplink')) { |
|
selwrite('<a href="javascript:parent.validateDeepLink();'); |
|
} else { |
|
selwrite('<a href="javascript:parent.assemble();'); |
|
} |
if (preturn!='') { |
if (preturn!='') { |
selwrite(targ+'.document.'+preturn+'_value.value=parent.window.svalue;'); |
selwrite(targ+'.document.'+preturn+'_value.value=parent.window.svalue;'); |
selwrite(targ+'.document.'+preturn+'_type.value=parent.window.stype;'); |
selwrite(targ+'.document.'+preturn+'_type.value=parent.window.stype;'); |
Line 1017 function init() {
|
Line 1652 function init() {
|
|
|
selwrite('</body></html>'); |
selwrite('</body></html>'); |
this.window.selector.document.close(); |
this.window.selector.document.close(); |
|
if (pscat == 'deeplink') { |
|
document.getElementById("LCparampopup").rows="60,*"; |
|
} |
draw(); |
draw(); |
|
|
} |
} |
Line 1025 function init() {
|
Line 1663 function init() {
|
</script> |
</script> |
</head> |
</head> |
|
|
<frameset rows="120,*" onload="init();"> |
<frameset id="LCparampopup" rows="125,*" onload="init();"> |
<frame name="selector" src="empty.html" /> |
<frame name="selector" src="empty.html" /> |
<frame name="choices" src="empty.html" /> |
<frame name="choices" src="empty.html" /> |
</frameset> |
</frameset> |