--- rat/client/parameter.html 2010/02/28 23:48:10 1.57 +++ rat/client/parameter.html 2019/01/06 04:02:19 1.79 @@ -5,7 +5,7 @@ The LearningOnline Network with CAPA Parameter Input Window // -// $Id: parameter.html,v 1.57 2010/02/28 23:48:10 raeburn Exp $ +// $Id: parameter.html,v 1.79 2019/01/06 04:02:19 raeburn Exp $ // // Copyright Michigan State University Board of Trustees // @@ -39,11 +39,19 @@ Parameter Input Window var ptype=''; var pvalue=''; +var pmodval=''; +var pextraval=''; +var pextravaltwo=''; var preturn=''; var pcode=''; var pscat=''; var pmarker=''; +var pmodal=''; var pname=''; +var precursive=''; +var pnonreccol=''; +var pmarkerst=''; +var pparm=''; var defhour=0; var defmin=0; @@ -70,9 +78,12 @@ function selwrite(text) { } function choicestart() { - this.window.choices.document.clear(); - choicewrite(''); + this.window.choices.document.open(); + choicewrite(''); + choicewrite(''); choicewrite(''); + choicewrite(''); + choicewrite('LON-CAPA'); choicewrite(''); choicewrite(''); + choicewrite(''); } function choiceend() { @@ -180,7 +192,7 @@ function second() { choicewrite('>'+i+''); } choicewrite(''); -} +} function date() { @@ -231,63 +243,71 @@ function month() { } choicewrite(''); } - - + + function intminute() { var thisminutes=cmins; var i; - choicewrite(''; for (i=0;i<=59;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); + result += ''; + return result; } function inthour() { var thishours=chours; var i; - choicewrite(''; for (i=0;i<=23;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); -} + result += ''; + return result; +} function intsecond() { - var thisseconds=csecs; + var thisseconds=csecs; var i; - choicewrite(''; for (i=0;i<=59;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); + result += ''; + return result; } function intday() { var thisdate=cdays; var i; - choicewrite(''; for (i=0;i<=31;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); + result += ''; + return result; } function intcalc() { @@ -296,7 +316,100 @@ function intcalc() { sform.hours.options[sform.hours.selectedIndex].value*1)*60+ sform.minutes.options[sform.minutes.selectedIndex].value*1)*60+ 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 0) { + for (var j=0; j'+ + 'Remove'; + 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'); if (ptype=='tolerance') { @@ -464,16 +679,54 @@ function draw() { tablestart('Date and time'); } if (pscat=='interval') { + var proctorkeytype = 'hidden'; + var donebuttontext = 'none'; + if (pmodval == '_done_proctor') { + proctorkeytype = 'text'; + donebuttontext = 'block'; + } + if (pmodval == '_done') { + donebuttontext = 'block'; + } tablestart('Time interval'); - choicewrite(''); - intervaldis(); - choicewrite('Time:' - +''); - intday();choicewrite('days '); - inthour();choicewrite('hours '); - intminute(); choicewrite('mins '); intsecond(); - choicewrite('secs'); - } else { + choicewrite( [ + ''+intervaldis()+'', + 'Time:', + ''+intday()+' days ', + ''+inthour()+' hours', + ''+intminute()+' mins', + ''+intsecond()+' secs', + '', + '', + '
', + ].join("\n")); + tablestart('Provide a "Done" button to students?'); + choicewrite('Value:'); + choicewrite('
'); + choicewrite('
'); + choicewrite(''+ + ''); + choicewrite(' 
'+ + '
'+ + '
'+ + 'Button text:'+ + '
'); + choicewrite(''); + } else { choicewrite('' +cdate.toString()+ 'Date:'); @@ -535,7 +788,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'); @@ -623,7 +876,7 @@ function draw() { choicewrite('
'); + choicewrite(' /> Bubblesheet Exam
'); // choicewrite('
'); - + choicewrite('
'); choicewrite('
'); } + if (pscat=='lenient') { + var patternLenientStd = /^(yes|no|default)$/; + var patternLenientRel = /^([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)$/; + var lenientweighted = 'none'; + var relatives = new Array; + tablestart('Lenient Grading (Partial Credit)'); + choicewrite('Value:'); + choicewrite('
'); + choicewrite('
'); + choicewrite('
'); + choicewrite('

'+ + '
'+ + ''+ + ''); + var lenienttypes = ['Correct (checked)','Correct (unchecked)','Incorrect (checked)','Incorrect (unchecked)']; + for (var i=0; i'+ + ''); + } + choicewrite('
Foil submission statusPoints
'+lenienttypes[i]+'
'); + } + if (pscat=='discussvote') { + tablestart('Discussion Voting'); + choicewrite('Value:'); + choicewrite('
'); + choicewrite('
'); + choicewrite('
'); + } if (pscat=='ip') { - tablestart('IP Number/Name'); - choicewrite('Value:'); - choicewrite(''); + var currallow = new Array; + var currdeny = new Array; + if ((svalue != '') && (svalue != null)) { + 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; iAllow fromDeny from'); + var acctypes = ['allow','deny']; + for (var i=0; i'+ + '
'+ + '
'); + for (var j=0; j'); + choicewrite('Remove'); + choicewrite('
'); + } + choicewrite('
'); + } + choicewrite(''); } if (pscat=='fileext') { tablestart('Allowed File Extensions'); @@ -671,8 +1030,9 @@ function draw() { ' type="radio" '+callradiostringeval('png,jpg,jpeg,gif')); if (svalue=='png,jpg,jpeg,gif') { choicewrite(' checked="checked"'); } choicewrite(' /> Picture File
'); - choicewrite('
'); 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(''); + } + if (pscat=='deeplink') { + tablestart('Deep-linked items'); + choicewrite('Value:'); + choicewrite('
'); + choicewrite('
'); + choicewrite('
'); + choicewrite('
'); + choicewrite('
'); + choicewrite(''); } } - + if (ptype=='color') { tablestart('Choose a Color'); choicewrite(''); @@ -715,7 +1100,7 @@ function draw() { colorfield(ir,ig,ib); } choicewrite(''); - } + } } choicewrite('
'); } @@ -738,6 +1123,22 @@ function catchange() { draw(); } +function recursechange() { + var rform=selector.document.forms.frec; + var count = rform.recurse.length; + if (count > 0) { + for (var i=0; i= 0 && pair[1] < 24 ) { defhour=pair[1]; } @@ -816,10 +1223,88 @@ function init() { 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 (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; 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') { @@ -836,9 +1321,12 @@ function init() { } } - this.window.selector.document.clear(); - selwrite(''); + this.window.selector.document.open(); + selwrite(''); + selwrite(''); selwrite(''); + selwrite(''); + selwrite('LON-CAPA'); selwrite(''); selwrite(''); - selwrite('
'+pname+'
'); - selwrite(''); if (ptype=='tolerance') { sopt('default','Default'); @@ -891,7 +1380,7 @@ function init() { months[10]='November'; months[11]='December'; } - + if (ptype=='int') { sopt('default','Default'); sopt('pos','Positive Integer, Not Zero'); @@ -915,9 +1404,12 @@ function init() { else if (pscat == 'problemstatus'){ sopt('problemstatus','Problem Status'); } else if (pscat == 'examtype') { sopt('examtype','Exam Type'); } else if (pscat == 'questiontype') { sopt('questiontype','Question Type'); } + else if (pscat == 'lenient') { sopt('lenient','Lenient Grading (Partial Credit)'); } + else if (pscat == 'discussvote') { sopt('discussvote','Discussion Voting'); } 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 { pscat = 'any'; } sopt('any','String Value'); } @@ -928,56 +1420,54 @@ function init() { } selwrite('
'); - - selwrite(''); + selwrite('Recursive:   '); + selwrite(''); + selwrite('
'); + } + } + var targ='parent.opener'; + if (pmodal==1) { + targ='parent.parent'; + } + if ((ptype=='date') && (pscat=='interval')) { + selwrite('
Save  '); selwrite('Delete  '); - selwrite('Cancel'); - selwrite(''); this.window.selector.document.close(); draw(); @@ -988,7 +1478,7 @@ function init() { - + 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.