version 1.71.8.1, 2021/03/08 14:27:57
|
version 1.76, 2017/07/13 15:30:01
|
Line 48 var pscat='';
|
Line 48 var pscat='';
|
var pmarker=''; |
var pmarker=''; |
var pmodal=''; |
var pmodal=''; |
var pname=''; |
var pname=''; |
|
var precursive=''; |
|
var pnonreccol=''; |
|
var pmarkerst=''; |
|
var pparm=''; |
|
|
var defhour=0; |
var defhour=0; |
var defmin=0; |
var defmin=0; |
Line 447 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 472 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 504 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()"'; |
} |
} |
Line 764 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 833 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 868 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 900 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 != '') && (svalue != null)) { |
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 919 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 975 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>'); |
} |
} |
} |
} |
Line 1025 function catchange() {
|
Line 1098 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 1079 function init() {
|
Line 1168 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 1108 function init() {
|
Line 1198 function init() {
|
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]; } |
} |
} |
|
|
|
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 1267 function init() {
|
Line 1394 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'; |
Line 1302 function init() {
|
Line 1445 function init() {
|
selwrite('</body></html>'); |
selwrite('</body></html>'); |
this.window.selector.document.close(); |
this.window.selector.document.close(); |
draw(); |
draw(); |
|
|
} |
} |
|
|
// ]]> |
// ]]> |
</script> |
</script> |
</head> |
</head> |
|
|
<frameset rows="120,*" 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> |