version 1.64.2.5.2.3, 2022/07/08 16:38:03
|
version 1.78, 2018/11/13 03:59:12
|
Line 48 var pscat='';
|
Line 48 var pscat='';
|
var pmarker=''; |
var pmarker=''; |
var pmodal=''; |
var pmodal=''; |
var pname=''; |
var pname=''; |
var pextra=''; |
var precursive=''; |
|
var pnonreccol=''; |
|
var pmarkerst=''; |
|
var pparm=''; |
|
|
var defhour=0; |
var defhour=0; |
var defmin=0; |
var defmin=0; |
Line 288 function intsecond() {
|
Line 291 function intsecond() {
|
} |
} |
result += '</select>'; |
result += '</select>'; |
return result; |
return result; |
} |
} |
|
|
|
|
function intday() { |
function intday() { |
Line 324 function intcalc() {
|
Line 327 function intcalc() {
|
newpmodval = sform.donebutton[i].value; |
newpmodval = sform.donebutton[i].value; |
newpextravaltwo = sform.donebutton_text.value; |
newpextravaltwo = sform.donebutton_text.value; |
} else { |
} else { |
if (sform.donebutton[i].value == '_done_proctor') { |
if (sform.donebutton[i].value == '_done_proctor') { |
newpmodval = sform.donebutton[i].value; |
newpmodval = sform.donebutton[i].value; |
newpextraval = sform.donebutton_proctorkey.value; |
newpextraval = sform.donebutton_proctorkey.value; |
newpextravaltwo = sform.donebutton_text.value; |
newpextravaltwo = sform.donebutton_text.value; |
Line 345 function intcalc() {
|
Line 348 function intcalc() {
|
svalue += donevals[1]; |
svalue += donevals[1]; |
} |
} |
if (newpextravaltwo) { |
if (newpextravaltwo) { |
if (newpextravaltwo != 'Done') { |
if (newpextravaltwo != 'Done') { |
svalue += ':'+newpextravaltwo+':'; |
svalue += ':'+newpextravaltwo+':'; |
} |
} |
} |
} |
Line 396 function validateInterval() {
|
Line 399 function validateInterval() {
|
for (var i=0; i<sform.donebutton.length; i++) { |
for (var i=0; i<sform.donebutton.length; i++) { |
if (sform.donebutton[i].checked) { |
if (sform.donebutton[i].checked) { |
if (sform.donebutton[i].value == '_done_proctor') { |
if (sform.donebutton[i].value == '_done_proctor') { |
var keyval = sform.donebutton_proctorkey.value; |
if ((sform.donebutton_proctorkey.value == '') || |
if ((keyval == '') || (typeof(keyval) == 'undefined')) { |
(sform.donebutton_proctorkey.value == null)) { |
alert('Please provide a key for a proctor to enter when a student uses the "Done" button.'); |
alert('Please provide a key for a proctor to enter when a student uses the "Done" button.'); |
return; |
return; |
} |
} |
Line 409 function validateInterval() {
|
Line 412 function validateInterval() {
|
assemble(); |
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+$/; |
|
var exitTextRegExp = /^[^'":;,]+$/; |
|
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; |
|
} |
|
} |
|
} |
|
svalue += ','; |
|
svalue += sform.deeplinktarget.options[sform.deeplinktarget.selectedIndex].value; |
|
svalue += ','; |
|
if (sform.deeplinkexit.length) { |
|
for (var i=0; i<sform.deeplinkexit.length; i++) { |
|
if (sform.deeplinkexit[i].checked) { |
|
if (sform.deeplinkexit[i].value == 'no') { |
|
svalue += sform.deeplinkexit[i].value; |
|
} else { |
|
var exittext = sform.deeplinkexittext.value; |
|
exittext = exittext.replace(/^\s+|\s+$/g,''); |
|
if ((exittext.length) && (exitTextRegExp.test(exittext))) { |
|
svalue += sform.deeplinkexit[i].value; |
|
if (exittext !== 'Exit Tool') { |
|
svalue += ':'+exittext; |
|
} |
|
} else { |
|
alert('Please enter the button text. Disallowed characters are ;,":\'\n'+ |
|
'or check "not in use" option for "Exit Tool Link"'); |
|
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; |
|
} |
|
} |
|
} |
|
if ((caller == 'exit') && (sform.deeplinkexit.length)) { |
|
var frame = window.frames["choices"]; |
|
for (var i=0; i<sform.deeplinkexit.length; i++) { |
|
if (sform.deeplinkexit[i].checked) { |
|
if (frame.document.getElementById('deeplinkexitdiv')) { |
|
if (sform.deeplinkexit[i].value == 'no') { |
|
frame.document.getElementById('deeplinkexitdiv').style.display='none'; |
|
sform.deeplinkexittext.value = ''; |
|
} else { |
|
frame.document.getElementById('deeplinkexitdiv').style.display='inline-block'; |
|
if (sform.deeplinkexittext.value == '') { |
|
sform.deeplinkexittext.value = 'Exit Tool'; |
|
} |
|
frame.document.getElementById('deeplinkexitdiv').scrollIntoView(); |
|
} |
|
} |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
|
|
function calldeeplink(caller) { |
|
return 'onclick="parent.toggleDeepLink(\''+caller+'\')"'; |
|
} |
|
|
|
function integereval() { |
function integereval() { |
svalue=choices.document.forms.sch.intval.value; |
svalue=choices.document.forms.sch.intval.value; |
svalue=Math.round(svalue); |
svalue=Math.round(svalue); |
Line 612 function ipstringeval() {
|
Line 451 function ipstringeval() {
|
svalue = ''; |
svalue = ''; |
for (var i=0; i<acctypes.length; i++) { |
for (var i=0; i<acctypes.length; i++) { |
var items = choices.document.getElementsByName('setip'+acctypes[i]); |
var items = choices.document.getElementsByName('setip'+acctypes[i]); |
if (items.length > 0) { |
if (items.length > 0) { |
for (var j=0; j<items.length; j++) { |
for (var j=0; j<items.length; j++) { |
if (items[j].type == "text") { |
if (items[j].type == "text") { |
var possip = items[j].value; |
var possip = items[j].value |
possip = possip.replace(/^\s+|\s+$/g,''); |
possip = possip.replace(/^\s+|\s+$/g,''); |
if (patternIp.test(possip)) { |
if (patternIp.test(possip)) { |
if (acctypes[i] == 'deny') { |
if (acctypes[i] == 'deny') { |
Line 637 function addIpRule(iptype) {
|
Line 476 function addIpRule(iptype) {
|
var frame = window.frames["choices"]; |
var frame = window.frames["choices"]; |
if (frame.document.getElementById('LC_string_ipacc_inner_'+iptype)) { |
if (frame.document.getElementById('LC_string_ipacc_inner_'+iptype)) { |
var innerDiv = frame.document.getElementById('LC_string_ipacc_inner_'+iptype); |
var innerDiv = frame.document.getElementById('LC_string_ipacc_inner_'+iptype); |
var count = innerDiv.childNodes.length |
var count = innerDiv.childNodes.length |
var ipDiv = frame.document.createElement('div'); |
var ipDiv = frame.document.createElement('div'); |
ipDiv.innerHTML = '<input type="text" size="10" name="setip'+iptype+'" onblur="parent.ipstringeval();" />'+ |
ipDiv.innerHTML = '<input type="text" size="10" name="setip'+iptype+'" onblur="parent.ipstringeval();" />'+ |
'<a href="#" onclick="parent.removeIpRule(\''+iptype+'\',\''+count+'\')">Remove</a>'; |
'<a href="#" onclick="parent.removeIpRule(\''+iptype+'\',\''+count+'\')">Remove</a>'; |
Line 669 function callradiostringeval(newval) {
|
Line 508 function callradiostringeval(newval) {
|
return 'onclick="parent.radiostringeval(\''+newval+'\')"'; |
return 'onclick="parent.radiostringeval(\''+newval+'\')"'; |
} |
} |
|
|
|
function lenienteval(newval) { |
|
if (newval == 'weighted') { |
|
if (document.getElementById('lenientweighteddiv')) { |
|
document.getElementById('lenientweighteddiv').style.display='block'; |
|
} |
|
var patternRelWeight = /^\-?[\d.]+$/; |
|
var sform=choices.document.forms.sch; |
|
if ((sform.lenientrelwt.length != 'undefined') && (sform.lenientrelwt.length) != 'null') { |
|
for (var i=0; i<sform.lenientrelwt.length; i++) { |
|
var relweight = sform.lenientrelwt[i].value; |
|
relweight = relweight.replace(/^\s+|\s+$/g,''); |
|
if (!patternRelWeight.test(relweight)) { |
|
if (i<2) { |
|
relweight = '1.0'; |
|
} else { |
|
relweight = '0.0'; |
|
} |
|
} |
|
sform.lenientrelwt[i].value = relweight; |
|
if (i==0) { |
|
svalue = relweight; |
|
} else { |
|
svalue += ','+relweight; |
|
} |
|
} |
|
} |
|
} else { |
|
if (document.getElementById('lenientweighteddiv')) { |
|
document.getElementById('lenientweighteddiv').style.display='none'; |
|
} |
|
svalue=newval; |
|
} |
|
draw(); |
|
} |
|
|
|
function calllenientradioeval(newval) { |
|
return 'onclick="parent.lenienteval(\''+newval+'\')"'; |
|
} |
|
|
function callintervalpmodval() { |
function callintervalpmodval() { |
return 'onclick="parent.intcalc();parent.toggleSecret()"'; |
return 'onclick="parent.intcalc();parent.toggleSecret()"'; |
} |
} |
|
|
function intervaldis() { |
function intervaldis() { |
csecs=svalue; |
csecs=svalue; |
Line 801 function draw() {
|
Line 679 function draw() {
|
tablestart('Date and time'); |
tablestart('Date and time'); |
} |
} |
if (pscat=='interval') { |
if (pscat=='interval') { |
var proctorkeytype = 'hidden'; |
var proctorkeytype = 'hidden'; |
var donebuttontext = 'none'; |
var donebuttontext = 'none'; |
if (pmodval == '_done_proctor') { |
if (pmodval == '_done_proctor') { |
proctorkeytype = 'text'; |
proctorkeytype = 'text'; |
Line 929 function draw() {
|
Line 807 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 998 function draw() {
|
Line 876 function draw() {
|
choicewrite('<label><input name="stringval" value="exam"'+ |
choicewrite('<label><input name="stringval" value="exam"'+ |
' type="radio" '+callradiostringeval('exam')); |
' type="radio" '+callradiostringeval('exam')); |
if (svalue=='exam') { choicewrite(' checked="checked"'); } |
if (svalue=='exam') { choicewrite(' checked="checked"'); } |
choicewrite(' /> Exam</label><br />'); |
choicewrite(' /> Bubblesheet Exam</label><br />'); |
// choicewrite('<label><input name="stringval" value="assess"'+ |
// choicewrite('<label><input name="stringval" value="assess"'+ |
// ' type="radio" '+callradiostringeval('assess')); |
// ' type="radio" '+callradiostringeval('assess')); |
// if (svalue=='assess') { choicewrite(' checked="checked"'); } |
// if (svalue=='assess') { choicewrite(' checked="checked"'); } |
Line 1033 function draw() {
|
Line 911 function draw() {
|
choicewrite(' /> Library</label><br />'); |
choicewrite(' /> Library</label><br />'); |
} |
} |
if (pscat=='lenient') { |
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)'); |
tablestart('Lenient Grading (Partial Credit)'); |
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
choicewrite('<label><input name="stringval" value="yes"'+ |
choicewrite('<label><input name="stringval" value="yes"'+ |
' type="radio" '+callradiostringeval('yes')); |
' type="radio" '+calllenientradioeval('yes')); |
if (svalue=='yes') { choicewrite(' checked="checked"'); } |
if (svalue=='yes') { choicewrite(' checked="checked"'); } |
choicewrite(' /> Yes</label><br />'); |
choicewrite(' /> Yes</label><br />'); |
choicewrite('<label><input name="stringval" value="no"'+ |
choicewrite('<label><input name="stringval" value="no"'+ |
' type="radio" '+callradiostringeval('no')); |
' type="radio" '+calllenientradioeval('no')); |
if (svalue=='no') { choicewrite(' checked="checked"'); } |
if (svalue=='no') { choicewrite(' checked="checked"'); } |
choicewrite(' /> No</label><br />'); |
choicewrite(' /> No</label><br />'); |
choicewrite('<label><input name="stringval" value="default"'+ |
choicewrite('<label><input name="stringval" value="default"'+ |
' type="radio" '+callradiostringeval('default')); |
' type="radio" '+calllenientradioeval('default')); |
if (svalue=='default') { choicewrite(' checked="checked"'); } |
if (svalue=='default') { choicewrite(' checked="checked"'); } |
choicewrite(' /> Default (only bubblesheet grading is lenient)</label><br />'); |
choicewrite(' /> Default (only bubblesheet grading is lenient)</label><br />'); |
|
choicewrite('<label><input name="stringval" value="weighted"'+ |
|
' type="radio" '+calllenientradioeval('weighted')); |
|
if (!patternLenientStd.test(svalue) && svalue != '') { |
|
choicewrite(' checked="checked"'); |
|
lenientweighted='block'; |
|
var relatives = svalue.match(patternLenientRel); |
|
} |
|
choicewrite(' />Yes, weighted (optionresponse in checkbox mode)</label><br /><br />'+ |
|
'<div id="lenientweighteddiv" style="display:'+lenientweighted+'">'+ |
|
'<table class="LC_parmsel_table"><tr bgcolor="#C5DB99">'+ |
|
'<th colspan="2">Foil submission status</th><th>Points</th></tr>'); |
|
var lenienttypes = ['Correct (checked)','Correct (unchecked)','Incorrect (checked)','Incorrect (unchecked)']; |
|
for (var i=0; i<lenienttypes.length; i++) { |
|
var j = i+1; |
|
if (relatives[j] == '') { |
|
if (i < 2) { |
|
relatives[j] = '1.0'; |
|
} else { |
|
relatives[j] = '0.0'; |
|
} |
|
} |
|
choicewrite('<tr><td colspan="2">'+lenienttypes[i]+'</td>'+ |
|
'<td><input type="text" name="lenientrelwt" value="'+relatives[j]+'"'+ |
|
' size="3" onblur="parent.lenienteval(\'weighted\')" /></td></tr>'); |
|
} |
|
choicewrite('</table></div>'); |
} |
} |
if (pscat=='discussvote') { |
if (pscat=='discussvote') { |
tablestart('Discussion Voting'); |
tablestart('Discussion Voting'); |
Line 1065 function draw() {
|
Line 973 function draw() {
|
choicewrite(' /> No</label><br />'); |
choicewrite(' /> No</label><br />'); |
} |
} |
if (pscat=='ip') { |
if (pscat=='ip') { |
var currallow = new Array; |
var currallow = new Array; |
var currdeny = new Array; |
var currdeny = new Array; |
if ((svalue != '') && (typeof(svalue) != 'undefined')) { |
if ((svalue != '') && (svalue != null)) { |
var patternComma = /,/; |
var patternComma = /,/; |
var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/; |
var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/; |
var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/; |
var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/; |
var current = new Array; |
var current = new Array; |
if (patternComma.test(svalue)) { |
if (patternComma.test(svalue)) { |
current = svalue.split(','); |
current = svalue.split(','); |
} else { |
} else { |
current = [svalue]; |
current = (svalue); |
} |
} |
for (var i=0; i<current.length; i++) { |
for (var i=0; i<current.length; i++) { |
if (patternDeny.test(current[i])) { |
if (patternDeny.test(current[i])) { |
Line 1084 function draw() {
|
Line 992 function draw() {
|
} else { |
} else { |
if (patternAllow.test(current[i])) { |
if (patternAllow.test(current[i])) { |
currallow.push(current[i]); |
currallow.push(current[i]); |
} |
} |
} |
} |
} |
} |
} |
} |
Line 1140 function draw() {
|
Line 1048 function draw() {
|
choicewrite('<label><input name="stringval" value="resource"'+ |
choicewrite('<label><input name="stringval" value="resource"'+ |
' type="radio" '+callradiostringeval('resource')); |
' type="radio" '+callradiostringeval('resource')); |
if (svalue=='resource') { choicewrite(' checked="checked"'); } |
if (svalue=='resource') { choicewrite(' checked="checked"'); } |
choicewrite(' /> Yes, and the scope of the slot is a single resource.</label><br />'); |
choicewrite(' /> Yes, and the scope of student selected slot is a single resource.</label><br />'); |
choicewrite('<label><input name="stringval" value="map"'+ |
choicewrite('<label><input name="stringval" value="map"'+ |
' type="radio" '+callradiostringeval('map')); |
' type="radio" '+callradiostringeval('map')); |
if (svalue=='map') { choicewrite(' checked="checked"'); } |
if (svalue=='map') { choicewrite(' checked="checked"'); } |
choicewrite(' /> Yes, and the scope of the slot is the enclosing map/folder. When checking in, it applies to only one resource.</label><br />'); |
choicewrite(' /> Yes, and the scope of student selected slot is the enclosing map/folder. When checking in, it applies to only one resource.</label><br />'); |
choicewrite('<label><input name="stringval" value="map_map"'+ |
choicewrite('<label><input name="stringval" value="map_map"'+ |
' type="radio" '+callradiostringeval('map_map')); |
' type="radio" '+callradiostringeval('map_map')); |
if (svalue=='map_map') { choicewrite(' checked="checked"'); } |
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.</label><br />'); |
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.</label><br />'); |
choicewrite('</td></tr></table>'); |
choicewrite('</td></tr></table>'); |
} |
} |
if (pscat=='deeplink') { |
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'); |
tablestart('Deep-linked items'); |
choicewrite('<tr><td>Access status?</td><td>'); |
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
choicewrite('<select name="deeplinkstate">'); |
choicewrite('<label><input name="stringval" value="full"'+ |
for (var i=0; i<deeplinkstate.length; i++) { |
' type="radio" '+callradiostringeval('full')); |
choicewrite('<option value="'+deeplinkstate[i]+'"'); |
if (svalue=='full') { choicewrite(' checked="checked"'); } |
if (deeplinkvals[0] == deeplinkstate[i]) { |
choicewrite(' /> Displayed (linked) in Contents and Grades.</label><br />'); |
choicewrite(' selected="selected"'); |
choicewrite('<label><input name="stringval" value="absent"'+ |
} |
' type="radio" '+callradiostringeval('absent')); |
choicewrite('>'+deeplinkstatetxt[i]+'</option>'); |
if (svalue=='absent') { choicewrite(' checked="checked"'); } |
} |
choicewrite(' /> Not displayed in Contents or Grades.</label><br />'); |
choicewrite('</select></td></tr>'); |
choicewrite('<label><input name="stringval" value="grades"'+ |
choicewrite('<tr><td>Hide other resources?</td><td>'); |
' type="radio" '+callradiostringeval('grades')); |
choicewrite('<select name="deeplinkothers">'); |
if (svalue=='grades') { choicewrite(' checked="checked"'); } |
for (var i=0; i<deeplinkothers.length; i++) { |
choicewrite(' /> Displayed in Grades only.</label><br />'); |
choicewrite('<option value="'+deeplinkothers[i]+'"'); |
choicewrite('<label><input name="stringval" value="details"'+ |
if (deeplinkvals[1] == deeplinkothers[i]) { |
' type="radio" '+callradiostringeval('details')); |
choicewrite(' selected="selected"'); |
if (svalue=='details') { choicewrite(' checked="checked"'); } |
} |
choicewrite(' /> Displayed (unlinked) in Contents and Grades.</label><br />'); |
choicewrite('>'+deeplinkotherstxt[i]+'</option>'); |
choicewrite('<label><input name="stringval" value="datestatus"'+ |
} |
' type="radio" '+callradiostringeval('datestatus')); |
choicewrite('</select></td></tr>'); |
if (svalue=='datestatus') { choicewrite(' checked="checked"'); } |
choicewrite('<tr><td>In Contents + Gradebook?</td><td>'); |
choicewrite(' /> Displayed (with date status) but unlinked in Contents and Grades.</label><br />'); |
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 != '') && (typeof(pextra) != 'undefined')) { |
|
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>'); |
|
choicewrite('<tr><td>Embedded?</td><td>'); |
|
choicewrite('<select name="deeplinktarget">'); |
|
for (var i=0; i<deeplinktarget.length; i++) { |
|
choicewrite('<option value="'+deeplinktarget[i]+'"'); |
|
if (deeplinkvals[6] == deeplinktarget[i]) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+deeplinktargettxt[i]+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
choicewrite('</td></tr>'); |
|
choicewrite('<tr><td>Exit Button?</td><td>'); |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkexit" value="no"'+ |
|
' type="radio" '+calldeeplink('exit')); |
|
if (deeplinkvals[7]=='no') { choicewrite(' checked="checked"'); } |
|
choicewrite(' />not in use</label></span><br />'); |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkexit" value="yes"'+ |
|
' type="radio" '+calldeeplink('exit')); |
|
if (deeplinkvals[7]=='yes') { choicewrite(' checked="checked"'); } |
|
choicewrite(' />in use, no redirect</label></span> '); |
|
choicewrite('<span style="white-space: nowrap;"><label>'); |
|
choicewrite('<input name="deeplinkexit" value="url"'+ |
|
' type="radio" '+calldeeplink('exit')); |
|
if (deeplinkvals[7]=='url') { choicewrite(' checked="checked"'); } |
|
choicewrite(' />in use, redirect to URL</label></span><br />'); |
|
choicewrite('<div id="deeplinkexitdiv" style="display:'+dlinkexitdivsty+'">'); |
|
choicewrite('<br /><span style="white-space: nowrap;">Button text: '); |
|
choicewrite('<input type="text" name="deeplinkexittext" id="deeplinkexittext" value="'+dlinkexittextval+'" size="10" />'); |
|
choicewrite('</span></div>'); |
|
choicewrite('</td></tr></table>'); |
choicewrite('</td></tr></table>'); |
} |
} |
} |
} |
|
|
if (ptype=='color') { |
if (ptype=='color') { |
Line 1472 function catchange() {
|
Line 1123 function catchange() {
|
draw(); |
draw(); |
} |
} |
|
|
|
function recursechange() { |
|
var rform=selector.document.forms.frec; |
|
var count = rform.recurse.length; |
|
if (count > 0) { |
|
for (var i=0; i<count; i++) { |
|
if (rform.recurse[i].checked) { |
|
var colnum = pnonreccol; |
|
if (rform.recurse[i].value == 1) { |
|
colnum++; |
|
} |
|
pmarker = pmarkerst+'_'+pparm+'&'+colnum; |
|
} |
|
} |
|
} |
|
} |
|
|
function assemble() { |
function assemble() { |
if ((ptype=='date') && (pscat!='interval')) { |
if ((ptype=='date') && (pscat!='interval')) { |
svalue=Math.floor(cdate.getTime()/1000); |
svalue=Math.floor(cdate.getTime()/1000); |
Line 1526 function init() {
|
Line 1193 function init() {
|
var doneproctorRegExp = /_done(|\:[^\:]+\:)_proctor/; |
var doneproctorRegExp = /_done(|\:[^\:]+\:)_proctor/; |
var proctorkeyRegExp = /^(\d+)_(.+)$/; |
var proctorkeyRegExp = /^(\d+)_(.+)$/; |
var donetextRegExp = /\:([^\:]+)\:/; |
var donetextRegExp = /\:([^\:]+)\:/; |
|
var markerRegExp = /^(.+)_([A-Za-z0-9]+)\&(\d+)$/; |
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 1553 function init() {
|
Line 1221 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]; } |
|
} |
} |
|
|
|
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; |
|
} |
|
} |
|
} |
|
|
|
|
if (ptype=='date' && pscat == 'interval') { |
if (ptype=='date' && pscat == 'interval') { |
if (doneproctorRegExp.test(pvalue)) { |
if (doneproctorRegExp.test(pvalue)) { |
var current = pvalue.match(doneproctorRegExp); |
var current = pvalue.match(doneproctorRegExp); |
Line 1581 function init() {
|
Line 1285 function init() {
|
} |
} |
} else { |
} else { |
if (doneRegExp.test(pvalue)) { |
if (doneRegExp.test(pvalue)) { |
var current = pvalue.match(doneRegExp); |
var current = pvalue.match(doneRegExp); |
if (current.length == 2) { |
if (current.length == 2) { |
var textstr = current[1]; |
var textstr = current[1]; |
if (textstr != '') { |
if (textstr != '') { |
Line 1707 function init() {
|
Line 1411 function init() {
|
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 if (pscat == 'deeplink') { sopt('deeplink','Deep-linked items'); } |
else { pscat = 'any'; } |
else { pscat = 'any'; } |
if (pscat != 'deeplink') { sopt('any','String Value'); } |
sopt('any','String Value'); |
} |
} |
|
|
if (ptype=='color') { |
if (ptype=='color') { |
Line 1716 function init() {
|
Line 1420 function init() {
|
} |
} |
|
|
selwrite('</select></form>'); |
selwrite('</select></form>'); |
|
if (ismap == 1) { |
|
if ((pparm != 'hiddenresource') && (pparm != 'encrypturl')) { |
|
selwrite('<form name="frec" action="">'); |
|
selwrite('Recursive: <label><input type="radio" name="recurse" value="1" '); |
|
if (precursive == 1) { |
|
selwrite('checked="checked" '); |
|
} |
|
selwrite('onclick="parent.recursechange();" />Yes</label> '); |
|
selwrite('<label><input type="radio" name="recurse" value="0" '); |
|
if (precursive != 1) { |
|
selwrite('checked="checked" '); |
|
} |
|
selwrite('onclick="parent.recursechange();" />No</label>'); |
|
selwrite('</form><br />'); |
|
} |
|
} |
var targ='parent.opener'; |
var targ='parent.opener'; |
if (pmodal==1) { |
if (pmodal==1) { |
targ='parent.parent'; |
targ='parent.parent'; |
} |
} |
if ((ptype=='date') && (pscat=='interval')) { |
if ((ptype=='date') && (pscat=='interval')) { |
selwrite('<a href="javascript:parent.validateInterval();'); |
selwrite('<a href="javascript:parent.validateInterval();'); |
} else if ((ptype=='string') && (pscat=='deeplink')) { |
|
selwrite('<a href="javascript:parent.validateDeepLink();'); |
|
} else { |
} else { |
selwrite('<a href="javascript:parent.assemble();'); |
selwrite('<a href="javascript:parent.assemble();'); |
} |
} |
Line 1752 function init() {
|
Line 1470 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(); |
|
|
} |
} |
|
|
// ]]> |
// ]]> |
</script> |
</script> |
</head> |
</head> |
|
|
<frameset id="LCparampopup" rows="125,*" onload="init();"> |
<frameset 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> |